@charset "utf-8";
/* CSS Document */
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}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}

html{-webkit-text-size-adjust: 100%; height:100%;}
body{color:#000;font:12px/1.231 "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;*font-size:small;*font:x-small}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}
input,select{vertical-align:middle;}
input[type="button"],input[type="submit"] {-webkit-appearance: none; }

p{ margin-bottom:1em;}
ol{ list-style: none;}
img{ vertical-align:middle;}

a{ color:#009acb;}

.alignleft{ text-align:left;}
.alignright{ text-align:right;}
.aligncenter{ text-align:center;}
/*
.fleft 			{ float: left;	margin: 0 20px 20px 0;}
.fright 			{ float: right;	margin: 0 0 20px 20px;}
*/
.fright { display:block; text-align:center; margin: 0 auto;}
.clr{ clear:both;}

.inner{ width:640px; margin:0 auto; position:relative; text-align:center;}

/*-----------------------------------------
head
-----------------------------------------*/
body { background:url(../img/sp_bg.jpg) repeat-y center top #000; max-width:100%; height:100%; position:relative;}

/* top */
header{text-align:center; width:100%; height:260px; position:relative; background:#000;}
header h1{ position: absolute;top:70px; left:50%; right:50%; bottom:50%; margin-left:-160px; margin-top:0px; z-index:9999;padding-top:150px; width:320px; background:url(../img/sp_title.png) no-repeat center bottom; background-size:contain; text-indent: 100%; white-space: nowrap; overflow: hidden;}
ul#rotation { margin:0; padding:0; position:relative; list-style:none;}
ul#rotation li { margin:0; padding:0; position:absolute; top:0; left:0; display: block; margin: 0 auto; width:100%; height:260px; opacity:0.75;}
ul#rotation li.a1{ background:url(../img/sp_main_image01.jpg) center top; background-size: cover;}
ul#rotation li.a2{ background:url(../img/sp_main_image02.jpg) center top; background-size: cover;}
ul#rotation li.a3{ background:url(../img/sp_main_image03.jpg) center top; background-size: cover;}
ul#rotation li.a4{ background:url(../img/sp_main_image04.jpg) center top; background-size: cover;}
h1.title{ clear:both;position:relative; height:300px;}
h1.title img{ position: absolute; left:50%; margin-left:-950px;}

.cont{ position:relative; margin-top:-90px;}
.body{ position:relative;}

nav{width:100%;max-width:100%; height:120px; position: absolute; background:url(../img/menu_arch_over.png) no-repeat center bottom ;position:absolute;top:200px;z-index:10000; background-size:100% 80px;}
.fixed { position: fixed; top: -60px; z-index:10000;}
.fixed2 { position: fixed; top: -200px; z-index:1000;}

nav ul{width:100%; margin:0 auto; top:61px; position:relative;}
nav ul li{ display:inline-block; margin:0; height:39px; line-height:39px; padding: 0 10px;}
nav ul li a{ line-height:39px; text-align:center; font-size:17px; text-decoration:none; color:#000;}
nav ul li a img{ width:60px; width: 30px;}
nav ul li.menu{ width:120px; background:#fff; position:absolute; display:none; right:0; color:#000; opacity:1; border-bottom: 1px solid #eee;}
nav ul li.menubt-show:after{  content:" MENU"}
nav ul li.menubt-close:after{  content:" CLOSE"}
nav .fa-twitter{font-size:22px; font-size:22px;position:relative; top:2px;}
nav .fa-twitter:after{ content:" tweet"; font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif; font-size:17px; position:relative; top:-2px;}
nav .fa-twitter:hover{ color:#55acee;}
nav .fa-facebook-square{  font-size:22px; font-size:22px;position:relative; top:2px;}
nav .fa-facebook-square:after{ content:" share"; font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif; font-size:17px; position:relative; top:-2px;}
nav .fa-facebook-square:hover{ color:#4862a3;}
nav ul li:first-child { margin:0; border:0;}
nav ul li:first-child a:hover{ border:0; border-color:#fff;}
nav ul li:nth-child(3){ top:38px;}
nav ul li:nth-child(4){ top:78px;}
nav ul li:nth-child(5){ top:118px;}
nav ul li:nth-child(6){ top:158px;}
nav ul li:nth-child(7){ top:198px;}
nav ul li:nth-child(8){ top:238px;}
nav ul li:last-child{ border-radius: 0 0 0 5px;}
nav ul li.menubt{ position:absolute; top:1px; right:0; cursor:pointer;}
nav ul li,
nav ul li a{-moz-transition: 0.3s;-webkit-transition: 0.3s;-o-transition: 0.3s;transition: 0.3s;}
.fb_iframe_widget{ top:-10px;}
#twitter-widget-0{ margin-top:10px;}


/* 本文 */
.cont{position: relative; top:90px;}
.page{ top:150px;}
h2.title{ text-indent: 100%; white-space: nowrap; overflow: hidden; height:140px; z-index:900;}
h2#about{ background:url(../img/sp_tit_about.jpg) center bottom no-repeat;background-size:auto 100px; }
h2#regular{ background:url(../img/sp_tit_regular-v2.jpg) center bottom no-repeat;background-size:auto 100px;}
h2#group{ background:url(../img/sp_tit_group.jpg) center bottom no-repeat;background-size:auto 100px; }

.body { color:#fff;margin: 0 15px; padding-top:20px;position:relative; z-index:1500;}
.body h1{ font-size:24px; margin-bottom:1em; font-weight:normal; letter-spacing:1px; clear:both;}
.body h3{ font-size:18px; margin-bottom:1em; font-weight:bold; letter-spacing:1px; clear:both;}
.body h4{ font-size:18px; margin-bottom:1em; font-weight:normal; letter-spacing:1px;}
.body h5{ font-size:16px; margin-bottom:1em; font-weight:normal;}
.body p{ font-size:12px; line-height:1.7; overflow:hidden;}
.body ul,
.body p{ margin-bottom:30px;}
.body span{ font-size:12px; line-height:2;}
.body p img{ max-width:320px; margin-bottom:10px;}
.body a{ color:#009acb;}
.body a:hover{ text-decoration:none; color:#2fbeec;}
/*.body a[target="_blank"]{ background:url(../img/ic_window.gif) no-repeat right center; padding-right:20px;}*/
.body a i{ margin-right:5px;}

/*
.body .left{ width:475px; margin-right:25px; float:left; margin-bottom:45px;}
.body .right{ width:475px; margin-left:25px; float:right; margin-bottom:45px;}
*/

.body .list_c{ list-style:outside disc; padding-left:1.5em; font-size:12px;}
.body .list_c li{ margin-bottom:10px; line-height:1.6;}
.body .list_n{ list-style:outside decimal; padding-left:1.8em; font-size:12px;}
.body .list_n li{ margin-bottom:10px; line-height:1.6;}
.body .box{ border:1px solid #999; padding:15px 20px; margin-bottom:30px;}
.body ul.box{ padding-left:40px;}
.body .box2{ border:1px solid #999; padding:30px; margin-bottom:30px;}

.body .mitaka{ display: block; width:280px; margin: 0 auto; border:1px solid #009acb; padding: 10px 0; text-align:center; margin-top:10px;}
.body .mitaka:hover{ border:1px solid #2fbeec;}

.body .pamphlet{ margin:0 auto 30px; width:280px; text-align:center;}
.body .pamphlet a{ display:block; border:1px solid #009acb; padding: 15px;}
.body .pamphlet a:hover{ border:1px solid #2fbeec;}
.body .pamphlet img{margin-left:5px; width:70px;}

.body table{ border-collapse:collapse; border:1px solid #fff; margin-bottom:30px; width:100%;}
.body table th,
.body table td{ border-bottom:1px solid #fff; padding: 15px;vertical-align:middle; font-size:12px; text-align:center; display:block;}
.body table h4{ font-size:18px; margin-bottom:10px; line-height:1.2;}
.body table p{ font-size:12px; margin-bottom:0; line-height:1.6;}
.body table img{ display:block; margin: 0 auto 10px;}
.body table td{line-height:1.5;}
.body table td.content{ text-align:left; width:auto}
/*.body table td a{ display:inline-block; width:120px;border-bottom:2px solid #00607e; background:#009acb; text-align:center; line-height:50px; color:#fff; text-decoration:none; font-size:12px;}*/
.body table td a{ display:inline-block; width:80%;border-bottom:2px solid #00607e; background:#009acb; text-align:center; line-height:50px; color:#fff; text-decoration:none; font-size:12px;}

.body table td a:hover{ background: #2fbeec; color:#fff;}
.body table td a:active{ position:relative; top:0px; border:0; margin-top:2px;}
.body table td span{ display:inline-block; width:120px; height:50px; background:#666; text-align:center; line-height:50px; color:#fff; text-decoration:none; font-size:12px;}
.body table.moushikomi th,
.body table.moushikomi td{ text-align:left; width:auto;}
.body table.moushikomi th{ color:#fff; font-weight:normal; background-color:rgba(155,155,155,.5)}
.body .schedule_table{  border:0;}
.body .schedule_table tr{ border-bottom:1px solid #fff; }
.body .schedule_table tr:last-child{ border:0;}
.body .schedule_table td{ border-bottom:1px solid #fff; position: relative; top:1px;}
.body .schedule_table thead{ display:none;}
.body .schedule_table tbody{ display:block; border:1px solid #fff; margin-bottom:30px;}
.body .schedule_table tbody .content{ position:relative; padding-bottom:50px;}
/*.body .schedule_table tbody .content:after{ content:"受付開始日"; padding:0px; position:absolute; bottom:0; left:0; width:49%; text-align:center; border-top:1px solid #fff; padding: 5px 0; border-right:1px dashed #666; padding:5px 0;}
.body .schedule_table tbody .content:before{ content:"参加予約/開催日時"; padding:0px; position:absolute; bottom:0; right:0; width:50%; text-align:center; border-top:1px solid #fff; padding: 5px; 0}
.body .schedule_table .date{ width:49%; display:inline-block; height:60px; line-height:60px; border-right:1px dashed #666; padding:5px 0;}
.body .schedule_table .application{ width:49%; display:inline-block; height:60px; line-height:60px;text-align:center; padding:5px 0;}*/
.body .schedule_table .date{ width:100%; display:block; height:60px; line-height:60px;  padding:5px 0; position:relative; padding: 60px 0; border-bottom: none;}

.body .schedule_table tbody .date:before{ content:"受付開始日"; position:absolute; top:0; right:0; width:100%; text-align:center; padding: 0; height: 60px;}
.body .schedule_table tbody .date:after{ content:"開催日時/参加予約"; position:absolute; bottom:0; right:0; width:100%; text-align:center; padding: 0; height: 60px; border-top: 1px dashed #999; }

.body .schedule_table .application{ width:100%; display:block;  line-height:70px;text-align:center; padding:5px 0;}
.body table td.application h4,
.body table td.application p {margin: 10px;}
.body table td span.start { background-color: #7e7e7e; color: #fff; width:80%;}
.body table td span.end { background-color: #5e5e5e; color: #fff; width:80%;}

/* ステップ表示 */
#step_bar_box { text-align: center; overflow: hidden; margin-bottom: 30px; font-size:12px;}
.step_bar { list-style: none;}
.step_bar li { line-height: 46px; color: #333; text-decoration: none; padding: 0 10px 0 30px; background: #eee; display: inline-block;}
.step_bar li::after { position: relative; display: block; margin-top: -25px; margin-left: auto; margin-right: -25px; height: 22px; width: 20px; content: " "; -webkit-transform: skew(-30deg); -moz-transform: skew(-30deg); -ms-transform: skew(-30deg); -o-transform: skew(-30deg); transform: skew(-30deg); background: #eee; border-right: 1px solid #000;} 
.step_bar li::before { float: right; display: block; margin-bottom: -25px; margin-left: auto; margin-right: -25px; height: 21px; width: 20px; content: " "; -webkit-transform: skew(30deg); -moz-transform: skew(30deg); -ms-transform: skew(30deg); -o-transform: skew(30deg);transform: skew(30deg);background: #eee;border-right: 1px solid #000;}
.step_bar li:first-child {padding-left: 20px; -webkit-border-radius: 5px 0 0 5px; -moz-border-radius: 5px 0 0 5px; -ms-border-radius: 5px 0 0 5px; -o-border-radius: 5px 0 0 5px; border-radius: 5px 0 0 5px;}
.step_bar li:last-child { padding-left: 35px; padding-right: 30px; -webkit-border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; -ms-border-radius: 0 5px 5px 0; -o-border-radius: 0 5px 5px 0; border-radius: 0 5px 5px 0;} 
.step_bar li:last-child::before { border: 0; background: transparent !important;}
.step_bar li:last-child::after { border: 0; background: transparent !important;}
.step_bar li.current { background: #009acb; color: #fff;} 
.step_bar li.current::before { background: #009acb;}
.step_bar li.current::after { background: #009acb;} 
.step_bar li.current:last-child { margin-right: 0px;}
.step_bar li.current:last-child::before { border: 0; background: transparent !important;}
.step_bar li.current:last-child::after { border: 0; background: transparent !important;}

.body form table { margin-bottom:30px;}
.body form table th,
.body form table td{ text-align:left;}
.body form table th{ background-color:rgba(155,155,155,.5); font-weight:normal;}
.body form table th span{ color:#f33; font-size:80%; margin-left:5px;}
.body form table input[type=text],
.body form table select{ padding:5px; font-size:12px; max-width:250px;}
.body form input[type=submit]{ width:280px;}
.body form .submit_area{ text-align:center; margin-bottom:45px;}
.body form .submit_area input{font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ"; cursor:pointer; background:#009acb; color:#fff; display:inline-block; height:60px; line-height:60px; font-size:16px; border:0; margin-bottom:20px; border-bottom:2px solid #00607e; outline:0;}
.body form .submit_area input:hover{ background: #2fbeec;}
.body form .submit_area input:active{ position:relative; top:0; border:0; height:58px; margin-top:2px;}
.body form .submit_area input:disabled{ background:#999; border-bottom-color:#666;}
.body form .submit_area input[name=back]{font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ"; cursor:pointer; background:#666; color:#fff; display:inline-block; height:60px; line-height:60px; font-size:14px; border:0; margin-bottom:20px; border-bottom:2px solid #222;}
.body form .submit_area input[name=back]:hover{ background: #999;}
.body form .submit_area input[name=back]:active{ position:relative; top:0; border:0; height:58px; margin-top:2px;}
.body form li+li{ margin:5px 0;}
.body form table ol li input[type=text]{ max-width:120px;}
.body form table select[name=age],
.body form table select[name=MEMBER]{}
.body form table select[name=age]+p,
.body form table select[name=MEMBER]+p{text-align:left;font-size:10px; margin-top: 5px; position:relative; overflow:visible;}

.body .bt{ text-align:center; clear:both; margin-bottom:40px;}
.body .bt a{ display:inline-block;background:#009acb; font-size:18px; text-decoration:none; border-bottom:2px solid #00607e; line-height:2; padding: 10px 0; width:280px; color:#fff;}
.body .bt a:hover{ background:#2fbeec;}
.body .bt a:active{ position:relative; top:2px; border:0; margin-top:2px;}

footer{ margin: 0 10px; padding-bottom:30px; /*background:url(../img/footer_bg.png) no-repeat bottom center;*/ clear:both; font-size:12px; text-align:center; color:#fff;}
footer h4{font-size:18px; margin-bottom:20px; padding-top:50px; font-weight:normal;}
footer p{ margin-bottom:40px; line-height:1.6;}
footer .copy{ font-size:10px; color:#666;}


/* フォームのエラー */
.error_msg { color:#f33; } 
.body table .each_error{ font-size:12px; color:#f33 ; background: none; display:inline; width:auto; height:auto; text-align:left; line-height:1; text-decoration:none; }