@charset "UTF-8";


/*--------------------------------------------------------------------
初期設定
--------------------------------------------------------------------*/


/* =============== 標準化 */

/* ------ framework */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, img, ins, kbd, q, samp, var, i, dl, dt, dd, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary,time, mark, audio, video
{margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-style:normal;}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {display:block;}
audio, canvas, video {display:inline-block;}
html {overflow-y:scroll;}
body {-webkit-text-size-adjust:100%;}

/* ------ block elements */
ul {margin:0; padding:0; list-style-type:none;}
ol {margin:0; padding:0 0 0 2em;}
p {margin:0 0 .6em;}

/* ------ inline elements */
a {outline:none; background:transparent;}
a:focus, a:active, a:hover {outline:none;}
small {font-size:80%;}
sub, sup {font-size:75%; line-height:0; position:relative; vertical-align:baseline;}
sup {top:-.5em;}
sub {bottom:-.25em;}

/* ------ form */
button, input, select, textarea {font-family:inherit; font-size:100%; margin:0;}
button, input {line-height:normal;}
button, select {text-transform:none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance:button; cursor:pointer;}
button[disabled], html input[disabled] {cursor:default;}
input[type="checkbox"], input[type="radio"] {box-sizing:border-box; padding:0;}
input[type="search"] {-webkit-appearance:textfield; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {-webkit-appearance:none;}
button::-moz-focus-inner, input::-moz-focus-inner {border:0; padding:0;}
textarea {overflow:auto; vertical-align:top;}

/* ------ table */
table {border-collapse:collapse; border-spacing:0;}
caption {text-align:left;}

/* ------ img */
img {border:0; vertical-align:bottom;}
.ie7 img {-ms-interpolation-mode:bicubic;}

/* ------ WebFont */
@font-face {
  font-family:'arrow';
  src:url('../fonts/cicle_gordita-webfont.eot');
  src:url('../fonts/cicle_gordita-webfont.eot?#iefix') format('embedded-opentype'),
      url('../fonts/cicle_gordita-webfont.woff2') format('woff2'),
      url('../fonts/cicle_gordita-webfont.woff') format('woff'),
      url('../fonts/cicle_gordita-webfont.ttf') format('truetype'),
      url('../fonts/cicle_gordita-webfont.svg#ciclegordita') format('svg');
  font-weight:normal;
  font-style:normal;
}

@font-face {
  font-family:'roboto';
  src:url('../fonts/roboto-bold.eot');
  src:url('../fonts/roboto-bold.eot?#iefix') format('embedded-opentype'),
      url('../fonts/roboto-bold.woff2') format('woff2'),
      url('../fonts/roboto-bold.woff') format('woff'),
      url('../fonts/roboto-bold.ttf') format('truetype'),
      url('../fonts/roboto-bold.svg#ciclegordita') format('svg');
  font-weight:normal;
  font-style:normal;
}

/* ------ box-sizing 
* {-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;} */



/* =============== 共通利用 */

/* ------ 配置 */
a:hover img {filter:alpha(opacity=80); opacity:.80;}
.clear {clear:both;}
.center{text-align:center;}
.textR {text-align:right;}
.floatR {float:right; margin:0 0 10px 15px;}
.floatL {float:left; margin:0 15px 10px 0;}
.spOnly {display:none;}
.inBlk {display:inline-block;}

/* ------ テキスト装飾 */
a {color:#000;}
.note {font-size:85%; line-height:1.5; margin:.6em 0 1em; color:#555;}
.bold {font-weight:bold;}
.it {font-style:italic;}
.em1 {font-size:108%;}
.em2 {font-size:116%;}
.sml {font-size:85%;}
.sml2 {font-size:93%;}
.red {color:#e36;}
.nowrap {white-space:nowrap;}

/* ------ スペース */
.top03 {margin-top:.3em!important;}
.top06 {margin-top:.6em!important;}
.top1 {margin-top:1em!important;}
.top15 {margin-top:1.5em!important;}
.top2 {margin-top:2em!important;}
.top20 {margin-top:20px!important;}
.top25 {margin-top:25px!important;}
.top30 {margin-top:30px!important;}
.top35 {margin-top:35px!important;}
.top40 {margin-top:40px!important;}
.top50 {margin-top:50px!important;}
.top60 {margin-top:60px!important;}
.top70 {margin-top:70px!important;}
.top80 {margin-top:80px!important;}
.btm03 {margin-bottom:.3em!important;}
.btm06 {margin-bottom:.6em!important;}
.btm1 {margin-bottom:1em!important;}
.btm15 {margin-bottom:1.5em!important;}
.btm2 {margin-bottom:2em!important;}
.btm20 {margin-bottom:20px!important;}
.btm25 {margin-bottom:25px!important;}
.btm30 {margin-bottom:30px!important;}
.btm35 {margin-bottom:35px!important;}
.btm40 {margin-bottom:40px!important;}
.btm50 {margin-bottom:50px!important;}
.btm60 {margin-bottom:60px!important;}
.btm70 {margin-bottom:70px!important;}
.btm80 {margin-bottom:80px!important;}
.v03 {margin-top:.3em!important; margin-bottom:.3em!important;}
.v06 {margin-top:.6em!important; margin-bottom:.6em!important;}
.v1 {margin-top:1em!important; margin-bottom:1em!important;}
.v15 {margin-top:1.5em!important; margin-bottom:1.5em!important;}
.v2 {margin-top:2em!important; margin-bottom:2em!important;}
.v20 {margin-top:20px!important; margin-bottom:20px!important;}
.v25 {margin-top:25px!important; margin-bottom:25px!important;}
.v30 {margin-top:30px!important; margin-bottom:30px!important;}
.v35 {margin-top:35px!important; margin-bottom:35px!important;}
.v40 {margin-top:40px!important; margin-bottom:40px!important;}
.v50 {margin-top:50px!important; margin-bottom:50px!important;}
.v60 {margin-top:60px!important; margin-bottom:60px!important;}
.v70 {margin-top:70px!important; margin-bottom:70px!important;}
.v80 {margin-top:80px!important; margin-bottom:80px!important;}
.first,
.top0 {margin-top:0!important;}
.btm0 {margin-bottom:0!important;}

/* ------ ul, ol, dl */
ul.disc {list-style-type:disc;}
ul.flat {padding-left:0; list-style:none;}
ul.spaced, ol.spaced, dl.spaced {margin:1em 0;}
.spaced li {margin:.6em 0;}
.spaced dt {margin-top:1.2em;}
.spaced dt:first-child {margin-top:0;} 
.spaced dd {margin-top:.6em;}
ul.semiSpaced, ol.semiSpaced, dl.semiSpaced {margin:.6em 0;}
.semiSpaced li {margin:.3em 0;}
.semiSpaced dt {margin:.6em 0 .3em;}
.col2, .col3, .col4 {overflow:hidden; zoom:1; padding-left:0; list-style-type:none;}
.col2 li {width:50%; float:left;}
.col3 li {width:33.3%; float:left;}
.col4 li {width:25%; float:left;}
.col5 li {width:20%; float:left;}

/* ------ table.bordered */
.bordered {margin-top:.6em; margin-bottom:.6em;}
.bordered th, .bordered td {padding:.4em .4em; border:1px #bbb solid; line-height:1.4; vertical-align:middle;}
.bordered th {background:#f5f5f5; background:rgba(0,0,0,.04); text-align:center; font-weight:normal;}
.bordered td {background:#fff;}
.bordered .thead th, .bordered .thead td {border-bottom:3px #bbb double;}
.bordered .thead th {background:#e0e0e0; background:rgba(0,0,0,.12);}
.bordered .noDouble {border-bottom:1px #bbb solid!important;}
.full {width:100%;}
.almostFull {width:98%; margin-left:1%; margin-right:1%;}
.tdCenter td {text-align:center;}
.nw2 *:nth-child(2) {white-space:nowrap;}
.nw3 *:nth-child(3) {white-space:nowrap;}
.nw4 *:nth-child(4) {white-space:nowrap;}

/* ------ .tableLike */
.tableLike {margin:1.5em 0; overflow:hidden; zoom:1;}
.tableLike dt {clear:left; width:25%; float:left; padding:.3em 0; border-top:1px #bbb dotted; font-weight:bold;}
.tableLike dd {width:75%; float:left; padding:.3em 0; border-top:1px #bbb dotted;}
.tableLike dt:first-child,
.tableLike dt:first-child + dd {border-top:0;}


/* ///// スマホ対応 ///// */ 
@media screen and (min-width:601px) {
  .pcW50 {width:50%;}
  .pcW60 {width:60%;}
  .pcW70 {width:70%;}
  .pcW80 {width:80%;}
  .pcW90 {width:90%;}
}

@media screen and (max-width:600px) {
  img {max-width:100%; height:auto;}
  .spHide {display:none;}
  .spBlk {display:block;}
  .spInBlk {display:inline-block;}

  .bordered th, .bordered td {padding:.4em;}
}



/*--------------------------------------------------------------------
基本レイアウト
--------------------------------------------------------------------*/


/* =============== 全体 */

body {font:14px/1.5 'Lucida Grande','Hiragino Kaku Gothic ProN',Meiryo,sans-serif; *font-size:small; *font:x-small;}
h1, h2, h3, h4, h5, h6 {font-family:'Lucida Grande','游ゴシック体','Yu Gothic',YuGothic,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;}
.content {margin:0 auto; padding:0 12px; zoom:1; position:relative;}
.content:after {content:""; display:block; clear:both;}


/* =============== ヘッダ */

header {background:#ACD49F;}
header ul {padding:0; list-style-type:none;}
header a {color:#fff; text-decoration:none;}
header h1 {line-height:1.2; padding:.4em 0;}
header h1 span {font-size:160%;}


/* =============== メイン */

#main {background:#fff; position:relative; left:0; transition:all .3s;}

.descOpen #main {left:calc(25px - 100%);}
h2 {position:relative; padding:10px 12px 10px 60px; background:#7be; line-height:1.3; color:#fff; font-size:150%;}
h2.-noPad {padding-left:12px;}
h2 b {display:inline-block; width:30px; height:1.3em; position:absolute; left:10px; top:.4em; border-radius:50%; background:#fff; color:#7be; text-align:center;}
h2 span {display:inline-block; font-size:70%;}
h2 font {display:inline-block; margin-top:.2em; line-height:1.1; font-size:93%; color:#457;}
.desc h2 font {color:#fff; font-size:85%;}
h3 {margin:2em 0 .6em; padding-top:8px; border-top:1px #bbb dotted; font-size:123.1%;}
h3[id] {position:relative; border-top:4px #df2e35 solid; line-height:1.3;}
.content > h3 {margin-bottom:0; padding:10px 40px 10px 28px;}
h3 b {display:inline-block; width:1.3em; height:1.3em; position:absolute; left:0; top:10px; line-height:1.3; border-radius:50%; background:#DF2E35; color:#fff; text-align:center;}
h3 span {display:inline-block;}
h3 font {display:inline-block; font-size:85%; color:#d33;}
.course ~ .course ~ h3 font {color:#1e2d94;}
.map {background:#D5ECFB; text-align:center;}
.map span {position:relative; display:inline-block; border:12px #D5ECFB solid; background:#fff;}
/* クリッカブルマップ設定用グリッド */ 
.map[show-grid="1"] span:after {content:""; display:block; width:100%; height:100%; position:absolute; top:0; left:0; background:url(../../images/grid.png) no-repeat 0 0; background-size:100% 100%;}
.map img {width:800px; max-width:100%;}
.map:is(#courseR5, #courseR6) img {width:1000px;}
.map a {position:absolute; display:block; white-space:nowrap; border:3px #06f solid; border-radius:50% 50%; background:rgba(0,160,240,.15); text-align:center; line-height:40px; letter-spacing:-.7em; text-decoration:none; font-size:10px; color:transparent; opacity:.6;/* animation:blink .8s ease-in-out infinite alternate;*/}
/*@keyframes blink{
  0% {opacity:.25;}
  100% {opacity:.75;}
}*/
.map a:after {display:block; position:absolute; border:3px #06f solid; background:rgba(0,160,240,.15);}
@media print {
  .map a {overflow:hidden; text-indent:100%; text-align:left;}
}

#main h2 b {width:2em; border-radius:.65em; white-space:nowrap;}
#main .calorie {overflow:hidden; zoom:1; margin-bottom:15px; background:#fff;}
.calorie * {transition:all .3s;}
#main .calorie > p {float:right; position:relative; width:160px; padding:.3em .6em; border-radius:0 0 0 3px; background:#48d; color:#fff; font-size:93%; cursor:pointer;}
#main .calorie > p:after {content:""; display:block; width:6px; height:6px; border:#fff solid; border-width:2px 2px 0 0; transform:rotate(135deg); position:absolute; right:10px; top:50%; margin-top:-5px; transition:all .3s;}
#main .calorie ul {clear:both; overflow:hidden; max-height:0; color:#fff;}
#main .calorie li {display:block; width:auto; text-align:left; padding:10px;}
#main .calorie li + li {margin-top:0;}
.calorie span {display:inline-block;}
.calorie img {width:60px; float:right; margin:0 0 10px 10px;}
#main .calorie.on {background:#48d;}
#main .calorie.on > p {width:100%; box-sizing:border-box; margin-bottom:0;}
#main .calorie.on > p:after {transform:rotate(-45deg);}
#main .calorie.on ul {max-height:200px;}

@media screen and (min-width:581px){
  #main .calorie > p {width:200px; padding:.7em 1.2em; font-size:100%; font-weight:bold;}
}

#main .content {max-width:900px; margin:0 auto;}
#main .map + .content {margin-top:50px;}
a.more {display:inline-block; position:absolute; right:0; top:calc(50% - 4px); transform:translate(0,-45%); margin:.2em 0 0 .4em; padding:0 .3em; background:#444; line-height:16px;}
a.more:before {content:"more"; font-size:11px; text-decoration:none!important; color:#fff;}
a.more:after {content:""; display:inline-block; width:6px; height:6px; border:#fff solid; border-width:2px 2px 0 0; transform:rotate(45deg);}
.more a {position:relative; display:inline-block; margin-top:25px; padding:.6em 2em .65em 1em; border-radius:3px; background:#DF2E35; box-shadow:0 -2px 0 rgba(0,0,0,.2) inset; text-decoration:none; color:#fff; text-align:center; line-height:1.33;}
.more a:after {content:""; display:inline-block; width:5px; height:5px; border:#fff solid; border-width:2px 2px 0 0; transform:rotate(45deg); position:absolute; right:.8em; top:50%; margin-top:-3px;}
.more + h3,
.endsWithMore + h3 {margin-top:15px;}

#courseA a[href="#01"] {top:65%; left:36%; width:16%; height:32%;}
#courseA a[href="#02"] {top:55%; left:47%; width:23%; height:18%; transform:rotate(25deg);}
#courseA a[href="#03"] {top:38%; left:58%; width:20%; height:17%;}
#courseA a[href="#04"] {top:9%; left:53%; width:35%; height:20%; transform:rotate(-30deg);}
#courseA a[href="#05"] {top:2%; left:39%; width:13%; height:38%; transform:rotate(25deg);}
#courseA a[href="#06"] {top:30%; left:27%; width:10%; height:22%; transform:rotate(20deg);}
#courseA a[href="#07"] {top:2%; left:21%; width:12%; height:29%;}
#courseA a[href="#08"] {top:16%; left:4%; width:17%; height:15%; transform:rotate(35deg);}
#courseA a[href="#09"] {top:48%; left:2%; width:18%; height:18%;}
#courseA a[href="#10"] {top:80%; left:8%; width:22%; height:14%; transform:rotate(-15deg);}

#courseB a[href="#01"] {top:41%; left:34%; width:15%; height:42%; transform:rotate(-50deg);}
#courseB a[href="#02"] {top:26%; left:44%; width:12%; height:22%; transform:rotate(-20deg);}
#courseB a[href="#03"] {top:32%; left:57%; width:12%; height:23%; transform:rotate(25deg);}
#courseB a[href="#04"] {top:56%; left:57%; width:13%; height:26%; transform:rotate(25deg);}
#courseB a[href="#05"] {top:49%; left:71%; width:8%; height:20%; transform:rotate(15deg);}
#courseB a[href="#06"] {top:63%; left:75%; width:14%; height:28%; transform:rotate(0deg);}
#courseB a[href="#07"] {top:22%; left:76%; width:14%; height:21%;}
#courseB a[href="#08"] {top:0%; left:61%; width:17%; height:25%;}
#courseB a[href="#09"] {top:0%; left:41%; width:16%; height:17%;}
#courseB a[href="#10"] {top:22%; left:6%; width:18%; height:34%;}
#courseB a[href="#11"] {top:68%; left:12%; width:25%; height:28%;}

#courseB2 a[href="#01"] {top:38%; left:32%; width:15%; height:42%; transform:rotate(-50deg);}
#courseB2 a[href="#02"] {top:24%; left:44%; width:12%; height:22%; transform:rotate(-20deg);}
#courseB2 a[href="#03"] {top:43%; left:53%; width:9%; height:23%; transform:rotate(32deg);}
#courseB2 a[href="#04"] {top:50%; left:62%; width:23%; height:8%; transform:rotate(-5deg);}
#courseB2 a[href="#05"] {top:58%; left:60%; width:10%; height:24%; transform:rotate(28deg);}
#courseB2 a[href="#06"] {top:25%; left:66%; width:10%; height:28%; transform:rotate(48deg);}
#courseB2 a[href="#07"] {top:22%; left:76%; width:14%; height:21%;}
#courseB2 a[href="#08"] {top:0%; left:41%; width:16%; height:17%;}
#courseB2 a[href="#09"] {top:22%; left:6%; width:18%; height:34%;}
#courseB2 a[href="#10"] {top:68%; left:12%; width:25%; height:28%;}

#courseC a[href="#01"] {top:60%; left:36%; width:14%; height:36%;}
#courseC a[href="#02"] {top:57%; left:47%; width:24%; height:18%; transform:rotate(25deg);}
#courseC a[href="#03"] {top:35%; left:58%; width:25%; height:20%;}
#courseC a[href="#04"] {top:6%; left:54%; width:35%; height:24%; transform:rotate(-20deg);}
#courseC a[href="#05"] {top:2%; left:34%; width:16%; height:36%;}
#courseC a[href="#06"] {top:16%; left:3%; width:19%; height:19%;}
#courseC a[href="#07"] {top:46%; left:1%; width:21%; height:23%;}

#courseD a[href="#01"] {top:70%; left:50%; width:12%; height:25%;}
#courseD a[href="#02"] {top:56%; left:71%; width:16%; height:22%;}
#courseD a[href="#03"] {top:29%; left:48%; width:14%; height:25%;}
#courseD a[href="#04"] {top:42%; left:61%; width:10%; height:28%; transform:rotate(20deg);}
#courseD a[href="#05"] {top:56%; left:46%; width:9%; height:13%;}
#courseD a[href="#06"] {top:69%; left:23%; width:20%; height:20%; transform:rotate(-20deg);}
#courseD a[href="#07"] {top:43%; left:18%; width:12%; height:25%; transform:rotate(10deg);}
#courseD a[href="#08"] {top:16%; left:6%; width:16%; height:25%;}

#courseE a[href="#01"] {top:55%; left:50%; width:40%; height:40%;}
#courseE a[href="#02"] {top:10%; left:70%; width:16%; height:35%; transform:rotate(-30deg);}
#courseE a[href="#03"] {top:19%; left:40%; width:25%; height:25%; transform:rotate(35deg);}
#courseE a[href="#04"] {top:42%; left:4%; width:15%; height:32%; transform:rotate(-30deg);}
#courseE a[href="#05"] {top:71%; left:0%; width:15%; height:16%;}
#courseE a[href="#06"] {top:66%; left:20%; width:16%; height:20%;}
#courseE a[href="#07"] {top:78%; left:34%; width:18%; height:20%;}

#courseE2 a[href="#s01"] {top:58%; left:39%; width:36%; height:33%; transform:rotate(30deg);}
#courseE2 a[href="#s02"] {top:73%; left:20%; width:23%; height:26%;}
#courseE2 a[href="#s03"] {top:71%; left:.3%; width:11%; height:25%;}
#courseE2 a[href="#s04"] {top:47%; left:7%; width:20%; height:29%; transform:rotate(-20deg);}
#courseE2 a[href="#n02"] {top:10%; left:23%; width:24%; height:22%; transform:rotate(10deg);}
#courseE2 a[href="#n03"] {top:6%; left:53%; width:35%; height:25%; transform:rotate(-10deg);}
#courseE2 a[href="#n04"] {top:37%; left:63%; width:24%; height:25%; transform:rotate(-20deg);}
#courseE2 a[href="#n05"] {top:47%; left:81%; width:15%; height:52%; transform:rotate(35deg);}

#courseF a[href="#01"] {top:45%; left:60%; width:25%; height:22%;}
#courseF a[href="#03"] {top:75%; left:2%; width:18%; height:21%;}
#courseF a[href="#04"] {top:32%; left:11%; width:15%; height:32%; transform:rotate(-30deg);}
#courseF a[href="#06"] {top:18%; left:49%; width:22%; height:22%;}

#courseR5 a[href="#01"] {top:47%; left:57%; width:32%; height:13%; rotate:0deg;}
#courseR5 a[href="#02"] {top:70.5%; left:69%; width:30%; height:16%; rotate:0deg;}
#courseR5 a[href="#03"] {top:77%; left:37.5%; width:30%; height:16%; rotate:0deg;}
#courseR5 a[href="#04"] {top:73.5%; left:18%; width:17%; height:15%; rotate:0deg;}
#courseR5 a[href="#05"] {top:57%; left:10%; width:23%; height:14%; rotate:0deg;}
#courseR5 a[href="#06"] {top:43%; left:5%; width:24%; height:13.5%; rotate:0deg;}
#courseR5 a[href="#06"]:after {content:""; display:block; width:21%; height:23%; position:absolute; left:119%; top:100%;}
#courseR5 a[href="#07"] {top:28.3%; left:6%; width:22%; height:14%; rotate:0deg;}
#courseR5 a[href="#07"]:after {content:""; display:block; width:19%; height:21%; position:absolute; left:120%; top:167%;}
#courseR5 a[href="#08"] {top:24.5%; left:36%; width:21%; height:15%; rotate:0deg;}
#courseR5 a[href="#08"]:after {content:""; display:block; width:16%; height:12%; position:absolute; right:103%; top:116%; rotate:14deg;}
#courseR5 a[href="#09"] {top:2.5%; left:35%; width:22%; height:14%; rotate:0deg;}

#courseR6 a[href="#01"] {top:46%; left:57.5%; width:32%; height:13%; rotate:0deg;}
#courseR6 a[href="#02"] {top:70%; left:70%; width:28%; height:15%; rotate:0deg;}
#courseR6 a[href="#03"] {top:86%; left:67%; width:26%; height:6%; rotate:0deg;}
#courseR6 a[href="#03"]:after {content:""; display:block; width:10%; height:30%; position:absolute; right:95%; bottom:145%;}
#courseR6 a[href="#04"] {top:93%; left:61%; width:35%; height:6%; rotate:0deg;}
#courseR6 a[href="#04"]:after {content:""; display:block; width:10%; height:45%; position:absolute; left:-6%; bottom:280%;}
#courseR6 a[href="#05"] {top:84.5%; left:36%; width:26%; height:11%; rotate:0deg;}
#courseR6 a[href="#05"]:after {content:""; display:block; width:19%; height:45%; position:absolute; left:54%; bottom:135%;}
#courseR6 a[href="#06"] {top:72.5%; left:17%; width:19%; height:14%; rotate:0deg;}
#courseR6 a[href="#07"] {top:55%; left:10%; width:23%; height:14%; rotate:0deg;}
#courseR6 a[href="#08"] {top:40%; left:5%; width:22%; height:12%; rotate:0deg;}
#courseR6 a[href="#08"]:after {content:""; display:block; width:23%; height:23%; position:absolute; left:133%; top:130%;}
#courseR6 a[href="#09"] {top:27%; left:8%; width:20%; height:12%; rotate:0deg;}
#courseR6 a[href="#09"]:after {content:""; display:block; width:19%; height:24%; position:absolute; left:126%; top:195%;}
#courseR6 a[href="#10"] {top:23.5%; left:37.5%; width:21%; height:15%; rotate:0deg;}
#courseR6 a[href="#10"]:after {content:""; display:block; width:16%; height:12%; position:absolute; right:105%; top:116%; rotate:14deg;}
#courseR6 a[href="#11"] {top:1%; left:37.5%; width:20%; height:11%; rotate:0deg;}

#main li {display:table; width:100%;}
#main li + li {margin-top:12px; padding-top:12px; border-top:1px #bbb dotted;}
#main li > div {vertical-align:top;}
#main li > div:first-child {display:table-cell; width:30%; max-width:200px; min-width:100px;}
#main li > div:first-child img {width:100%;}
#main li > div + div {display:table-cell; padding-left:10px;}
#main li > div + div p {overflow:hidden; zoom:1; margin-bottom:0;}
#main li > div + div p + p {margin-top:1em;}
#main li > div + div p.en + p.en.seq {margin-top:0; padding-top:0;}
#main li > div + div p img {float:right; width:30%; max-width:200px; margin:0 0 10px 10px;}

#main li.huge {display:block;}
#main li.huge > div:nth-child(n) {display:block; padding:0;}
#main li.huge > div:first-child {text-align:center; width:100%; max-width:580px; margin:0 auto 10px;}
#main li.huge strong:before {content:""; display:inline-block;width:6px; height:6px; background:#DF2E35; border-radius:1px; margin-right:.3em; vertical-align:middle;}

.course {padding:.3em .7em; background:#DF2E35; font-size:116%; font-weight:bold; color:#fff;}
* + .course {margin-top:80px;}
.course ~ .course,
.course ~ .course ~ h3 b,
#main .course ~ .course ~ ul li.huge strong::before {background:#1e2d94;}
.course ~ .course ~ h3 {border-color:#1E2D94;}

.en {padding:.8em 1.4em; background:#eaf3fa; font-family:"Verdana","Arial",sans-serif; font-size:93%; line-height:1.4; color:#333;}
h3 + ul div > .en:first-child {margin-top:1.5em;}
.desc .en {margin:2em auto 0; border:#fff solid; border-width:0 15px; box-sizing:border-box;}
.desc .en + .en {margin-top:0; padding-top:0;}

.more.end {text-align:center;}
.more.end font {display:inline-block; margin-top:.4em; font-size:85%;}

.desc {position:fixed; top:0; left:100%; width:calc(100% - 25px); height:100%; box-sizing:border-box; padding-bottom:20px; background:#fff; transition:all .3s; overflow:auto; z-index:10000;}
.desc > * {max-width:900px; margin-left:auto; margin-right:auto; padding-left:15px; padding-right:12px; position:relative; z-index:2;}
.desc h2 {display:none;}
.desc h3 {margin-top:0; padding-top:30px; border-top:1px #aaa solid; color:#DF2E35;}
.desc h3:first-child {border:0;}
.desc.full h2 {display:block; background:#DF2E35; padding:6px 12px;}
.desc.full h2 + h3 {border:0;}
.descOpen .desc {left:25px;}
.descOpen .desc.full {left:0; width:100%;}
.desc .pic {margin:20px 0; color:#666; font-size:85%; line-height:1.4;}
.desc .pic img {width:100%; margin-bottom:.6em;}
.desc .close {max-width:900px; margin:20px auto 30px; text-align:center;}
.desc .close a {display:block; padding:10px 0; text-align:center; text-decoration:none;}
.desc .close a:before {content:""; display:inline-block; width:6px; height:6px; border:#000 solid; border-width:2px 0 0 2px; transform:rotate(-45deg); vertical-align:7%; margin-right:.2em;}

.close.end {display:none; position:fixed; top:0; left:0; width:25px; height:100%; z-index:18000;}
.descOpen .close.end {display:block;}
.descOpen .close.end a {display:block; height:100%; width:100%; white-space:nowrap; overflow:hidden; text-indent:-100px;}
.descOpen .close.end a:before {content:""; display:inline-block; width:12px; height:12px; border:#fff solid; border-width:3px 0 0 3px; transform:rotate(-45deg); position:absolute; top:50%; left:8px; margin-top:-6px;}

img[src*="mon.png"] {width:.96em; margin:0 .2em; vertical-align:0%;}

/* =============== フッタ */

.topBtn {position:fixed; bottom:24px; right:12px; z-index:9900;}
.topBtn a {display:block; position:relative; width:45px; height:45px; background:rgba(0,0,0,.4); border-radius:6px; overflow:hidden; white-space:nowrap; text-indent:100%;}
.topBtn a:before {content:""; width:16px; height:16px; border:rgba(255,255,255,1) solid; border-width:4px 4px 0 0; transform:rotate(-45deg); position:absolute; top:17px; left:12px;}
footer {width:100%; margin:40px auto 0; background:#eee; position:relative; z-index:1; transition:all .3s;}
footer .content {max-width:900px; margin:0 auto; padding:0 0 .8em;}
.descOpen footer {left:calc(-100% + 30px);}
footer ul {margin-bottom:.8em; padding:.3em 0 0; list-style-type:none; overflow:hidden; zoom:1;}
footer li {border-bottom:1px #bbb dotted;}
footer a {display:block; padding:.25em .5em; text-decoration:none;}
footer a:before {content:""; display:inline-block; width:5px; height:5px; margin-right:.6em; border:#444 solid; border-width:2px 2px 0 0; transform:rotate(45deg); vertical-align:5%;}
footer .content > p:last-child {margin-bottom:0; text-align:center; font-size:77%; color:#555;}

/* =============== カスタム要素 */

.pageTitle {}
.ttl1 {}
.ttl2 {}
.sbTtl1 {}
.sbTtl2 {}
.supl {}
.loadingBg {background:url(../img/bx_loader.gif) no-repeat 50% 50%;}
* > h1:first-child, 
* > h2:first-child, 
* > h3:first-child, 
* > h4:first-child, 
* > h5:first-child, 
* > h6:first-child,
* > .ttl1:first-child,
* > .ttl2:first-child,
* > .sbTtl1:first-child,
* > .sbTtl2:first-child {margin-top:0;}

#dim {width:100%; height:100%; position:fixed; top:0; left:0; z-index:10; background:rgba(0,0,0,.4); display:none; z-index:1000;}
.descOpen #dim {display:block;}

/* ///// スマホ対応 ///// */ 
@media screen and (max-width:600px) {
  .map a {border-width:2.5px;}
}




/*--------------------------------------------------------------------
ページ個別
--------------------------------------------------------------------*/


/* =============== トップページ */



/* ===============  */



/*--------------------------------------------------------------------
外部ライブラリ
--------------------------------------------------------------------*/

/* --------------- bxslider */
.bx-wrapper {position:relative; margin:0 auto 60px; padding:0; *zoom:1;}
.bx-wrapper img {max-width:100%; display:block;}
.bx-wrapper .bx-viewport {/*-moz-box-shadow:0 0 5px #ccc; -webkit-box-shadow:0 0 5px #ccc; box-shadow:0 0 5px #ccc; border:solid #fff 5px; left:-5px; */background:#fff;}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {position:absolute; bottom:-30px; width:100%;}
.bx-wrapper .bx-loading {min-height:50px; background:url(../img/bx_loader.gif) center center no-repeat #fff; height:100%; width:100%; position:absolute; top:0; left:0; z-index:2000;}
.bx-wrapper .bx-pager {text-align:center; font-size:.85em; font-family:Arial; font-weight:bold; color:#666; padding-top:20px;}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {display:inline-block; *zoom:1; *display:inline;}
.bx-wrapper .bx-pager.bx-default-pager a {background:#666; text-indent:-9999px; display:block; width:10px; height:10px; margin:0 5px; outline:0; border-radius:5px;}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {background:#000;}
.bx-wrapper .bx-prev {left:10px; background:url(../img/bx_controls.png) no-repeat 0 -32px;}
.bx-wrapper .bx-next {right:10px; background:url(../img/bx_controls.png) no-repeat -43px -32px;}
.bx-wrapper .bx-prev:hover {background-position:0 0;}
.bx-wrapper .bx-next:hover {background-position:-43px 0;}
.bx-wrapper .bx-controls-direction a {position:absolute; top:50%; margin-top:-16px; outline:0; width:32px; height:32px; text-indent:-9999px; z-index:9999;}
.bx-wrapper .bx-controls-direction a.disabled {display:none;}
.bx-wrapper .bx-controls-auto {text-align:center;}
.bx-wrapper .bx-controls-auto .bx-start {display:block; text-indent:-9999px; width:10px; height:11px; outline:0; background:url(../img/bx_controls.png) -86px -11px no-repeat; margin:0 3px;}
.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {background-position:-86px 0;}
.bx-wrapper .bx-controls-auto .bx-stop {display:block; text-indent:-9999px; width:9px; height:11px; outline:0; background:url(../img/bx_controls.png) -86px -44px no-repeat; margin:0 3px;}
.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {background-position:-86px -33px;}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {text-align:left; width:80%;}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {right:0; width:35px;}
.bx-wrapper .bx-caption {position:absolute; bottom:0; left:0; background:#666\9; background:rgba(80, 80, 80, .75); width:100%;}
.bx-wrapper .bx-caption span {color:#fff; font-family:Arial; display:block; font-size:.85em; padding:10px;}

/* --------------- magnific popup */
.mfp-bg {top:0; left:0; width:100%; height:100%; z-index:1042; overflow:hidden; position:fixed; background:#0b0b0b; opacity:.8;}
.mfp-wrap {top:0; left:0; width:100%; height:100%; z-index:1043; position:fixed; outline:none !important; -webkit-backface-visibility:hidden;}
.mfp-container {text-align:center; position:absolute; width:100%; height:100%; left:0; top:0; padding:0 8px; box-sizing:border-box;}
.mfp-container:before {content:''; display:inline-block; height:100%; vertical-align:middle;}
.mfp-align-top .mfp-container:before {display:none;}
.mfp-content {position:relative; display:inline-block; vertical-align:middle; margin:0 auto; text-align:left; z-index:1045;}
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {width:100%; cursor:auto;}
.mfp-ajax-cur {cursor:progress;}
.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close {cursor:-moz-zoom-out; cursor:-webkit-zoom-out; cursor:zoom-out;}
.mfp-zoom {cursor:pointer; cursor:-webkit-zoom-in; cursor:-moz-zoom-in; cursor:zoom-in;}
.mfp-auto-cursor .mfp-content {cursor:auto;}
.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {-webkit-user-select:none; -moz-user-select:none; user-select:none;}
.mfp-loading.mfp-figure {display:none;}
.mfp-hide {display:none !important;}
.mfp-preloader {color:#CCC; position:absolute; top:50%; width:auto; text-align:center; margin-top:-.8em; left:8px; right:8px; z-index:1044;}
.mfp-preloader a {color:#CCC;}
.mfp-preloader a:hover {color:#FFF;}
.mfp-s-ready .mfp-preloader, .mfp-s-error .mfp-content {display:none;}
button.mfp-close, button.mfp-arrow {overflow:visible; cursor:pointer; background:transparent; border:0; -webkit-appearance:none; display:block; outline:none; padding:0; z-index:1046; box-shadow:none; touch-action:manipulation;}
button::-moz-focus-inner {padding:0; border:0;}
.mfp-close {width:44px; height:44px; line-height:44px; position:absolute; right:0; top:0; text-decoration:none; text-align:center; opacity:.65; padding:0 0 18px 10px; color:#FFF; font-style:normal; font-size:28px; font-family:Arial,Baskerville,monospace;}
.mfp-close:hover, .mfp-close:focus {opacity:1;}
.mfp-close:active {top:1px;}
.mfp-close-btn-in .mfp-close {color:#333;}
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {color:#FFF; right:-6px; text-align:right; padding-right:6px; width:100%;}
.mfp-counter {position:absolute; top:0; right:0; color:#CCC; font-size:12px; line-height:18px; white-space:nowrap;}
.mfp-arrow {position:absolute; opacity:.65; margin:0; top:50%; margin-top:-55px; padding:0; width:90px; height:110px; -webkit-tap-highlight-color:transparent;}
.mfp-arrow:active {margin-top:-54px;}
.mfp-arrow:hover, .mfp-arrow:focus {opacity:1;}
.mfp-arrow:before, .mfp-arrow:after {content:''; display:block; width:0; height:0; position:absolute; left:0; top:0; margin-top:35px; margin-left:35px; border:medium inset transparent;}
.mfp-arrow:after {border-top-width:13px; border-bottom-width:13px; top:8px;}
.mfp-arrow:before {border-top-width:21px; border-bottom-width:21px; opacity:.7;}
.mfp-arrow-left {left:0;}
.mfp-arrow-left:after {border-right:17px solid #FFF; margin-left:31px;}
.mfp-arrow-left:before {margin-left:25px; border-right:27px solid #3F3F3F;}
.mfp-arrow-right {right:0;}
.mfp-arrow-right:after {border-left:17px solid #FFF; margin-left:39px;}
.mfp-arrow-right:before {border-left:27px solid #3F3F3F;}
.mfp-iframe-holder {padding-top:40px; padding-bottom:40px;}
.mfp-iframe-holder .mfp-content {line-height:0; width:100%; max-width:900px;}
.mfp-iframe-holder .mfp-close {top:-40px;}
.mfp-iframe-scaler {width:100%; height:0; overflow:hidden; padding-top:56.25%;}
.mfp-iframe-scaler iframe {position:absolute; display:block; top:0; left:0; width:100%; height:100%; box-shadow:0 0 8px rgba(0,0,0,.6); background:#000;}
/* Main image in popup */
img.mfp-img {width:auto; max-width:100%; height:auto; display:block; line-height:0; box-sizing:border-box; padding:40px 0 40px; margin:0 auto;}
/* The shadow behind the image */
.mfp-figure {line-height:0;}
.mfp-figure:after {content:''; position:absolute; left:0; top:40px; bottom:40px; display:block; right:0; width:auto; height:auto; z-index:-1; box-shadow:0 0 8px rgba(0,0,0,.6); background:#444;}
.mfp-figure small {color:#BDBDBD; display:block; font-size:12px; line-height:14px;}
.mfp-figure figure {margin:0;}
.mfp-bottom-bar {margin-top:-36px; position:absolute; top:100%; left:0; width:100%; cursor:auto;}
.mfp-title {text-align:left; line-height:18px; color:#F3F3F3; word-wrap:break-word; padding-right:36px;}
.mfp-image-holder .mfp-content {max-width:100%;}
.mfp-gallery .mfp-image-holder .mfp-figure {cursor:pointer;}
@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px) {
/* Remove all paddings around the image on small screen */
  .mfp-img-mobile .mfp-image-holder {padding-left:0; padding-right:0;}
  .mfp-img-mobile img.mfp-img {padding:0;}
  .mfp-img-mobile .mfp-figure:after {top:0; bottom:0;}
  .mfp-img-mobile .mfp-figure small {display:inline; margin-left:5px;}
  .mfp-img-mobile .mfp-bottom-bar {background:rgba(0,0,0,.6); bottom:0; margin:0; top:auto; padding:3px 5px; position:fixed; box-sizing:border-box;}
  .mfp-img-mobile .mfp-bottom-bar:empty {padding:0;}
  .mfp-img-mobile .mfp-counter {right:5px; top:3px;}
  .mfp-img-mobile .mfp-close {top:0; right:0; width:35px; height:35px; line-height:35px; background:rgba(0,0,0,.6); position:fixed; text-align:center; padding:0;}
}
@media all and (max-width:900px) {.mfp-arrow {-webkit-transform:scale(.75); transform:scale(.75);}
  .mfp-arrow-left {-webkit-transform-origin:0; transform-origin:0;}
  .mfp-arrow-right {-webkit-transform-origin:100%; transform-origin:100%;}
  .mfp-container {padding-left:6px; padding-right:6px;}
}


/* --------------- fancybox */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {padding:0; margin:0; border:0; outline:none; vertical-align:top;}
.fancybox-wrap {position:absolute; top:0; left:0; z-index:8020;}
.fancybox-skin {position:relative; background:#f9f9f9; color:#444; text-shadow:none; border-radius:4px;}
.fancybox-opened {z-index:8030;}
.fancybox-opened .fancybox-skin {box-shadow:0 10px 25px rgba(0, 0, 0, .5);}
.fancybox-outer,
.fancybox-inner {position:relative;}
.fancybox-inner {overflow:hidden;}
.fancybox-type-iframe .fancybox-inner {-webkit-overflow-scrolling:touch;}
.fancybox-error {color:#444; font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; margin:0; padding:15px; white-space:nowrap;}
.fancybox-image,
.fancybox-iframe {display:block; width:100%; height:100%;}
.fancybox-image {max-width:100%; max-height:100%;}
#fancybox-loading,
.fancybox-close,
.fancybox-prev span,
.fancybox-next span {background-image:url('../img/fancybox_sprite.png');}
#fancybox-loading {position:fixed; top:50%; left:50%; margin-top:-22px; margin-left:-22px; background-position:0 -108px; opacity:.8; cursor:pointer; z-index:8060;}
#fancybox-loading div {width:44px; height:44px; background:url('../img/fancybox_loading.gif') center center no-repeat;}
.fancybox-close {position:absolute; top:-18px; right:-18px; width:36px; height:36px; cursor:pointer; z-index:8040;}
.fancybox-nav {position:absolute; top:0; width:40%; height:100%; cursor:pointer; text-decoration:none; 
  background:transparent url('../img/blank.gif'); /* helps IE */ -webkit-tap-highlight-color:rgba(0,0,0,0); z-index:8040;}
.fancybox-prev {left:0;}
.fancybox-next {right:0;}
.fancybox-nav span {position:absolute; top:50%; width:36px; height:34px; margin-top:-18px; cursor:pointer; z-index:8040; visibility:hidden;}
.fancybox-prev span {left:10px; background-position:0 -36px;}
.fancybox-next span {right:10px; background-position:0 -72px;}
.fancybox-nav:hover span {visibility:visible;}
.fancybox-tmp {position:absolute; top:-99999px; left:-99999px; visibility:hidden; max-width:99999px; max-height:99999px; overflow:visible !important;}
.fancybox-lock {overflow:hidden;}
.fancybox-overlay {position:absolute; top:0; left:0; overflow:hidden; display:none; z-index:8010; background:url('../img/fancybox_overlay.png');}
.fancybox-overlay-fixed {position:fixed; bottom:0; right:0;}
.fancybox-lock .fancybox-overlay {overflow:auto;/* overflow-y:scroll;*/}
.fancybox-title {visibility:hidden; font:normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; position:relative; text-shadow:none; z-index:8050;}
.fancybox-opened .fancybox-title {visibility:visible;}
.fancybox-title-float-wrap {position:absolute; bottom:0; right:50%; margin-bottom:-35px; z-index:8050; text-align:center; max-width:90%;}
.fancybox-title-float-wrap .child {display:inline-block; margin-right:-100%; padding:2px 20px; 
  background:transparent; /* Fallback for web browsers that doesn't support RGBa */ background:rgba(0, 0, 0, .8); border-radius:15px; 
  text-shadow:0 1px 2px #222; color:#FFF; font-weight:bold; line-height:24px; width:680px;}
.fancybox-title-outside-wrap {position:relative; margin-top:10px; color:#fff;}
.fancybox-title-inside-wrap {padding-top:10px;}
.fancybox-title-over-wrap {position:absolute; bottom:0; left:0; color:#fff; padding:10px; background:#000; background:rgba(0, 0, 0, .8);}