@charset "UTF-8";
/*---------------------
import
---------------------*/
/* Media Query @include mediaquery(**){   } default sm
*/
/* fonts */
@font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; src: url(../fonts/MaterialIcons-Regular.eot);
  /* For IE6-8 */
src: local("Material Icons"), local("MaterialIcons-Regular"), url(../fonts/MaterialIcons-Regular.woff2) format("woff2"), url(../fonts/MaterialIcons-Regular.woff) format("woff"), url(../fonts/MaterialIcons-Regular.ttf) format("truetype"); }
.material-icons { font-family: 'Material Icons'; font-weight: normal; font-style: normal; font-size: 24px; /* Preferred icon size */ display: inline-block; line-height: 1; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; width: 24px; overflow: hidden; /* Support for all WebKit browsers. */ -webkit-font-smoothing: antialiased; /* Support for Safari and Chrome. */ text-rendering: optimizeLegibility; /* Support for Firefox. */ -moz-osx-font-smoothing: grayscale; /* Support for IE. */ font-feature-settings: 'liga'; }

/* Rules for sizing the icon. */
.material-icons.md-18 { font-size: 18px; width: 18px; overflow: hidden; }

.material-icons.md-24 { font-size: 24px; width: 24px; overflow: hidden; }

.material-icons.md-36 { font-size: 36px; width: 36px; overflow: hidden; }

.material-icons.md-48 { font-size: 48px; width: 48px; overflow: hidden; }

/* Rules for using icons as black on a light background. */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }

.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* Rules for using icons as white on a dark background. */
.material-icons.md-light { color: white; }

.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }

/* font-size */
.f-10 { font-size: .625rem !important; }

.f-12 { font-size: .75rem !important; }

.f-14 { font-size: .875rem !important; }

.f-16 { font-size: 1rem !important; }

.f-18 { font-size: 1.125rem !important; }

.f-20 { font-size: 1.25rem !important; }

.f-22 { font-size: 1.375rem !important; }

.f-24 { font-size: 1.5rem !important; }

.f-26 { font-size: 1.625rem !important; }

.f-28 { font-size: 1.75rem !important; }

.f-30 { font-size: 1.875rem !important; }

.f-32 { font-size: 2rem !important; }

.f-34 { font-size: .75rem !important; }

.f-36 { font-size: .75rem !important; }

.f-38 { font-size: .75rem !important; }

.f-40 { font-size: .75rem !important; }

.f-42 { font-size: .75rem !important; }

.f-44 { font-size: .75rem !important; }

.f-46 { font-size: .75rem !important; }

.f-48 { font-size: .75rem !important; }

.f-50 { font-size: .75rem !important; }

.f-60 { font-size: .75rem !important; }

.f-70 { font-size: .75rem !important; }

.f-80 { font-size: .75rem !important; }

/*------- reset  --------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

img { max-width: 100%; height: auto; }

/* flexbox @include flexbox(); row/row-reverse/column/column-reverse wrap/nowrap/wrap-reverse flex-start/flex-end/center/space-between/space-around stretch/flex-start/flex-end/center/baseline
*/
/*------- animation ----------------*/
@keyframes fadein { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadeout { 0% { opacity: 1; }
  100% { opacity: 0; } }
/*------- font size ----------------*/
/*------- txt color ----------------*/
.txt-blue { color: #171C61 !important; }

.txt-red { color: #e44141 !important; }

.txt-light-gray { color: #999 !important; }

.txt-link { color: #171C61 !important; text-decoration: underline; }

.txt-caption { font-size: 0.875rem; margin-top: .25rem; color: #777; }

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

/*------- common ---------*/
body { font: 16px "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif; color: #000; }

/*------- link color ----------------*/
a { text-decoration: none; color: #29bffe; opacity: 1; text-decoration: underline; }

/*------- icon ----------------*/
.material-icons { vertical-align: middle; }

/*------- bg color ----------------*/
/* background */
.bg-blue { background-color: #171C61 !important; }

.bg-brown { background-color: #712700 !important; }

.bg-orange { background-color: #9F6202 !important; }

.bg-light-gray { background-color: #F5F5F5 !important; }

.gd-brown { background: #712700 !important; background: -moz-linear-gradient(90deg, #712700 0%, #9f6202 100%) !important; background: -webkit-linear-gradient(90deg, #712700 0%, #9f6202 100%) !important; background: linear-gradient(90deg, #712700 0%, #9f6202 100%) !important; }

.gd-green { background: #007130 !important; background: -moz-linear-gradient(90deg, rgba(0, 113, 48, 0.7) 0%, #006871 100%) !important; background: -webkit-linear-gradient(90deg, rgba(0, 113, 48, 0.7) 0%, #006871 100%) !important; background: linear-gradient(90deg, rgba(0, 113, 48, 0.7) 0%, #006871 100%) !important; }

/*------- v-align ----------------*/
.v-top { vertical-align: top; }

.v-middle { vertical-align: middle; }

.v-bottom { vertical-align: bottom; }

/*------- border style ----------------*/
.bo-none { border: none !important; }

.bo-t-none { border-top: none !important; }

.bo-r-none { border-right: none !important; }

.bo-b-none { border-bottom: none !important; }

.bo-l-none { border-left: none !important; }

/*------- float ----------------*/
.f-left { float: left !important; }

.f-right { float: right !important; }

.f-none { float: none !important; }

.clear { clear: both; }

/*------- position ----------------*/
.pos-relative { position: relative !important; }

.pos-absolute { position: absolute !important; }

.pos-inherit { position: inherit !important; }

/*------- sp ----------------*/
.sp-show { display: none; }

.sp-hide { display: inherit; }

@media screen and (max-width: 599px) { .sp-show { display: inherit; }
  .sp-hide { display: none; } }
.sp-show-inline { display: none; }

.sp-hide-inline { display: inline; }

@media screen and (max-width: 599px) { .sp-show-inline { display: inline; }
  .sp-hide-inline { display: none; } }
/*---------------------
component
---------------------*/
/* layout */
.inner { width: 1000px; margin: 0 auto; }
@media screen and (max-width: 576px) { .inner { width: 100%; box-sizing: border-box; padding-left: 1rem; padding-right: 1rem; } }

.breadlist { width: 100%; background: #f7f7f7; font-size: .75rem; box-shadow: inset 0 -1px 8px rgba(0, 0, 0, 0.06); box-sizing: border-box; padding: .5rem; }
.breadlist ul li { display: inline-block; margin-right: .5rem; }
.breadlist ul li:after { margin-left: .5rem; content: ">"; }
.breadlist ul li:last-child:after { display: none; }

.container { box-sizing: border-box; padding: 2rem 0; }
.container .inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; /* Safari */ -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; justify-content: space-between; }

.contents { width: 66%; }
@media screen and (max-width: 576px) { .contents { width: 100%; } }
.contents-head { margin-bottom: 2rem; }
.contents-head__title { font-size: 1.5rem; position: relative; padding: .75em 1em; text-align: center; color: #171C61; }
.contents-head__title:before, .contents-head__title:after { position: absolute; content: ''; }
.contents-head__title:after { top: 0; left: 0; width: 50px; height: 50px; border-top: 2px solid #ccc; border-left: 2px solid #ccc; }
.contents-head__title:before { right: 0; bottom: 0; width: 50px; height: 50px; border-right: 2px solid #ccc; border-bottom: 2px solid #ccc; }
.contents-title { position: relative; padding: .25rem 0; color: #171C61; font-size: 1.5rem; font-weight: bold; margin-bottom: 1rem; }
.contents-title:before { position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; content: ''; background-image: -webkit-gradient(linear, left top, right top, from(#171C61), to(#29bffe)); background-image: -webkit-linear-gradient(left, #171C61 0%, #29bffe 100%); background-image: linear-gradient(to right, #171C61 0%, #29bffe 100%); }
.contents-subtitle { font-size: 1.125rem; font-weight: bold; margin-bottom: .5rem; padding: .5rem; box-sizing: border-box; border: 1px dashed #ccc; }
.contents-copy { text-align: center; margin: 3rem 0; }
.contents-copy__txt { border-bottom: 1px dashed #ccc; display: inline-block; font-size: 1.75rem; font-weight: bold; }
.contents-lead { font-size: 1.125rem; line-height: 1.8; margin-bottom: 1rem; }
.contents-lead:last-child { margin-bottom: 0; }
.contents-txt { font-size: 1rem; line-height: 1.6; }
.contents-img { margin-bottom: 1rem; }
.contents-section { margin-bottom: 2rem; }
.contents-section:last-child { margin-bottom: 0; }
.contents-block { margin-bottom: 1rem; }
.contents-block:last-child { margin-bottom: 0; }
.contents-caption { font-size: .875rem; color: #777; }
.contents-caption li { text-indent: -0.875rem; margin-left: .875rem; }
.contents-list { font-size: 1.125rem; font-weight: bold; }
.contents-list li { text-indent: -1.3rem; margin-left: 1.3rem; margin-bottom: .5rem; }
.contents-list li b { color: #29bffe; margin-right: .25rem; }

.contents-column .row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; /* Safari */ -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; margin-bottom: 2rem; }
.contents-column .row:last-child { margin-bottom: 0; }
.contents-column .col-img { width: 30%; }
.contents-column .col-txt { width: 66%; margin-left: auto; }
.contents-column.column-rev .col-img { margin-left: auto; }
.contents-column.column-rev .col-txt { margin-left: 0; }

.contents-table { margin-bottom: 1rem; }
.contents-table th, .contents-table td { padding: 1rem; border: 1px solid #ccc; font-size: .875rem; }
.contents-table th { background: #eee; }
.contents-table tbody th { text-align: left; }
.contents-table .table-price { font-size: 1.3rem; font-weight: bold; margin: 1.5rem 0; }
.contents-table .table-txt { font-size: .875rem; margin-bottom: .5rem; }
.contents-table .table-caption { font-size: .75rem; margin-top: .5rem; color: #777; }
.contents-table .table-caption li { text-indent: -0.75rem; margin-left: .75rem; }

.contents-dl dt { font-weight: bold; border-bottom: 1px dashed #ccc; margin-bottom: 1rem; font-size: 1.25rem; }
.contents-dl dd { margin-bottom: 2rem; font-size: 1rem; }

.aside { width: 30%; }
@media screen and (max-width: 576px) { .aside { width: 100%; } }
.aside-block { margin-bottom: 2rem; }

/* Typo */
.txt-large { font-size: 175%; }

.marker { background: linear-gradient(transparent 64%, #fcf69f 0%); }
.marker-skyblue { background: linear-gradient(transparent 64%, rgba(41, 191, 254, 0.3) 0%); }

/* Button */
.btn { display: inline-block; box-sizing: border-box; padding: 1rem 2rem; text-align: center; border-radius: 2rem; background: #bba400; border: 1px solid #bba400; color: white; text-decoration: none; font-size: 1.125rem; transition: .4s; }
.btn:hover { background: white; color: #bba400; }

.btn-section { margin: 2rem 0; }

/* header */
.header { width: 100%; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); background: white; position: relative; z-index: 10000; }
.header-line { width: 100%; background: #171C61; padding: .25rem; box-sizing: border-box; }
.header-title { font-size: .75rem; line-height: 1; color: white; }
.header-body { padding: .5rem 0; position: relative; }
.header-body .inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; /* Safari */ -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; align-items: center; }
.header-logo { padding-right: 1rem; }
.header-nav { margin-left: auto; }
.header-nav > ul { font-size: .875rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; /* Safari */ -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; }
.header-nav > ul > li { position: relative; z-index: 10; margin: 0 .25rem; }
.header-nav > ul > li > a { display: inline-block; padding: .5rem; color: #444; text-decoration: none; position: relative; }
.header-nav > ul > li > a:after { position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 2px; background: #171C61; transform: scale(0, 1); transform-origin: center top; transition: transform .3s; }
.header-nav > ul > li > a:hover:after { transform: scale(1, 1); }
.header-nav > ul > li > a.active:after { background: #bba400; transform: scale(1, 1); }
@media screen and (max-width: 576px) { .header-nav { display: none; position: absolute; background: white; width: 100%; height: 100vh; top: 63px; left: 0; }
  .header-nav.is-open { display: block; }
  .header-nav > ul > li { display: block; width: 100%; }
  .header-nav > ul > li > a { width: 100%; } }
.header-nav .dropdown-menu { position: absolute; background: white; width: 300px; border: 1px solid #ccc; border-top: none; transform: scale(1, 0); transform-origin: center top; transition: .2s; opacity: 0; }
@media screen and (max-width: 576px) { .header-nav .dropdown-menu { display: none; } }
.header-nav .dropdown-menu li { border-top: 1px solid #ccc; }
.header-nav .dropdown-menu li a { display: block; text-decoration: none; color: #444; box-sizing: border-box; width: 100%; padding: .5rem; background: white; transition: .3s; }
.header-nav .dropdown-menu li a:hover { background: #eee; }
.header-nav .dropdown-nav:hover .dropdown-menu { transform: scale(1, 1); opacity: 1; }

.header-nav-sp { display: none; margin-left: auto; padding: 1rem; width: 70px; height: 100%; box-sizing: border-box; position: absolute; top: 0; right: 0; }
@media screen and (max-width: 576px) { .header-nav-sp { display: block; } }

.btn-trigger { position: relative; width: 100%; height: 100%; cursor: pointer; display: block; box-sizing: border-box; }
.btn-trigger span { position: absolute; left: 0; width: 100%; height: 3px; background-color: #171C61; border-radius: 4px; }
.btn-trigger span:nth-of-type(1) { top: 5px; }
.btn-trigger span:nth-of-type(2) { top: 44%; }
.btn-trigger span:nth-of-type(3) { bottom: 5px; }
.btn-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); }
.btn-trigger.active span:nth-of-type(2) { opacity: 0; }
.btn-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-15px) rotate(45deg); transform: translateY(-15px) rotate(45deg); bottom: 0; }

.btn-trigger, .btn-trigger span { display: inline-block; transition: all .5s; box-sizing: border-box; }

/* Footer */
.footer { width: 100%; background: #171C61; padding: 2rem 0; color: white; }
.footer-body { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; /* Safari */ -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; }
.footer-team { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; /* Safari */ -moz-justify-content: flex-start; -ms-justify-content: flex-start; justify-content: flex-start; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; align-items: center; }
.footer-emblem { margin-right: 1rem; }
.footer-adress { font-size: .875rem; }
.footer-adress__title { margin-bottom: .75rem; }
.footer-info { margin-left: auto; margin-top: .5rem; }
.footer-nav { margin: 2rem 0 1rem; font-size: .875rem; }
.footer-nav ul { text-align: center; }
.footer-nav ul li { display: inline-block; }
.footer-nav ul li:before { content: "｜"; }
.footer-nav ul li:first-child:before { content: ""; }
.footer-nav ul li a { color: white; padding: 0 .5rem; text-decoration: none; transition: .3s; }
.footer-nav ul li a:hover { color: #bba400; }
.footer-copyright { font-size: .75rem; text-align: center; }

/*---------------------
pages
---------------------*/
/* Home */
.home-main { width: 100%; height: 600px; background: url(../img/home/home_main.jpg) center bottom no-repeat; background-size: cover; }
@media screen and (max-width: 576px) { .home-main { height: 55vw; } }

/* Class */
.class-archive { display: flex; flex-wrap: wrap; margin-left: -2%; }
.class-archive__item { width: 48%; margin-left: 2%; margin-bottom: 2%; text-decoration: none; color: #444 !important; box-sizing: border-box; border: 4px solid #eee; display: flex; flex-direction: column; transition: .3s; opacity: 1; }
.class-archive__item:hover { opacity: .7; }
.class-archive__title { font-size: 1.125rem; font-weight: bold; border-bottom: 1px dashed #ccc; text-align: center; margin: 1rem 1rem .5rem; }
.class-archive__txt { font-size: .875rem; margin-left: 1rem; margin-right: 1rem; margin-bottom: .5rem; }
.class-archive__link { font-size: .875rem; text-align: right; margin-top: auto; margin-right: 1rem; margin-bottom: 1rem; color: #29bffe; }

/* Faq */
.faq-list { border-bottom: 1px solid #ccc; }
.faq-list dt, .faq-list dd { position: relative; padding: 1rem 0 1rem 2.3rem; }
.faq-list dt:before, .faq-list dd:before { position: absolute; top: .75rem; left: 0; border-radius: 50%; width: 2rem; height: 2rem; color: white; line-height: 2rem; text-align: center; }
.faq-list dt { border-top: 1px solid #ccc; }
.faq-list dt:before { content: "Q"; background: #171C61; }
.faq-list dd { margin-bottom: .5rem; }
.faq-list dd:before { content: "A"; background: #e44141; }

/* Access */
.img-gallery { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: wrap; /* Safari */ -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; /* Safari */ -moz-justify-content: space-between; -ms-justify-content: space-between; justify-content: space-between; -webkit-box-align: flex-start; -ms-flex-align: flex-start; align-items: flex-start; }
.img-gallery__item { width: 49%; margin-bottom: 2%; }
.img-gallery__item img { width: 100%; }
.img-gallery__item-wide { width: 100%; margin-bottom: 2%; }

/* Form */
.form-dl dt, .form-dl dd { padding: .25rem 0; }
.form-dl dt { font-weight: bold; }
.form-dl dd { margin-bottom: 1rem; }

.form-input { border: 1px solid #ccc; border-radius: .5rem; background: #f5f5f5; padding: .75rem .75rem; width: 100%; box-sizing: border-box; font-size: 1rem; transition: .4s; }
.form-input:focus, .form-input:focus-visible { background: white; border: 1px solid #000; outline: none; }

.form-select { border: 1px solid #ccc; padding: .5rem; border-radius: .5rem; font-size: 1rem; background: #f5f5f5; min-width: 200px; transition: .4s; }
.form-select:focus, .form-select:focus-visible { background: white; border: 1px solid #000; outline: none; }

.hissu { display: inline-block; font-size: .75rem; padding: .25rem; color: white; background: #e44141; margin-left: .5rem; border-radius: .25rem; vertical-align: middle; position: relative; top: -1px; }

/*# sourceMappingURL=style.css.map */
