@charset "UTF-8";

/* ------------------------------------------- CSS Information 
 Style Info:     ブラウザスタイルのリセット設定
----------------------------------------------------------- */  
html{overflow-y:scroll;} 
body,div,blockquote,pre,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,table,th,td,form,input,textarea,fieldset{margin: 0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}   
img,abbr,acronym,fieldset{border:none;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
hr,legend{display:none;}
object,embed{vertical-align:top;}
li{list-style:none;}

/* ------------------------------------------- CSS Information 
 Style Info:     基本設定
----------------------------------------------------------- */
/*A Style*/  
a:link{text-decoration: underline;color: #666666;}
a:visited{text-decoration: none;color: #66666;}
a:hover{text-decoration: underline;color: #999999;}
a:active{text-decoration: none;color: #66666;}
/*font*/
.b{font-weight:bold;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;}@media only screen and (max-width:640px){.big{font-size:16px;}}
.red{color:#c70003;}
.lt{text-decoration:line-through;}
/*----- image -----*/
img.pc{display:block;margin:0 auto;padding:0;width:100%;max-width:960px;}
img.sp{display:none;margin:0 auto;padding:0;width:100%;max-width:640px;}
img.img_right{float:right;padding:0 0 10px 10px;width:33.3%;max-width:300px;}
@media only screen and (max-width:640px){
img.pc{display:none;}
img.sp{display:block;}
img.img_right{float:none;padding:0 0 20px 0;width:75%;max-width:300px;margin:0 auto;display:block;}
}
/*----- br -----*/
br.pc{display:block;}
br.sp{display:none;}
@media only screen and (max-width:640px){
br.pc{display:none;}
br.sp{display:block;}
}

/* ------------------------------------------- CSS Information 
 Style Info:     セールスレター型ホームページ詳細設定
----------------------------------------------------------- */
body{  
font-family:"メイリオ",Osaka,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Arial,Sans-Serif;
color:#333333;
font-size:16px;
line-height:0;
text-align:center;
background:#ffffff;
letter-spacing:0em;
overflow:hidden;
min-width:320px;
}

/*----- overlay -----*/
#overlay{
width:260px;
display:inline-block;
position:fixed;
right:0;
bottom:20px;
z-index:10;
}
#overlay a{
display:block;
width:260px;
margin:0 0 10px 0;
}
#overlay a img.overlay_pc{width:260px;}
#overlay a img.overlay_sp{display:none;}
@media only screen and (max-width:640px){
#overlay{
width:100%;
display:block;
position:fixed;
right:0;
bottom:0;
}
#overlay a{
display:block;
width:100%;
margin:0;
border-radius:0;
background:#ffffff;
}
#overlay a img.overlay_pc{display:none;}
#overlay a img.overlay_sp{
display:block;
width:100%;
}
}


/*----- header -----*/
header{
margin:0;
width:100%;
text-align:center;
background:url(../img/header_bg.png) no-repeat center;
background-size:cover;
}

@media only screen and (max-width:640px){
header{background:none;}
}

/*----- movie -----*/
.movie{
width:100%;
max-height:566px;
margin:0;
padding:30px 3.125%;
box-sizing:border-box;
}
.movie_box{
position:relative;
width:100%;
max-width:900px;
max-height:506px;
margin:0 auto; 
padding-top:56.25%;
}
.movie_box iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
max-width:900px;
max-height:506px;
box-sizing:border-box;
}
@media only screen and (max-width:640px){.movie{padding:20px 3.125%;}}

/*----- title -----*/
.title{
width:100%;
background:url(../img/title_bg.png) no-repeat center bottom;
}


/* ------------------------------------------- CSS Information 
 Style Info:     テキスト・詳細設定
----------------------------------------------------------- */
/*----- wrapper -----*/
.wrapper{
margin:0 auto;
padding:0;
max-width:960px;
min-width:320px;
box-sizing:border-box;
}
/*-----textbox-----*/
.textbox{
margin:0 auto;
padding:60px 3.125% 30px 3.125%;
font-size:16px;
line-height:30px;
text-align:justify;
box-sizing:border-box;
}
.textbox p{
margin:0;
padding:0 0 30px 0;
}
.text_center{text-align:center;}
@media only screen and (max-width:640px){
.textbox{
padding:40px 3.125% 20px 3.125%;
font-size:14px;
line-height:20px;
}
.textbox p{
margin:0;
padding:0 0 20px 0;
}
.textbox br{display:none;}
}

/* ------------------------------------------- CSS Information 
 Style Info:     特典・詳細設定
----------------------------------------------------------- */
/*----- present -----*/
.present{
width:100%;
margin:0;
padding:0;
text-align:center;
background:url(../img/present_bg.png) repeat center top;
border-top:2px solid #b94047;
}
@media only screen and (max-width:640px){
}

/*----- program -----*/
.program{
width:100%;
margin:0;
padding:30px 0 120px 0;
text-align:center;
background:#e2e9dc url(../img/outline_bg.png) no-repeat center bottom;
}
@media only screen and (max-width:640px){.program{padding:0 0 100px 0;}}

/* ------------------------------------------- CSS Information 
 Style Info:     開催概要・詳細設定
----------------------------------------------------------- */
/*----- 全体枠 -----*/
.outline{
width:100%;
margin:0;
padding:0 0 30px 0;
text-align:center;
background:#e2e9dc url(../img/header_bg.png) no-repeat center fixed;
background-size:cover;
}
.outline_box{margin:0 3.125% 30px 3.125%;}
.outline_box dt{
width:100%;
font-size:16px;
font-weight:bold;
line-height:20px;
text-align:left;
padding:20px;
background:#3f5263;
color:#ffffff;
box-sizing:border-box;
}
.outline_box dd{
width:100%;
font-size:14px;
line-height:20px;
text-align:left;
padding:20px;
background:rgba(255,255,255,0.9);
border-left:1px solid #004831;
border-right:1px solid #004831;
box-sizing:border-box;
}
.outline_box dd:last-child{border-bottom:1px solid #004831;}
.payment{width:200px;vertical-align:middle;}
/*----- 表・共通設定 -----*/
.outline_table{
border-collapse:collapse;
width:100%;
background:#ffffff;
box-sizing:border-box;
}
.outline_table th{
border-collapse:collapse;
padding:10px;
font-size:14px;
line-height:20px;
color:#ffffff;
font-weight:bold;
background:#5b586d;
box-sizing:border-box;
}
.outline_table td{
border-collapse:collapse;
font-size:14px;
line-height:20px;
box-sizing:border-box;
vertical-align:middle;
}
@media only screen and (max-width:768px){
.outline{
padding:0;
background:#7d8a9a;
}
.outline_box{margin:0 3.125% 0 3.125%;padding:20px 0 0 0;}
.outline_box dt{
font-size:14px;
text-align:center;
padding:10px;
}
.outline_box dd{padding:20px 10px;}
.outline_table{
border-collapse:collapse;
width:100%;
background:none;
box-sizing:border-box;
}
}
/*----- 表・開催日程 -----*/
.schedule{}
.schedule th{
text-align:center;
border-right:solid 1px #ffffff;
}
.schedule th.last{border-right:solid 1px #5b586d;}
.schedule td{border:solid 1px #5b586d;padding:5px;}
.schedule td.day{}
.schedule td.place{}
.schedule td.capacity{
color:#cb091b;
font-weight:bold;
text-align:center;
}
.schedule td.apply{
width:260px;
line-height:0;
text-align:center;
}
.schedule td.apply img{width:240px;}
@media only screen and (max-width:768px){
.schedule{margin:0 0 20px 0;}
.schedule th{display:none;}
.schedule td{
display:block;
width:100%;
text-align:center;
border:none;
}
.schedule td.day{padding:0;}
.schedule td.place{padding:0;}
.schedule td.capacity{
width:120px;
margin:10px auto;
padding:5px 0;
border:1px solid #cb091b;
color:#cb091b;
font-weight:bold;
text-align:center;
}
.schedule td.apply{
width:100%;
margin:0 0 20px 0;
padding:0 0 20px 0;
border-bottom:1px dashed #5b586d;
text-align:center;
}
.schedule td.last{
margin:0;
padding:0;
border-bottom:none;
}
}
/*----- 表・会場 -----*/
.info_place{}
.info_place th{
width:100px;
text-align:left;
border-bottom:1px solid #ffffff;
}
.info_place th.last{border-bottom:none;}
.info_place td{
padding:10px;
border-top:1px solid #5b586d;
border-right:1px solid #5b586d;
}
.gmap{
margin:0 0 20px 0;
position:relative;
padding-bottom:56.25%;
padding-top:30px;
height:0;
overflow:hidden;
border:1px solid #5b586d;
}
.gmap iframe,
.gmap object,
.gmap embed{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
@media only screen and (max-width:768px){
.info_place{}
.info_place th{
display:block;
width:100%;
box-sizing:border-box;
border-bottom:none;
}
.info_place td{
display:block;
width:100%;
padding:10px;
border-top:none;
border-left:1px solid #5b586d;
border-right:1px solid #5b586d;
box-sizing:border-box;
}
}
/*----- 表・注意事項 -----*/
.attention{}
.attention th{
width:180px;
text-align:left;
border-bottom:1px solid #ffffff;
}
.attention th.last{border-bottom:1px solid #4d9500;}
.attention td{
padding:10px;
border-top:1px solid #4d9500;
border-right:1px solid #4d9500;
}
.attention td.last{border-bottom:1px solid #4d9500;}
@media only screen and (max-width:768px){
.attention{}
.attention th{
display:block;
width:100%;
box-sizing:border-box;
border-bottom:none;
}
.attention td{
display:block;
width:100%;
padding:10px;
border-top:none;
border-left:1px solid #4d9500;
border-right:1px solid #4d9500;
box-sizing:border-box;
}
}



/* ------------------------------------------- CSS Information 
 Style Info:     お申し込みボタン・詳細設定
----------------------------------------------------------- */
.btn_box{
width:100%;
max-width:640px;
margin:0 auto;
padding:0 0 60px 0;
box-sizing:border-box;
}
.btn_box a{
display:block;
width:100%;
}
.btn_box a img{width:100%;}
@media only screen and (max-width:640px){
.btn_box{padding:20px 0 40px 0;}
}
/*----- ボタンアニメーション -----*/
.reflection_box{
margin:0 3.125%;
max-width:600px;
position:relative;
overflow:hidden;
box-sizing:border-box;
}
.reflection{
width:30px;
height:100%;
position:absolute;
top:-180px;
left:0;
background-color:rgba(255,255,255,0.8);
opacity:0;
transform:rotate(45deg);
animation:reflection 4s ease-in-out infinite;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 4s ease-in-out infinite;
-moz-transform: rotate(45deg);
-moz-animation: reflection 4s ease-in-out infinite;
-ms-transform: rotate(45deg);
-ms-animation: reflection 4s ease-in-out infinite;
-o-transform: rotate(45deg);
-o-animation: reflection 4s ease-in-out infinite;
}
@keyframes reflection {
0%{ transform: scale(0) rotate(45deg); opacity: 0; }
80%{ transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ transform: scale(4) rotate(45deg); opacity: 1; }
100%{ transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
0%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100%{ -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* ------------------------------------------- CSS Information 
 Style Info:     ブレット設定
----------------------------------------------------------- */
/*----- bullet -----*/
.bullet{
width:100%;
margin:0;
padding:0;
text-align:center;
background:#eeeeee;
}

/* ------------------------------------------- CSS Information 
 Style Info:     ボイス設定
----------------------------------------------------------- */
/*----- voice -----*/
.voice{
width:100%;
margin:0;
padding:0;
text-align:center;
background:#eeeeee;
}

/* ------------------------------------------- CSS Information 
 Style Info:     体験版設定
----------------------------------------------------------- */
/*----- fannel -----*/
.fannel{
width:100%;
margin:0;
padding:0;
text-align:center;
background: url(../img/fannel_bg.png) no-repeat center top fixed;
background-size:cover;
border-top:2px solid #3f5263;
}
@media only screen and (max-width:640px){
}


/* ------------------------------------------- CSS Information 
 Style Info:     LINE設定
----------------------------------------------------------- */
/*----- line -----*/
.line{
width:100%;
margin:0;
padding:0 0 60px 0;
text-align:center;
background:#e6f3ef url(../img/line_bg.png) no-repeat center top fixed;
background-size:cover;
border-top:2px solid #407665;
border-bottom:2px solid #407665;
}
.btn_line{display:none;}
@media only screen and (max-width:640px){
.line{padding:0 0 40px 0;}
.btn_line{
display:block;
width:75%;
margin:0 auto;
}
.btn_line a img{
display:block;
width:100%;
}
}

/* ------------------------------------------- CSS Information 
 Style Info:     プロフィール設定
----------------------------------------------------------- */
.profile{
width:100%;
max-width:960px;
margin:0 auto;
padding:60px 0 0 0;
background:#ffffff;
}
.profile_box{
width:100%;
margin:0;
padding:0 3.125%;
box-sizing:border-box;
}
.title_profile{
margin:0 0 30px 0;
text-align:left;
background:url(../img/title_profile_bg.png) repeat-x center left;
}
.title_profile img{height:30px;}
.profile_img{display:none;}
.profile_name{
display:block;
height:45px;
margin:0;
padding:0;
}
.profile_text{
margin:0;
padding:20px 32% 40px 0;
text-align:justify;
font-size:14px;
line-height:20px;
box-sizing:border-box;
background:url(../img/profile_img.png) no-repeat top right;
background-size:30% auto;
}
.profile_text p,.profile_text ul{
margin:0;
padding:0 0 20px 0;
}
.profile_book{
display:block;
width:100%;
margin:0;
padding:0;
}
@media only screen and (max-width:640px){
.profile{padding:40px 0 0 0;}
.profile_box{}
.title_profile{margin:0 0 20px 0;}
.title_profile img{height:20px;}
.profile_img{
display:block;
width:240px;
margin:0 auto;
padding:0;
}
.profile_name{height:30px;}
.profile_text{
margin:0;
padding:20px 0 0 0;
background:none;
}
.profile_text br{display:none;}
.profile_book{
display:block;
margin:0 auto;
}
}

/* ------------------------------------------- CSS Information 
 Style Info:     フッター設定
----------------------------------------------------------- */
footer{
margin:0;
padding:40px 0;
width:100%;
background:#2b2b2b;
color:#ffffff;
}
#fnav a{color:#ffffff;text-decoration:none;}
#fnav a:hover{color:#ffffff;text-decoration:underline;}
#fnav{margin:0 0 20px 0;}
#fnav ul{list-style-type:none;}
#fnav li{
font-size:12px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #cccccc;
}
#fnav li:last-child{border-right:none;}
address{
text-align:center;
font-size:12px;
line-height:20px;
padding:0;
}
@media only screen and (max-width:767px){
footer{padding:40px 0 120px 0;}
#fnav{margin:0 0 40px 0;}
#fnav li{
display:block;
border-right:0;
margin:0 0 20px 0;
}
.sp_no{display:none;}
}