@charset "utf-8";

/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
*{ margin:0; padding:0; box-sizing:border-box; }
select option{ padding:0 5px; }
body{ color:#333; background: url(../images/top_image.jpg) center top no-repeat,#ac9c56 ; font:18px helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif; line-height:1.8; text-align:center; min-width:1144px; _display: inline;_zoom:1; }
h1 , h2 , h3 , h4 , h5 , h6 , address{ font-style:normal; font-weight:normal; font-size:100%; }
ul{ list-style-type:none; }
img{ border:0; vertical-align:bottom; }

table{ border-spacing:0; border:0; }
table th{ text-align:left; vertical-align:middle; font-weight:normal; }
table td{ word-break:break-all; }

.floatR{ float:right; }
.floatL{ float:left; }

.alignL{ text-align:left; }
.alignR{ text-align:right; }
.alignC{ text-align:center; }

.rel{ position:relative; }
.abs{ position:absolute; }


/* clearfix **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.cf:after{ content:" "; display:block; clear:both; }


/* link **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
a:link , a:visited{ color:#014374; text-decoration:underline; }
a:hover{ color:#fa7319; text-decoration:underline; }


/* font decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* size */
.fontSS{ font-size:12px; }
.fontS{ font-size:14px; }
.fontSL{ font-size:20px; }
.fontL{ font-size:22px; }
.fontLL{ font-size:30px; }

/* color */
.txt-red{ color:#ec462a; font-weight:bold; }
.txt-blue{ color:#068edd; font-weight:bold; }
.txt-brown{ color:#3e3922; font-weight:bold; }
.txt-orange{ color:#af7955; font-weight:bold; }
.txt-yellow{ color:#afa355; font-weight:bold; }
.txt-green{ color:#75c08e; font-weight:bold; }
.txt-purple{ color:#a08bc0; font-weight:bold; }

/*indent */
.idt , ul.assist li , .system li{ padding-left:1.0em; text-indent:-1.0em; }
.idt-half{ padding-left:0.5em; text-indent:-0.5em; }
.idtpc{ padding-left:1.0em; text-indent:-1.0em; }

/*other */
.str{ font-weight:bold; }
.str-reset{ font-weight:normal; }

.underline{ text-decoration:underline; }
.underline-double{ border-bottom:double medium; }
.underline-red{ border-bottom:solid 2px #a12c2e; }
.underline-blue{ border-bottom:solid 2px #345d8c; }

.waveline{ background:url(../images/wave_line.png) repeat-x left bottom; padding-bottom:7px; }
.waveline-red{ background:url(../images/wave_line_red.png) repeat-x left bottom; padding-bottom:7px; }
.waveline-blue{ background:url(../images/wave_line_blue.png) repeat-x left bottom; padding-bottom:7px; }

.marker-yelow{background-color:#f3ebb6; }
.marker-blue{background-color:#b1c3df; }


/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* padding */
.spt0{ padding-top:0px !important; }
.spt5{ padding-top:5px !important; }
.spt10{ padding-top:10px !important; }
.spt15{ padding-top:15px !important; }
.spt20{ padding-top:20px !important; }
.spt25{ padding-top:25px !important; }
.spt30{ padding-top:30px !important; }
.spt35{ padding-top:35px !important; }
.spt40{ padding-top:40px !important; }
.spt45{ padding-top:45px !important; }
.spt50{ padding-top:50px !important; }
.spt55{ padding-top:55px !important; }
.spt60{ padding-top:60px !important; }
.spt65{ padding-top:65px !important; }

.spb0{ padding-bottom:0px !important; }
.spb5{ padding-bottom:5px !important; }
.spb10{ padding-bottom:10px !important; }
.spb15{ padding-bottom:15px !important; }
.spb20{ padding-bottom:20px !important; }
.spb25{ padding-bottom:25px !important; }
.spb30{ padding-bottom:30px !important; }
.spb35{ padding-bottom:35px !important; }

/* margin */
.smt0{ margin-top:0px !important; }
.smt5{ margin-top:5px !important; }
.smt10{ margin-top:10px !important; }
.smt15{ margin-top:15px !important; }
.smt20{ margin-top:20px !important; }
.smt25{ margin-top:25px !important; }
.smt30{ margin-top:30px !important; }
.smt35{ margin-top:35px !important; }
.smt40{ margin-top:40px !important; }
.smt45{ margin-top:45px !important; }
.smt50{ margin-top:50px !important; }
.smt55{ margin-top:55px !important; }
.smt60{ margin-top:60px !important; }
.smt80{ margin-top:-80px !important; }
.smt90{ margin-top:90px !important; }
.smt-200{ margin-top:-200px !important; }
.smt-120{ margin-top:-120px !important; }
.smt-110{ margin-top:-110px !important; }
.smt-20{ margin-top:-20px !important; }
.smt-40{ margin-top:-40px !important; }
.smt-50{ margin-top:-50px !important; }
.smt-70{ margin-top:-70px !important; }


.smb0{ margin-bottom:0px !important; }
.smb5{ margin-bottom:5px !important; }
.smb10{ margin-bottom:10px !important; }
.smb15{ margin-bottom:15px !important; }
.smb20{ margin-bottom:20px !important; }
.smb21{ margin-bottom:21px !important; }
.smb25{ margin-bottom:25px !important; }
.smb30{ margin-bottom:30px !important; }
.smb35{ margin-bottom:35px !important; }
.smb40{ margin-bottom:40px !important; }
.smb45{ margin-bottom:45px !important; }
.smb50{ margin-bottom:50px !important; }
.smb70{ margin-bottom:70px !important; }
.smb-20{ margin-bottom:-20px !important; }

.sml0{ margin-left:0px !important; }
.sml5{ margin-left:5px !important; }
.sml10{ margin-left:10px !important; }
.sml15{ margin-left:15px !important; }
.sml20{ margin-left:20px !important; }
.sml30{ margin-left:30px !important; }
.sml50{ margin-left:50px !important; }

.smr0{ margin-right:0px !important; }
.smr10{ margin-right:10px !important; }
.smr20{ margin-right:20px !important; }
.smr30{ margin-right:30px !important; }
.smr50{ margin-right:50px !important; }
.smr80{ margin-right:80px !important; }

/* paragraph */
p{ margin:0 60px 30px; }
p.lh-reset{ line-height:1.0; }

/* original frame */
.box{ margin:0 25px; }
.kiyakuminibox{ border: solid 1px #bfbfbf; padding:15px; font-size:9pt; }


/* favorite decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.shadow{ box-shadow:0px 0px 8px rgba(0,0,0,0.4); }
.shadow-y{ box-shadow:0px 0px 8px rgba(255,233,122,0.4); }

table{ width:calc(90%); width:-webkit-calc(95%); border-collapse:separate; border-spacing:1px; background-color:#cdcdcd; line-height:2; font-size:14px; }
/*↑width:calc(100% - boxクラスの左右のmargin); */
table th , table td{ border:1px solid #fff; padding:5px 10px; }
table th{ font-weight:bold; background-color:#cdcdcd; width:22%; vertical-align:middle; box-shadow:inset 0px 0px 10px 0 #dbd8cc; }
table td{ background-color:#fff; box-shadow:inset 0px 0px 10px 0 #dbd8cc; }
table ol{ margin-left:20px; }

ul.assist{ font-size:12px; padding:15px 25px 12px; line-height:1.6; border:solid 1px #cdcdcd; }

.system{ font-size:14px; }

.rule{ background-color:#f6f6f6; padding:20px 30px; border-radius:3px; border:solid 1px #cdcdcd; font-size:14px; line-height:1.6; text-align:left; margin: 0 40px;}
.rule2{ background-color:#fffee8; padding:20px 30px; border-radius:3px; border:solid 1px #cdcdcd; font-size:14px; line-height:1.6; text-align:left; margin: 0 40px;}


/* responsive  **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:block; }
.sp-item{ display:none; }

[class^="pic"]{ float:right; margin:0 50px 20px 20px; }
.inner [class^="pic"]{ float:right; margin:0 0 20px 20px; }

.inner{ padding:0px; background-color:#fff; }
.inner p{ margin:0 10px 10px 10px; }
/*.inner p:last-child{ margin:0; }*/


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:1050px; margin:0 auto; text-align:left; position:relative; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/

/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
div.timer{width: 510px;height: 105px;margin: 50px auto 10px;position: relative; left:80px;}
div.timer .count{ width:100%; height:37px;/*数字の高さ*/ overflow:hidden; position:absolute; top:38px; right: 100px;}
div.timer .count img{ position:absolute; }
div.timer img:nth-child(1)  {left:calc(22px * 0 + 40px);}/*数字の横幅 + 配置*/
div.timer img:nth-child(2)  { left:calc(22px * 1 + 40px); }
div.timer img:nth-child(3)  { left:calc(22px * 2 + 140px); }
div.timer img:nth-child(4)  { left:calc(22px * 3 + 140px); }
div.timer img:nth-child(5)  { left:calc(22px * 4 + 240px); }
div.timer img:nth-child(6)  { left:calc(22px * 5 + 240px); }
div.timer img:nth-child(7)  { left:calc(22px * 6 + 315px); }
div.timer img:nth-child(8)  { left:calc(22px * 7 + 315px); }
div.timer img:nth-child(9)  { left:calc(22px * 8 + 350px); }
div.timer img:nth-child(10){ left:calc(22px * 9 + 350px); }
div.timer img:nth-child(even){ margin-left:8px; } /*数字の間隔*/

/* timerがテキストの時は以下設定等で見た目を整える */
input.timer , .timer input{ font-size:30px; background-color:transparent; border:none; width:500px }

/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.topform{padding:15px 20px 15px; text-align:center; background:#e7e2d2; }
.mailform{padding:5px 20px 25px; text-align:center; }
.mailform ul{ text-align:center; width:600px; margin: 0 auto; }
.mailform ul li{ margin:5px 0 20px; }
.mailform ul li span,.mailform ul li input{ }
.mailform ul li span{ width:400px; padding-top:7px; }
.mailform ul li input{ width:calc(100% - 140px); width:-webkit-calc(100% - 140px); height:40px; padding:4px; box-shadow:0 0 8px #e2e2e2; font-size:18px; margin-top: 5px;}
.mailform .txt {font-size:14px; line-height:150%; margin-top: 5px; color:#464643; } 
.mailform .txt .spbr{display:none; }

.contents .form{padding:15px 20px 15px; text-align:center; background:#ece9e0; border:double 4px #fff; }

.entry img{ box-shadow:0 1px 8px rgba(0,0,0,0.2); }

.pre-book.pc-item {position: relative; top: -1px; margin-top: -100px;}
.pre-book.sp-item.w100 {position: relative; top: -10px; margin-top: -70px;}
/* top **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* catch */
.top .wrap{ width: 1010px;}
.wraptxt{ width:1160px; margin:0 auto; text-align:left; }

/* list-flex , list-display */
[class^="list-"]{
/*↑セレクタ名の前方一致*/
    padding:40px 0;
    background:-webkit-linear-gradient(#2b3135,#384045,#2b3135);
    background:-o-linear-gradient(#2b3135,#384045,#2b3135);
    background:linear-gradient(#2b3135,#384045,#2b3135);
}

.list-flex ul{ display:flex; display:-webkit-flex; flex-wrap:wrap; -webkit-flex-wrap:wrap; width:1000px; margin:0 auto; }
/*↑横並びは float の代わりに flex を使ってもいいかも。flex-wrap:wrap; → スマホサイズで横に並ぶ数を変える場合は必要*/
.list-flex ul li{ width:calc(100% / 4 - 15px); width:-webkit-calc(100% / 4 - 15px); margin-right:20px; }
/*↑width:calc(ウィンドウ幅 / 4分割 - liの横幅と画像の横幅との差分);　差分 = 1000px / 4 - 235px(1つの画像の横幅)*/
.list-flex ul li:nth-of-type(4){ margin-right:0; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents{ padding-bottom:30px; background:url("../images/content_base.png")repeat-y top center; }
.contents p{text-align:left;}
.contents .alignC{text-align:center;}
.sbt{background:url("../images/section_bg.png")no-repeat top center;margin: 0 auto 45px;}

.micro{background:url("../images/micro_bg.png")repeat top center; border: solid 2px #fff; box-shadow:0 0 20px 0px rgba(171,155,111,0.4),0 0 30px 9px rgba(91,132,163,0.2)inset; margin:10px 40px 25px; position:relative; padding:40px 0px 10px;}

.section5 .tokusbt .tit{position:absolute; top:-20px; left:2px }
.section5 .tokusbt{background:url("../images/toku_bg.png")repeat top center; border: solid 1px #fff; box-shadow:0 0 10px 0px rgba(58,58,58,0.2),0 0 30px 0px rgba(243,131,80,0.8)inset; margin: 0 auto 25px; position:relative; padding:10px 138px;}
.section5 .toku{border: 4px solid transparent;background-image: linear-gradient(#ffffff, #ebe4c0); background-origin: border-box; margin:0 30px 30px; box-shadow:0 0 20px 0px rgba(58,58,58,0.3);}
.section5 .tokuin{background:#fce9d5; padding:25px 0 1px; position: relative; box-shadow:0 0 40px 10px rgba(255,255,255,0.9)inset; }
.section5 .tokuin .txt{margin-top:25px;}
.section5 .toku .bg1{background:url(../images/sec4_img1.png) right top no-repeat;}

.program .tit{position:absolute; top:-40px; left:-30px; }
.program{border: 3px solid transparent;background-image: linear-gradient(#ffffff, #ebe4c0); background-origin: border-box; margin:0 40px 60px; box-shadow:0 0 20px 0px rgba(58,58,58,0.1);}
.programin{background:linear-gradient(#f2efb4, #f8f6d0); padding:120px 0 40px; position: relative; box-shadow:0 0 30px 9px rgba(229,214,132,0.7)inset; border: solid 1px #ac9c56; }
.programin .txt{margin-top:25px;}
.program .programin .mon1{background:#f0f7ff; box-shadow:0 0 20px 0px rgba(171,155,111,0.4),0 0 30px 9px rgba(91,132,163,0.15)inset; margin: 20px 35px; padding:20px 10px 10px;}
.program .programin .mon2{background:#fff7d4; box-shadow:0 0 20px 0px rgba(171,155,111,0.4),0 0 30px 9px rgba(177,141,22,0.15)inset; margin: 20px 35px; padding:20px 10px 10px;}
.program .programin .mon3{background:#fff4f4; box-shadow:0 0 20px 0px rgba(171,155,111,0.4),0 0 30px 9px rgba(223,94,94,0.15)inset; margin: 20px 35px; padding:20px 10px 10px;}
.program .programin ul {list-style:none; }
.program .programin .mon1 .mon1list{border:solid 1px #86b5e6; background: #fff; box-shadow:0 0 20px 9px rgba(249,241,187,0.3)inset; margin: 20px 35px; padding:20px 30px; }
.program .programin .mon1 .mon1list li{background-image: url(../images/check1.png);background-repeat: no-repeat;background-position: left 2px;line-height: 30px;padding-left: 27px; color:#1e5690; margin-top:3px;}
.program .programin .mon2 .mon2list{border:solid 1px #e5b00c; background: #fff; box-shadow:0 0 20px 9px rgba(249,241,187,0.3)inset; margin: 20px 35px; padding:20px 30px; }
.program .programin .mon2 .mon2list li{background-image: url(../images/check2.png);background-repeat: no-repeat;background-position: left 2px;line-height: 30px;padding-left: 27px;color:#bd7105; margin-top:3px;}
.program .programin .mon3 .mon3list{border:solid 1px #f0afaf; background: #fff; box-shadow:0 0 20px 9px rgba(249,241,187,0.3)inset; margin: 20px 35px; padding:20px 30px; }
.program .programin .mon3 .mon3list li{background-image: url(../images/check3.png);background-repeat: no-repeat;background-position: left 2px;line-height: 30px;padding-left: 27px;color:#c32f2f; margin-top:3px;}

.program table{ width:90%; margin: 0 auto;}
.program table th{ width:40%; }
.program table td{ width:30%; }
.program table th , .program table td{ padding:5px 15px; }
.program table th{ color:#333; padding:5px 20px; }
.program table tr:not(:first-child) th , .program table tr:not(:first-child) td{ border-top:none; }
.program table tr:first-child th , .program table tr:first-child td{ background:#fff; }
.program table td{ padding:5px 10px; border-left:none; text-align:center; }
.program table tr .real{background:#847222 !important; color: #fff !important; line-height:1.5; padding:10px 0; }
.program table tr .online{background:#1c3a6e !important; color: #fff !important; line-height:1.5; padding:10px 0; }

.program .sche table th:nth-child(1){ width:30%; }
.program .sche table th:nth-child(2){ width:40%; }
.program .sche table td{ width:20%; }

.present .tit{position:absolute; top:-70px; left:-30px; }
.present{border: 3px solid transparent;background-image: linear-gradient(#ffffff, #ebe4c0); background-origin: border-box; margin:80px 40px 60px; box-shadow:0 0 20px 0px rgba(58,58,58,0.1);}
.presentin{background:linear-gradient(#fff, #fffce6); padding:130px 0 40px; position: relative; box-shadow:0 0 40px 5px rgba(154,193,240,0.5)inset; border: solid 1px #ac9c56; }
.presentin .txt{margin-top:25px;}

.section7 .presbt .tit{position:absolute; top:-80px; left:2px }
.section7 .presbt{background-image: linear-gradient(#fffcf0, #f8e8bb); border: solid 1px #fff; box-shadow:-2px 0 18px 0px rgba(131,81,82,0.5); margin: 25px auto 25px; position:relative; padding:24px 154px;}
.section7 .pre{border: 4px solid transparent;background-image: linear-gradient(#ffffff, #ebe4c0); background-origin: border-box; margin:0 10px 50px; box-shadow:0 0 20px 0px rgba(58,58,58,0.1); }
.section7 .prein{background:#e7b6b7; padding:25px 0 40px; position: relative; box-shadow:0 0 40px 9px rgba(161,103,104,0.3)inset; }
.section7 .prein .txt{margin-top:35px; }
.section7 .pre .bg1{background:url(../images/sec7_img1.png) right top no-repeat;}
.section7 .pre .bg2{background:url(../images/sec7_img2.png) right top no-repeat;}
.section7 .pre .bg3{background:url(../images/sec7_img3.png) right top no-repeat;}
.section7 .pre .bg4{background:url(../images/sec7_img4.png) right top no-repeat;}


.section2 .mes2{font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight:500;}
.section2 .mes2 .str{font-weight:900;}
.section11 .mes2{font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight:500;}
.section11 .mes2 .str{font-weight:900;}

.pro{border: 4px solid transparent;background-image: linear-gradient(#ffffff, #ebe4c0); background-origin: border-box; margin:0 20px 30px; box-shadow:0 0 20px 0px rgba(58,58,58,0.1);}
.proin{background-image: linear-gradient(#2a4067, #4a6685); padding:1px 0 10px; position: relative; box-shadow:0 0 20px 2px rgba(29,51,75,0.3)inset; }
.proin .txt{margin-top:25px; color: #fff; }

.mes {background:url(../images/mes_bg.png) repeat top; border: solid 1px #fff; box-shadow: 0px 0px 10px 0px rgba(204, 193, 112, 0.5), 0px 0px 100px 0px rgba(204, 193, 112, 0.5)inset; padding: 50px 0px 20px; margin:0 20px 30px; font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight:500;}

.pro .txt-red{ color:#f3a3a4; font-weight:bold; }
.pro .txt-y{ color:#f1e69b; font-weight:bold; }

.atn{line-height:1.4; }


.sectionkiyaku .wrap{padding:0 20px;}

.bgbox {background-color: rgba(255,255,255,0.4); box-shadow: 0px 0px 10px 5px rgba(247, 245, 198,0.2);padding:25px 2px 1px; margin:15px 40px 30px; line-height:160%;}  

.section10 .bgbox {background-color: rgba(255,255,255,0.4); box-shadow: 0px 0px 10px 5px rgba(172, 156, 82,0.3);padding:25px 0px 1px; margin:15px 40px 30px; line-height:160%; background: #f9f5e3;} 

.mon1bg{background:url(../images/map_sbt1_img.png) right top no-repeat; padding-bottom:20px;}
.mon2bg{background:url(../images/map_sbt2_img.png) right top no-repeat; padding-bottom:20px;}
.mon3bg{background:url(../images/map_sbt3_img.png) right top no-repeat; padding-bottom:20px;}

.section1 .bg1{background:url(../images/sec1_img1.png) right center no-repeat; padding-bottom:20px;}
.section2-1 .bg1{background:url(../images/sec2-1_img1.png) right top no-repeat; padding-bottom:20px;}
.section2-1 .bg2{background:url(../images/sec2-1_img2.png) right top no-repeat; padding-bottom:20px;}
.section2 .bg1{background:url(../images/sec2_img1.png) right top no-repeat; }
.section3 .bg1{background:url(../images/sec3_img1.png) right center no-repeat; padding-bottom:20px;}
.section4 .bg1{background:url(../images/sec4_img1.png) right center no-repeat; padding-bottom:20px;}
.section4 .bg2{background:url(../images/sec4_img2.png) right center no-repeat; padding-bottom:20px;}

.section5 .tokubg1{background:url(../images/toku_img1.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg2{background:url(../images/toku_img2.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg3{background:url(../images/toku_img3.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg4{background:url(../images/toku_img4.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg5{background:url(../images/toku_img5.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg6{background:url(../images/toku_img6.png) right bottom no-repeat; padding-bottom:20px;}

.section6 .prebg1{background:url(../images/pre_img1.png) right bottom no-repeat; padding-bottom:20px;}
.section6 .prebg2{background:url(../images/pre_img2.png) right top no-repeat; padding-bottom:20px;}

.section7 .bg1{background:url(../images/sec7_img1.png) right top no-repeat; padding-bottom:20px;}
.section11 .bg1{background:url(../images/sec11_img1.png) right top no-repeat; padding-bottom:20px;}


.movie {
     width: 60%;
     margin: 0 auto;
}
.movie__inner {
     position: relative;
     padding-bottom: calc(315 / 560 * 100%);
}
.movie__iframe {
     position: absolute;
     top: 0;
     right: 0;
     width: 100%;
     height: 100%;
}

/* sbt */
[class^="sbt-"]{ margin-bottom:20px; }
.sbt-long{
    height:260px;
    background:url(../images/sbt_long_bg.jpg) center no-repeat,-webkit-linear-gradient(#010a29,#042e6b,#010a29);
    background:url(../images/sbt_long_bg.jpg) center no-repeat,-o-linear-gradient(#010a29,#042e6b,#010a29);
    background:url(../images/sbt_long_bg.jpg) center no-repeat,linear-gradient(#010a29,#042e6b,#010a29);
}
.sbt-long span{ display:block; position:relative; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

/* movie */
.movie-large,.movie-short li{ padding:3px; background:linear-gradient(#ebe4bf, #948e73); box-shadow: 0px 5px 10px 0px rgba(47, 45, 42, 0.5) }

.movie-large{ width:740px; height:auto; margin:0 auto; }
.movie-large .frame{ position:relative; top:0; left:0; width:100%; padding-top:56.25%; }
.movie-large video{ position:absolute; top:0; left:0; width:100%; height:100%; }
/*↑ウィンドウサイズに合わせて縦横比固定で縮小させる　padding-top:56.25%;(高さ÷横幅×100) → 16:9のサイズ(9÷16×100=56.25)*/

.movie-short{ width:980px; margin:0 auto; }
.movie-short li{ width:316px; float:left; margin-right:15px; }
.movie-short li:last-child{ margin-right:0; }
.movie-short li .frame{ position:relative; top:0; left:0; width:100%; padding-top:56.25%; }
.movie-short li video{ position:absolute; top:0; left:0; width:100%; height:100%; }
.movie-short li .txt{ text-align:center; color:#147db9;  font-weight:bold; font-size:13px; margin-top:12px; line-height: 150%;}
.movie-short li span{ display:block; padding:10px 5px; background-color:#7383b8; text-align:center; }


/* half-box */
.half-box{ display:flex; display:-webkit-flex; flex-wrap:wrap; -webkit-flex-wrap:wrap; width:900px; margin:0 auto; }
.half-box .half{ width:calc(100% / 2 - 10px); width:-webkit-calc(100% / 2 - 10px); margin-right:20px; padding:6px; background:#082d68 url(../images/bg_slash.png); }
.half-box .half:nth-child(even){ margin-right:0; }
/*↑nth-child(even) 偶数番目 */
.half-box .half .tit{ margin-bottom:5px; }

/* qa */
.qa{ padding:10px; background-color:#6feaff; border:solid 1px #fff; box-shadow:0 0 20px rgba(244,222,92,0.5)inset; margin: 0 30px 15px; }
.qa dt{ padding:12px 10px 17px 52px; background:url(../images/q.png) 9px 2px no-repeat; }
.qa dd{ padding:15px 10px 12px 52px; background:#fff url(../images/a.png) 13px 12px no-repeat; border:solid 1px #d2ff57; }

.qrbase .qr{float:left; margin-left:50px; margin-bottom: 30px; }
.qrbase .qr .url{font-size: 14px; line-height: 130%; padding-top: 10px; text-align: left; }

.price_table{ width:90%; margin: 0 auto; }
.price_table th , .price_table td{ padding:10px; font-size:14pt; }
.price_table th{ color:#fff; padding:10px 20px; }
.price_table tr:not(:first-child) th , .price_table tr:not(:first-child) td{ border-top:none; }
.price_table tr:first-child th , .price_table tr:first-child td{ background:#eee; }
.price_table td{ padding:5px 10px; border-left:none; text-align:center; }
.price_table .corce { color:#333; }
.price_table .corces { background:#ba274b; box-shadow:inset 0px 0px 15px 0 #8d782c; }
.price_table .corcer { background:#ac8843; box-shadow:inset 0px 0px 15px 0 #8d782c; }

/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer{ color:#fff; background-color:#333; padding:10px 10px 20px; text-align:center; }
.footer a{ color:#fff; font-size:12px; }


/* ★★★ タブレット ★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 768px){
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:100%; background: url(../images/top_image_sp.jpg) center top no-repeat; background-size:100% auto; font-size: 14px; }
.fontL{ font-size:18px; }
.fontLL{ font-size:22px; }


/* space **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* paragraph */
p{ margin:0 20px 25px; }

/* original frame */
.box{ margin:0; }


/* favorite decoration **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.card img{ max-width:366px; width:100%; height:auto; }

table{ width:100%; }
table th , table td{ display:block; }
table th{ width:100%; }


/* responsive **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.pc-item{ display:none; }
.sp-item{ display:block; }

[class^="pic"],.inner [class^="pic"]{ float:none; margin:0 auto 20px; }

.inner{ padding:0px; text-align:center; }
.inner p{ text-align:left; }

.w100 img{ width:100%; height:auto; }
.w95 img{ width:95%; height:auto; }
.w90 img{ width:90%; height:auto; }
.w80 img{ width:80%; height:auto; }
.w70 img{ width:70%; height:auto; }
.w60 img{ width:60%; height:auto; }
.mw95 img{ max-width:95%; height:auto; }
p img{ max-width:520px; height:auto; }
	
.bgbox {;padding:25px 2px 1px; margin:15px 15px 20px; line-height:160%;} 
	
.idtpc{ padding-left:0em; text-indent:0em; }


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:calc(100% - 0px); -webkit-width:calc(100% - 0px); margin:0 0px; }
/*↑width:calc(ウィンドウ幅 - 左右に空けたい余白の合計値);*/


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.headersp{ height:100px; float:none;  }


/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.form{padding:15px 0px 15px; text-align:center; background:#e2ddca; }
.mailform{ width:100%; padding:0px 10px 20px; margin: 18px auto 0; }
.mailform ul{ margin:0 auto; width:100%; margin-bottom: 10px; }
.mailform ul li span{ width:50px; padding-top:4px; }
.mailform ul li input{ width:calc(100%); width:-webkit-calc(100%); }
.mailform input.btn{ width:100%; height:auto; }
.mailform .txt{font-size:14px; line-height: 130%; margin-top: 5px;}
.mailform .txt .spbr{display:block;}
	
/* top **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* catch */
.top .catch{ margin:0; }
.top .wrap{ background-color:#000000; }


/* list-flex , list-display */
[class^="list-"]{ padding:20px 0; }
[class^="list-"] .wrap{ text-align:center; }

.list-flex ul{ width:100%; }
.list-flex ul li img{ max-width:235px; width:100%; height:auto; }

.list-display img{ max-width:520px; width:100%; height:auto; }
	
	
/* movie */
.movie-large{ width:95%; margin-top:10px; }
	
.movie-short{ width:95%;}
.movie-short li{ width:100%; float:none; margin:0 auto 15px; }
.movie-short li:last-child{ margin:0 auto; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents{ background:url(../images/bg.png); margin-top:0px; z-index:-2;}
/*.opa{background-color: rgba(255,255,255,0.6);padding: 30px 0 1px; margin: -25px 0; }*/
	
.title .sp-item{margin-bottom:15px;}
	
.micro{margin:20px 15px 25px; position:relative; padding:40px 10px 10px; z-index:1;}
	
.section5 .toku	{margin:0 15px 20px;}
.section5 .tokusbt{margin: 0 auto 25px; position:block; padding:5px;}
.section5 .tokuin{ padding:10px 5px 1px; }
.section5 .toku .bg1{background:url(../images/toku_img1_sp.png) right top no-repeat;}
	
.program .tit{position:absolute; top:-30px; left:0px; right:0px; }
.program{margin:0 15px 60px; }
.programin{padding:120px 0 10px; }
.program .programin .mon1{margin: 10px 10px; padding:10px 0px 10px;}
.program .programin .mon2{margin: 10px 10px; padding:10px 0px 10px;}
.program .programin .mon3{margin: 10px 10px; padding:10px 0px 10px;}
.program .programin ul {list-style:none; }
.program .programin .mon1 .mon1list{margin: 20px 10px; padding:20px 15px; }
.program .programin .mon1 .mon1list li{margin-top:5px; line-height:1.6;}
.program .programin .mon2 .mon2list{margin: 20px 10px; padding:20px 15px; }
.program .programin .mon2 .mon2list li{margin-top:5px; line-height:1.6;}
.program .programin .mon3 .mon3list{margin: 20px 10px; padding:20px 15px; }
.program .programin .mon3 .mon3list li {margin-top:5px; line-height:1.6;}
	
.present .tit{position:absolute; top:-50px; left:0px; right:0px; }
.present{margin:0 15px 60px; }
.presentin{padding:70px 0 10px; }

.program table th , .program table td{ display:block; width:100%; text-align:center; }
.program table tr:first-child{ display:none; }
.program table tr:not(:nth-child(2)) th{ margin-top:0px; }
.program table th{ border-top:solid 1px #c0ccd3 !important; }
.program table td{ border-left:solid 1px #c0ccd3; padding:10px; }

.program table .realin:before{ display:block; content:attr(course); background:#f8f3de; margin-bottom:10px; }
.program table .onlinein:before{ display:block; content:attr(course); background:#e1eaf8; margin-bottom:10px; }
.program table .name{ background:#f0fbff; padding:4px 10px 10px; }
	
.program .sche table th:nth-child(1){ width:100%; }
.program .sche table th:nth-child(2){ width:100%; }
.program .sche table td{ width:100%; }

.section10 .bgbox {background-color: rgba(255,255,255,0.4); box-shadow: 0px 0px 10px 5px rgba(172, 156, 82,0.3);padding:25px 0px 1px; margin:15px 15px 30px; line-height:160%; background: #f9f5e3;} 
	
.mon1bg{background:url(../images/map_sbt1_img_sp.png) right center no-repeat; padding-bottom:20px;}
.mon2bg{background:url(../images/map_sbt2_img_sp.png) right center no-repeat; padding-bottom:20px;}
.mon3bg{background:url(../images/map_sbt3_img_sp.png) right center no-repeat; padding-bottom:20px;}

.section1 .bg1{background:url(../images/sec1_img1_sp.png) right center no-repeat; padding-bottom:20px;}
.section2-1 .bg1{background:url(../images/sec2-1_img1_sp.png) right top no-repeat; padding-bottom:20px;}
.section2-1 .bg2{background:url(../images/sec2-1_img2_sp.png) right top no-repeat; padding-bottom:20px;}
.section2 .bg1{background:url(../images/sec2_img1_sp.png) right top no-repeat; }
.section3 .bg1{background:url(../images/sec3_img1_sp.png) right top no-repeat; padding-bottom:20px;}
.section4 .bg1{background:url(../images/sec4_img1_sp.png) right center no-repeat; padding-bottom:20px;}
.section4 .bg2{background:url(../images/sec4_img2_sp.png) right center no-repeat; padding-bottom:20px;}

.section5 .tokubg1{background:url(../images/toku_img1_sp.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg2{background:url(../images/toku_img2_sp.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg3{background:url(../images/toku_img3_sp.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg4{background:url(../images/toku_img4_sp.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg5{background:url(../images/toku_img5_sp.png) right bottom no-repeat; padding-bottom:20px;}
.section5 .tokubg6{background:url(../images/toku_img6_sp.png) right bottom no-repeat; padding-bottom:20px;}

.section6 .prebg1{background:url(../images/pre_img1_sp.png) right bottom no-repeat; padding-bottom:20px;}
.section6 .prebg2{background:url(../images/pre_img2_sp.png) right top no-repeat; padding-bottom:20px;}

.section7 .bg1{background:url(../images/sec7_img1_sp.png) right top no-repeat; padding-bottom:20px;}
.section11 .bg1{background:url(../images/sec11_img1_sp.png) right top no-repeat; padding-bottom:20px;}
	
.rule{ margin: 0 15px;}
.rule2{ margin: 0 15px;}
	
.pro {border: 1px solid transparent;background-image: linear-gradient(#09a8d6, #0951d6); background-origin: border-box; margin:15px;}
.pro .bg{background:none; }

.qrbase .qr{text-align: left; margin-left:60px; padding-bottom:0px; }

/* sbt */
.sbt-long{ height:120px; }
.sbt-long img{ max-width:390px; width:100%; height:auto; }
	
.mes { margin:15px;}
.mesin { padding: 50px 0px 10px; }

/* half-box */
.half-box{ width:100%; }
.half-box .half{ width:100%; margin-right:0; }
.half-box .half:not(:first-child){ margin-top:15px; }
/*↑:not(:first-child)　最初以外の要素*/
.half-box .half .tit img{ max-width:340px; width:100%; height:auto; }
.half-box .half .inner .pic{ float:right; margin:0 0 20px 20px; }


/* qa */
.qa{margin: 0 15px;}
.qa dt{ padding:10px 10px 13px 42px; background:url(../images/q.png) 11px 2px no-repeat; background-size:24px; }
.qa dd{ padding:10px 12px 10px 42px; background-size:20px; }

.price_table th , .price_table td{ display:block; width:100%; text-align:center ;border:solid 1px #c0ccd3; }
.price_table tr:first-child{ display:none; }
.price_table tr:not th{ margin-top:40px; }
.price_table th{ border-top:solid 1px #c0ccd3 !important; }
.price_table td{ border-left:solid 1px #c0ccd3; padding:10px; }
.price_table td:before{ display:block; content:attr(data-month); background:#eee; margin-bottom:10px; }
.price_table .name{ background:#f0fbff; padding:4px 10px 10px; }
	
/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
div.timer_sp{width: 331px; height:428px;margin:0px auto 80px;position: relative; padding-top:15px;}
div.timer_sp .count{ width:410px; height:37px;/*数字の高さ*/ overflow:hidden; position:relative; top:-32px; left:-76px; }
div.timer_sp .count img{ position:absolute; }
div.timer_sp img:nth-child(1)  {left:calc(22px * 0 + 76px);}/*数字の横幅 + 配置*/
div.timer_sp img:nth-child(2)  { left:calc(22px * 1 + 79px); }
div.timer_sp img:nth-child(3)  { left:calc(22px * 2 + 120px); }
div.timer_sp img:nth-child(4)  { left:calc(22px * 3 + 122px); }
div.timer_sp img:nth-child(5)  { left:calc(22px * 4 + 164px); }
div.timer_sp img:nth-child(6)  { left:calc(22px * 5 + 165px); }
div.timer_sp img:nth-child(7)  { left:calc(22px * 6 + 189px); }
div.timer_sp img:nth-child(8)  { left:calc(22px * 7 + 191px); }
div.timer_sp img:nth-child(9)  { left:calc(22px * 8 + 243px); }
div.timer_sp img:nth-child(10){ left:calc(22px * 9 + 258px); }
div.timer img:nth-child(even){ margin-left:8px; } /*数字の間隔*/   }

}


@media only screen and (max-width: 540px){
/* top ********** スマホサイズまで待つと小さくなり過ぎるので 540px から2分割にしている
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* list-flex , list-display */
	
[class^="list-"]{ padding:10px 0; }

.list-flex ul li{ width:calc(100% / 2 - 5px); margin-right:10px; padding:10px; background-color:#384045; }
/*↑width:calc(ウィンドウ幅 / 2分割 - margin20px分を2つで分ける);*/
.list-flex ul li:nth-of-type(2){ margin-right:0; }
.list-flex ul li img{ max-width:160px; width:100%; height:auto; }
	
.programin{padding:80px 0 10px; }
.presentin{padding:80px 0 10px; }
	
/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer .copy img{ max-width:280px; width:100%; height:auto; }
	

}


/* ★★★ スマホ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media only screen and (max-width: 414px){ /* iPhone6Plus */
/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
body{ min-width:320px; }
/*↑最小幅指定*/


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header{ height:92px; }
.header .timer{ height:62px; }
.header .timer > img{ width:315px; height:62px; }
/*↑ ".timer > img" .timerの子要素のimgに適用する。spanの中のimgは孫要素なので適用されない*/


/* form **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.mailform{ padding-top:40px; margin:0 auto; }
.mailform ul img{ height:28px; }
.mailform ul li{ margin-bottom:0; }
.mailform ul li span,.mailform ul li input{ float:none; display:block; }
.mailform ul li span{ width:100%; padding-top:0; margin-bottom:5px; }
.mailform ul li input{ width:100%; }
.mailform .txt{font-size:12px; line-height: 130%; margin-top: 5px;}
	
.pre-book.sp-item.w100 {position: relative; top: -3px; margin-top: -80px;}
/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.programin{padding:50px 0 10px; }
.presentin{padding:50px 0 10px; }

/* half-box */
.half-box .half .tit img{ max-width:260px; width:100%; height:auto; }
.half-box .half .inner .pic{ float:none; margin:0 auto 20px; }
.half-box .half .inner .pic img{ max-width:182px; width:100%; height:auto; }


/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
div.timer{ height:80px;margin: 0 auto; float:inherit;  }


/* que **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.que {background:url("../images/que_pic.png")no-repeat bottom right,#fff;width:1000px;border: solid 1px #1d4888;margin:0 auto 30px;border-radius:5px;box-shadow:0 0 30px 0 rgba(185,212,236)inset;}
.que h3{ text-align:center; margin-top:-30px; margin-bottom:30px; }

/* timer ********** タイマーが必要な場合のみ記述
///////////////////////////////////////////////////////////////////////////////////////////////*/
div.timer_sp{width: 331px; height:468px;margin: 15px auto 0px;position: relative;padding-top:0px;}
div.timer_sp .count{ width:410px; height:37px;/*数字の高さ*/ overflow:hidden; position:relative; top:-32px; left:-76px; }
div.timer_sp .count img{ position:absolute; }
div.timer_sp img:nth-child(1)  {left:calc(22px * 0 + 76px);}/*数字の横幅 + 配置*/
div.timer_sp img:nth-child(2)  { left:calc(22px * 1 + 79px); }
div.timer_sp img:nth-child(3)  { left:calc(22px * 2 + 120px); }
div.timer_sp img:nth-child(4)  { left:calc(22px * 3 + 122px); }
div.timer_sp img:nth-child(5)  { left:calc(22px * 4 + 164px); }
div.timer_sp img:nth-child(6)  { left:calc(22px * 5 + 165px); }
div.timer_sp img:nth-child(7)  { left:calc(22px * 6 + 189px); }
div.timer_sp img:nth-child(8)  { left:calc(22px * 7 + 191px); }
div.timer_sp img:nth-child(9)  { left:calc(22px * 8 + 243px); }
div.timer_sp img:nth-child(10){ left:calc(22px * 9 + 258px); }
div.timer img:nth-child(even){ margin-left:8px; } /*数字の間隔*/	
	
/* kiyaku **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.kiyaku{ font-weight: bold;background-color: #cdcdcd;vertical-align: middle;}
.kiyaku h3{ margin-bottom:20px; text-align: center; }
.kiyaku dl{ height: 650px;
    overflow: auto;
    margin: 0 auto 20px;
    border-collapse: separate;
    border-spacing: 1px;
    background-color: #cdcdcd;
    line-height: 2;
    font-size: 14px;}
.kiyaku dt {
    padding: 12px 12px 5px 70px;
    font-weight: bold;
    text-align: left;
    background-color: #cdcdcd;
    width: 22%;
	vertical-align: middle;}
.kiyaku dd {
    background:#fff url(../images/a.png) no-repeat 34px 15px;
    padding:17px 30px 20px 70px;
    border-radius:0 0 5px 5px;
    margin-bottom:15px;
    border:solid 1px #ccc;
    border-top:none;
	color: #333333;
	text-align: left;
}
.kiyaku .que{ font-size:larger; }
.kiyaku .ans{ font-size:larger; color:#e6155f; font-weight:bold; }