@charset "UTF-8";
/*!
 *  Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.3.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.3.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571429em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714286em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eeeeee;
  border-radius: 0.1em;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}

.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  -webkit-filter: none;
          filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #ffffff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

.fa-search:before {
  content: "\f002";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

.fa-search-plus:before {
  content: "\f00e";
}

.fa-search-minus:before {
  content: "\f010";
}

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before {
  content: "\f017";
}

.fa-road:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}

.fa-refresh:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before {
  content: "\f029";
}

.fa-barcode:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before {
  content: "\f04b";
}

.fa-pause:before {
  content: "\f04c";
}

.fa-stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before {
  content: "\f09c";
}

.fa-credit-card:before {
  content: "\f09d";
}

.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before {
  content: "\f0ae";
}

.fa-filter:before {
  content: "\f0b0";
}

.fa-briefcase:before {
  content: "\f0b1";
}

.fa-arrows-alt:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before {
  content: "\f0d6";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-circle:before {
  content: "\f111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

.fa-exclamation:before {
  content: "\f12a";
}

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-genderless:before,
.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}

/* 編集用の変数をまとめたファイル
基本的にここを編集する（対応できなかった場合には基本ファイルを編集する */
/*
 * 編集用の変数をまとめる
 *----------------------------------------*/
/* ------- 画像 ホバーエフェクト ----------------　*/
/*
@media screen and (min-width: 1025px) {
	a:hover img{
		filter:alpha(opacity=60);
		opacity:0.6;
	}
}
*/
/* ------- テキスト スタイル ----------------　*/
.err {
  font-size: 12px;
  color: #ff5500;
}

/* clearfix --------------------*/
.cf:after, .greeting:after, .step ul:after {
  display: block;
  clear: both;
  content: "";
}

/* -------------------- clearfix */
/* ------- 初期設定 ----------------　*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address, em, img, small, strong, b, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, article, aside, canvas, figure, figcaption, header, footer, nav, section, time, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

div, span, iframe, h1, h2, h3, h4, h5, p, blockquote, pre, a, address, em, img, small, strong, b, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, article, aside, canvas, figure, figcaption, header, footer, nav, section, time, video {
  font-size: 100%;
}

div, article, aside, figcaption, figure, header, footer, nav, section {
  display: block;
}

/* text */
em {
  font-style: normal;
}

/* images */
figure {
  max-width: 100%;
  text-align: center;
}

figcaption {
  text-align: center;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

/* list */
ul, ol {
  list-style: none;
}

dt {
  font-weight: bold;
}

/* table */
table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

th, td {
  padding: 0;
  text-align: left;
  vertical-align: middle;
  border: none;
}

select option {
  padding: 　0 5px;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder, :-moz-placeholder, ::-moz-placeholder, :-ms-input-placeholder {
  color: #A9A9A9;
}

/* Firefox 18- */
/* Firefox 19+ */
/* IE 10+ */
label {
  cursor: pointer;
}

input[type=checkbox], input[type=radio] {
  vertical-align: middle;
}
input[type=submit] {
  padding: 0.1em;
  line-height: 1;
  cursor: pointer;
}

button {
  line-height: 1;
  cursor: pointer;
}

select {
  cursor: pointer;
}

/* ==================== header ==================== */
/* ------------------------------

layout

------------------------------ */
.pageHeader {
  width: 100%;
  padding: 0 10px;
  /*border-top-width: 5px;
  border-top-style: solid;*/
}

.headerInner {
  position: relative;
}
.headerInner:after {
  content: "";
  clear: both;
  display: block;
}

.pageNav:after {
  content: "";
  clear: both;
  display: block;
}

@media screen and (min-width: 769px) {
  .pageHeader {
    position: relative;
    z-index: 2000;
  }
  .headerInner {
    margin: 0 auto;
  }
}
/*
@media screen and (min-width: 1421px) {
  .pageHeader {
    max-width: 1400px;
    margin: auto;
  }
}
*/
@media screen and (min-width: 769px) and (max-width: 1420px) {
  .pageHeader {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (max-width: 768px) {
  .pageHeader {
    padding-left: 10px;
    padding-right: 10px;
  }
}
/* --------------------

Text

-------------------- */
.headerText {
  padding: 5px 0 0;
}
.headerText p {
  font-size: 12px;
}

.headerLogo {
  padding: 30px 0;
}

@media screen and (max-width: 768px) {
  .headerLogo {
    padding: 15px 0;
  }
}
/* --------------------

logo

-------------------- */
.headerLogo {
  text-align: center;
  margin: 0 auto;
  /*img {
    width: auto;
    height: 70px;
  }*/
}

@media screen and (max-width: 1024px) {
  .headerLogo img {
    width: auto;
    height: 45px;
  }
}
@media screen and (max-width: 480px) {
  .headerLogo {
    text-align: left;
  }
  .headerLogo img {
    height: 40px;
  }
}
@media screen and (max-width: 375px) {
  .headerLogo img {
    height: 40px;
  }
}
/* --------------------

headerContact

-------------------- */
.headerContact {
  float: right;
}

.tel-link, .headerContact dd a {
  font-size: 24px;
}

.headerTel {
  display: inline-block;
  vertical-align: middle;
}

.headerContact dl, .headerContact ul {
  display: inline-block;
  vertical-align: middle;
}
.headerContact dt, .headerContact dd {
  line-height: 1.2;
  text-align: left;
  font-weight: normal;
}
.headerContact dt {
  font-weight: bold;
  font-size: 12px;
}
.headerContact dt br {
  display: none;
}
.headerContact dd {
  font-size: 12px;
}

.tel-link {
  font-weight: bold;
  text-decoration: none;
  color: #ff5a63;
}

.headerContact dd a {
  font-weight: bold;
  text-decoration: none;
  color: #ff5a63;
}
.headerContact ul li {
  display: inline-block;
  vertical-align: middle;
}
.headerContact ul li a {
  background: #EEE;
}

/*
.headerContact ul li a {
	box-shadow: 0px 3px 0px 0px #cf5700;
}

.headerContact ul li a:active {
	top: 2px;
	box-shadow: 0px 1px 0px 0px #cf5700;
}
*/
@media screen and (min-width: 769px) {
  .headerContact ul li a {
    position: relative;
    display: block;
    text-align: center;
    cursor: pointer;
    /*width: 120px;*/
    width: 130px;
    height: 25px;
    font-size: 14px;
    line-height: 25px;
    text-decoration: none;
    margin-bottom: 0;
  }
  .headerFormmail a:before, .headerMypage a:before {
    display: inline-block;
    margin-right: 3px;
    font: normal normal normal 12px/1 Fontawesome;
  }
  .headerFormmail a:before {
    content: "\f0e0";
  }
  .headerMypage a:before {
    content: "\f007";
  }
  dd.headerTelOpen {
    padding-left: 0;
    text-indent: 0;
  }
  .tel-link, .headerContact dd a {
    font-size: 30px;
    font-weight: bold;
    text-decoration: none;
  }
}
/*
@media screen and (min-width: 769px) and (max-width: 900px) {
  .headerContact ul {
    width: 140px;
    li {
      margin: 0;
      &:first-child {
        margin-bottom: 5px;
      }
    }
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
	.headerContact ul li a {
		width: 120px;
	}
}
*/
@media screen and (max-width: 1024px) {
  .headerContact {
    padding-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  .headerContact dt br {
    display: block;
  }
  .headerTelOpen {
    display: none;
  }
  /*
  	.headerContact dd b ,
  	.tel-link {
  		font-size: 12px;
  	}
  */
  .headerContact {
    padding-top: 5px;
    padding-bottom: 0;
    padding-right: 50px;
  }
  .headerContact ul li {
    margin: 0;
  }
  .headerFormmail a, .headerMypage a {
    position: relative;
    width: 40px;
    height: 40px;
    display: block;
    background-size: 20px;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
  }
  .headerFormmail a:before, .headerMypage a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 20px;
    margin: auto;
    font: normal normal normal 20px/1 Fontawesome;
    z-index: 100;
    text-align: center;
    text-indent: 0;
    display: block;
  }
  .headerFormmail a:before {
    content: "\f0e0";
  }
  .headerMypage a:before {
    content: "\f007";
  }
}
.headerBtn {
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .headerBtn {
    top: 25px;
    right: 40px;
  }
}
/*
@media screen and (min-width: 481px) and (max-width: 768px) {
	.headerContact dt.headerTelName {
		display: none;
	}

	.headerContact dd.headerTelNum {
		text-align: center;
	}

	.headerContact dd.headerTelNum b + span {
		display: block;
	}

	.headerContact dd a + span {
		display: block;
		text-align: center;
	}
}
*/
@media screen and (max-width: 550px) {
  .headerTel {
    vertical-align: top;
  }
  .headerContact dl, .headerContact ul {
    vertical-align: top;
  }
  .headerContact dt {
    display: none;
  }
  .headerTelOpen, .headerTelNum span {
    display: none;
  }
  .headerContact dl {
    margin-bottom: 6px;
  }
  /*.headerContact dt ,*/
  .headerTelNum {
    display: inline-block;
    vertical-align: middle;
  }
  .headerTelNum a, .headerTelNum b {
    position: relative;
    width: 40px;
    height: 40px;
    display: block;
    background-color: #ff5a63;
    background-size: 20px;
    border-radius: 4px;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    /*box-shadow: 0px 3px 0px 0px #cf5700;*/
  }
  .headerTelNum a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 20px;
    margin: auto;
    color: #FFF;
    font: normal normal normal 20px/1 Fontawesome;
    content: "\f095";
    z-index: 100;
    text-align: center;
    text-indent: 0;
    display: block;
  }
}
/* ------------------------------

nav

------------------------------ */
/*
.pageNav {
  width: 100%;
  clear: both;
  background: $navBg;
}
*/
.navInner {
  position: relative;
  margin: 0 auto;
  width: auto;
}
.navInner:after {
  content: "";
  clear: both;
  display: block;
}

@media screen and (min-width: 769px) {
  .pageNav {
    position: relative;
    z-index: 2000;
    width: calc(100% - 210px);
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .pageNav {
    width: 1000px;
  }
}
/* ------------------------------

nav main

------------------------------ */
.navInner li {
  font-size: 14px;
}

@media screen and (min-width: 769px) {
  .navInner li {
    /*float: left;*/
    padding: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .navInner li a {
    display: block;
    width: 100%;
    height: 65px;
    line-height: 65px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
  }
}
@media screen and (min-width: 1025px) {
  .navInner {
    margin: 0 auto;
    width: 100%;
  }
  .navInner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .navInner li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .navInner ul {
    display: table;
    width: 100%;
  }
  .navInner li {
    display: table-cell;
    width: auto;
  }
}
/* ------------------------------

dropdown menu

------------------------------ */
@media screen and (min-width: 769px) {
  #panel-btn {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #panel-btn {
    position: absolute;
    right: -5px;
    top: 25px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 11px;
    text-decoration: none;
    background: #EEE;
    /*box-shadow: 0px 3px 0px 0px #cf5700;
    background: $headerTelColor;*/
  }
  #panel {
    display: none;
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    background: #f5f5f5;
    border: 3px solid #999;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .navInner li {
    position: relative;
    font-size: 12px;
    width: 100%;
    text-align: left;
    border-top: 1px solid #CCC;
  }
  .navInner li a {
    display: block;
    width: 100%;
    padding: 15px 15px 15px 5px;
    color: #222;
    line-height: 1.5;
    text-decoration: none;
  }
  .navInner li:before {
    width: 12px;
    height: 12px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5px;
    margin: auto;
    font: normal normal normal 12px/1 Fontawesome;
    content: "\f0da";
  }
}
/* ==================== footer ==================== */
/* ------------------------------

 totop

------------------------------ */
.toTop {
  clear: both;
  /*display: none;*/
}
.toTop p {
  text-align: right;
}
.toTop p span {
  position: relative;
  padding: 5px 10px 10px;
  cursor: pointer;
  /*font-family: "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;*/
  font-weight: bold;
  font-size: 11px;
  letter-spacing: -0.1em;
  display: inline-block;
}
.toTop p span:before {
  display: inline-block;
  margin-right: 5px;
  font: normal normal normal 12px/1 Fontawesome;
  content: "\f062";
}

@media screen and (min-width: 1025px) {
  .toTop {
    margin: 0 auto;
    width: 960px;
  }
}
/* ------------------------------

 footer

------------------------------ */
.pageFooter {
  margin: 0 auto;
  padding-top: 10px;
  width: 100%;
  clear: both;
  border-top: 1px solid #CCC;
}

.footerInner {
  padding: 15px 0;
  margin: 0 auto;
}
.footerInner:after {
  content: "";
  clear: both;
  display: block;
}

@media screen and (min-width: 1025px) {
  .footerInner {
    position: relative;
    max-width: 1400px;
  }
}
@media screen and (max-width: 768px) {
  .footerInner {
    padding: 0;
  }
}
/* ------------------------------

 footer company

------------------------------ */
.footerCompany {
  position: relative;
  /*width: 50%;*/
  /*width: auto;
  float: left;*/
  overflow: hidden;
}
.footerCompany h3 {
  margin: 0 0 10px;
  /*display: inline-block;*/
  vertical-align: middle;
}
.footerCompany h3 img {
  max-height: 40px;
  /*width: 200px;*/
}
.footerCompany p, .footerCompany ul, .footerCompany li {
  display: inline-block;
}

.footerCompanyBox {
  float: left;
  width: 100%;
  margin-right: 20px;
}

.footerCompanyFb {
  padding-top: 5px;
}
.footerCompanyFb img {
  max-width: 180px;
}

.footerMynaviBnr {
  margin-top: 20px;
}

@media screen and (max-width: 1400px) {
  .footerCompany {
    padding-left: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .footerCompany {
    padding: 10px;
  }
}
@media screen and (max-width: 640px) {
  .footerCompany {
    float: none;
    width: 100%;
    text-align: center;
  }
  .footerCompany h3 {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 480px) {
  .footerCompany ul li {
    width: 48%;
    padding: 20px 0;
  }
  .footerCompany ul li:first-child {
    text-align: right;
  }
  .footerCompany ul li:nth-child(2) {
    text-align: left;
  }
}
/* ------------------------------

 footer nav

------------------------------ */
.footerNav {
  width: 50%;
  float: right;
  text-align: right;
}
.footerNav ul {
  display: inline-block;
  width: 48%;
  vertical-align: top;
}
.footerNav ul:nth-child(1) {
  width: 40%;
}
.footerNav ul:nth-child(2) {
  width: 58%;
}
.footerNav li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 8px;
  font-size: 14px;
  text-align: left;
}
.footerNav li:before {
  position: absolute;
  top: 0.5em;
  left: 0;
  font: normal normal normal 11px/1 Fontawesome;
  content: "\f0da";
}
.footerNav li a {
  color: #222;
  text-decoration: none;
}
.footerNav li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .footerNav {
    float: none;
    margin-bottom: 10px;
    width: auto;
    border: 0;
    border-bottom: 1px solid #CCC;
  }
}
@media screen and (max-width: 480px) {
  .footerNav {
    padding: 0 5px;
  }
}
/* ------------------------------

 footerCompanyOther

------------------------------ */
.footerCompanyOther {
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  overflow: hidden;
}
.footerCompanyOther h3 {
  float: none;
  line-height: 1.3;
  margin-right: 0;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: bold;
}
.footerCompanyOther p {
  line-height: 1.3;
  text-align: left;
}

/* ------------------------------

 copyright

------------------------------ */
.copyright {
  padding: 10px 0;
  clear: both;
  border-top: 1px solid #CCC;
}
.copyright p {
  font-size: 11px;
  text-align: center;
}

/* ==================== ページ ==================== */
/*
===== site　setting ===========================
*/
html {
  overflow: auto;
}

body {
  font-size: 16px;
  /*font-size: 87.5%;*/
  line-height: 1.5;
  background: #fff;
  color: #000;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ ゴシック", sans-serif;
}
body button, body select, body textarea, body input {
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ ゴシック", sans-serif;
}

a:link, a:visited {
  color: #000;
  text-decoration: underline;
}
a:hover {
  color: #f08300;
  text-decoration: underline;
}
a:active {
  color: #000;
  text-decoration: none;
}

.err {
  font-size: 12px;
  color: #ff5500;
}

.mb10 {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
  }
}
/* ======================================== layout ======================================== */
.contents:after {
  content: "";
  clear: both;
  display: block;
}

@media screen and (min-width: 1025px) {
  .contents {
    margin: 0 auto 50px;
  }
  .contents .contentsMain {
    width: 1200px;
    margin: 0 auto;
  }
  .main {
    width: 680px;
    float: left;
  }
  .sub {
    width: 240px;
    float: right;
  }
}
@media screen and (min-width: 1201px) {
  .contents {
    max-width: 1200px;
  }
}
@media screen and (max-width: 1200px) {
  .contents {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
/* ======================================== 見出し ======================================== */
/* ------------------------------

 h1

------------------------------ */
.contents h1 {
  text-align: center;
  color: #FFF;
  height: 290px;
  line-height: 290px;
  background-image: url(../images/page_title.jpg);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contents h1 span {
  font-size: 30px;
  text-shadow: 0px 3px 0px rgba(0, 0, 0, 0.5);
  display: inline-block;
}

@media screen and (min-width: 1025px) {
  .contents h1 {
    margin: 0 -500px;
    padding: 0 500px;
    background-size: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .contents h1 {
    margin-left: -10px;
    margin-right: -10px;
    height: 180px;
    line-height: 180px;
  }
}
@media screen and (max-width: 480px) {
  .contents h1 {
    height: 110px;
    line-height: 110px;
    background-position: 74% 100%;
  }
  .contents h1 span {
    font-size: 18px;
    text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.5);
  }
}
/* ------------------------------

 h2

------------------------------ */
h2 {
  position: relative;
  margin-bottom: 10px;
  padding: 12px 12px 12px 0;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 30px;
}
h2 span {
  position: relative;
  display: inline-block;
  padding-right: 80px;
}
h2 span:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  background: url(../images/title_bg01.png) no-repeat 0 0;
  background-size: auto 50px;
  width: 100px;
  height: 50px;
  z-index: -1;
}
h2 a {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  padding: 5px 5px 15px;
  display: inline-block;
  width: 8em;
  height: 1em;
  font-size: 11px;
  font-weight: 500;
  background: #FFF;
  letter-spacing: -0.1em;
  text-align: center;
}
h2 a:link, h2 a:visited, h2 a:hover, h2 a:active {
  color: #000;
  text-decoration: none;
}
h2 a:after {
  display: inline-block;
  margin-left: 5px;
  content: "\f0da";
  font: normal normal normal 12px/1 Fontawesome;
}

.box {
  margin-bottom: 50px;
  width: auto;
}
.box:after {
  content: "";
  clear: both;
  display: block;
}

@media screen and (max-width: 480px) {
  h2 {
    margin-bottom: 0;
    font-size: 24px;
  }
  h2 span {
    padding-right: 0;
  }
  h2 span:after {
    background-size: auto 30px;
    right: -100px;
  }
}
/*
.box h2 span {
	margin: 0 0 10px;
	width: auto;
	height: 20px;
	display: block;
	text-indent: 105%;
	overflow: hidden;
	white-space: nowrap;
	background: no-repeat 0 50%;
	background-size: auto 20px;
}
*/
/* ------------------------------

 topicpath

------------------------------ */
.topicPath {
  margin: 0 auto 20px;
  padding: 10px 0 0;
}
.topicPath ol:before {
  font: normal normal normal 14px/1.5 Fontawesome;
  content: "\f015";
  color: #e16b15;
}
.topicPath li {
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
}
.topicPath li a {
  padding: 0 10px 0 0;
  position: relative;
  display: block;
}
.topicPath li a:after {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* ------------------------------

 table

------------------------------ */
table, th, td {
  border: 1px solid #CCC;
}

table {
  margin-bottom: 10px;
  width: 100%;
  background: #FFF;
  border: 0;
  border-top: 1px solid #CCC;
}

th, td {
  padding: 20px;
  border: 0;
  border-bottom: 1px solid #CCC;
}

th {
  white-space: nowrap;
  width: 250px;
  background: #FFF;
  font-weight: normal;
  border-right: 1px solid #CCC;
}

@media screen and (max-width: 480px) {
  th, td {
    display: block;
    padding: 0;
    font-size: 14px;
  }
  th {
    width: auto;
    border-right: 0;
    border-bottom: 0;
    font-weight: bold;
    padding: 10px 0;
  }
  td {
    padding-bottom: 10px;
  }
}
/* ------------------------------

pageBtnCenter

------------------------------ */
.pageBtnCenter {
  margin-bottom: 50px;
  text-align: center;
}

/* --------------------

pageContact

-------------------- */
.pageContact {
  border-radius: 5px;
  border-width: 3px;
  border-style: solid;
  width: auto;
  padding: 25px 15px 15px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  border-color: #ccc;
  max-width: 960px;
}
.pageContact:after {
  content: "";
  clear: both;
  display: block;
}

.pageContactHead {
  width: auto;
  float: left;
}
.pageContactHead h2 {
  margin: 0 0 10px;
  padding: 0;
  line-height: 1;
  font-size: 30px;
}
.pageContactHead h2:before {
  display: none;
}
.pageContactHead p {
  padding: 0;
  text-align: left;
}

.pageContactMain {
  width: auto;
  float: right;
}

.pageContactTel, .pageContactMail {
  display: inline-block;
  vertical-align: middle;
}
.pageContactTel .generalBtn, .pageContactMail .generalBtn {
  margin-bottom: 0 !important;
}

.pageContactTel {
  margin-right: 10px;
}
.pageContactTel p {
  line-height: 1;
}
.pageContactTel p span {
  position: relative;
  margin-right: 5px;
  width: 40px;
  height: 40px;
  display: inline-block;
  vertical-align: middle;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  /*background: #EA621C;*/
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: auto 30px;
  border-radius: 5px;
}
.pageContactTel p span:before {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 30px;
  margin: auto;
  color: #FFF;
  font: normal normal normal 30px/1 Fontawesome;
  content: "\f095";
  z-index: 100;
  text-align: center;
  text-indent: 0;
  display: block;
}
.pageContactTel p b, .pageContactTel p a {
  font-size: 32px;
  text-decoration: none;
  /*font-family: "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;*/
  font-weight: 900;
  color: #000;
  display: inline-block;
  vertical-align: middle;
}
.pageContactTel p em {
  display: block;
  text-align: center;
  font-size: 14px;
  padding: 3px 0;
}

/*
.pageContactMail p a {
  position: relative;
  display: inline-block;
  padding: 0 10px;
  text-align: center;
  cursor: pointer;
  height: 40px;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  color: #FFF;
  text-decoration: none;
  border-radius: 4px;
  &:before {
    display: inline-block;
    margin-right: 3px;
    font: normal normal normal 20px/1 Fontawesome;
    content: "\f0e0";
    display: none;
  }
  &.generalBtn {
    margin-bottom: 0;
  }
}
*/
.pageContactOpen {
  clear: both;
  margin-top: 10px;
}
.pageContactOpen p {
  display: inline-block;
  vertical-align: top;
  padding-left: 5.5em;
  position: relative;
  text-align: left;
  line-height: 1.3;
  font-size: 14px;
}
.pageContactOpen p span {
  padding: 2px 0;
  width: 70px;
  height: 20px;
  text-indent: 0;
  display: inline-block;
  color: #FFF;
  white-space: nowrap;
  background: #1E9FDA;
  text-align: center;
  font-size: 11px;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: absolute;
  top: -2px;
  left: 0;
}

.pageContactChuo {
  border-radius: 5px;
  border-width: 3px;
  border-style: solid;
  width: auto;
  padding: 15px 25px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  border-color: #ccc;
  max-width: 760px;
}
.pageContactChuo .pageContactFlex .pageContactTel,
.pageContactChuo .pageContactFlex .pageContactOpen {
  width: auto;
  float: none;
  display: inline-block;
}
.pageContactChuo .pageContactFlex .pageContactTel {
  margin-right: 30px;
}
.pageContactChuo .pageContactFlex .pageContactTel p span {
  background-color: #18469d;
}
.pageContactChuo .pageContactFlex .pageContactTel p a {
  color: #000;
}
.pageContactChuo .pageContactFlex .pageContactOpen {
  margin-top: 0;
}
.pageContactChuo .pageContactFlex .pageContactOpen p {
  line-height: 2;
  padding-left: 6.5em;
  font-size: 16px;
}
.pageContactChuo .pageContactFlex .pageContactOpen p span {
  font-weight: bold;
  font-size: 14px;
  background-color: #18469d;
  height: 30px;
  width: 90px;
  border-radius: 8px;
}

@media screen and (max-width: 1024px) {
  .pageContactHead, .pageContactMain, .pageContactTel, .pageContactMail {
    width: auto;
    float: none;
  }
  .pageContactHead {
    margin-bottom: 10px;
    text-align: center;
  }
  .pageContactHead h2, .pageContactHead p {
    display: inline-block;
    vertical-align: middle;
    background-position: 50% 0;
  }
  .pageContactHead h2 {
    margin: 0 0 10px;
  }
  .pageContactHead p {
    width: 375px;
  }
  .pageContactMail {
    display: inline-block;
  }
  .pageContactMain {
    text-align: center;
  }
  .pageContactOpen.pageContactOpen {
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  .pageContact {
    padding-left: 5px;
    padding-right: 5px;
  }
  .pageContactHead h2 {
    margin-bottom: 10px;
  }
  .pageContactHead p {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  .pageContact {
    margin-bottom: 50px;
  }
  .pageContactHead, .pageContactMain, .pageContactTel, .pageContactMail {
    width: 100%;
    float: none;
  }
  .pageContactHead h2 {
    width: 100%;
    font-size: 24px;
    background-size: auto 20px;
  }
  .pageContactHead p {
    width: 100%;
    background-size: auto 28px;
  }
  .pageContactTel {
    display: inline-block;
    margin-bottom: 10px;
  }
  .pageContactTel p {
    width: 100%;
    background-size: auto 30px;
  }
  .pageContactOpen {
    text-align: left;
  }
  .pageContactOpen p {
    text-indent: 0;
  }
  .pageContactOpen p span {
    top: 0;
  }
  .pageContactMail {
    margin-bottom: 10px;
  }
  /*
  .pageContactOpen p span {
  	display: block;
  }*/
}
.w50 {
  width: 48%;
}

@media screen and (max-width: 768px) {
  .w50 {
    width: 100%;
  }
}
@media screen and (max-width: 350px) {
  .pageContactTel p a {
    font-size: 29px;
  }
}
/* ==================== ページ ==================== */
/*
===== site　setting ===========================
*/
/* ======================================== global color ======================================== */
.flow h3, .navInner li:before, .faqList dd:before, .lectureTop h3, .privacyContents dt, .formmailInfo li:before, .school_top h2, .topicPath ol:before, .footerNav li::before, .pageContactTel p a, .indexLecture li time::before {
  color: #ff5c1e;
}

.pageContactOpen p span,
.pageContactTel p span,
h2:before,
.tusyoProceed dt:before,
.faqList dt:before,
.lectureContent h3,
.school_program h3,
.school_top h2 b,
.cost dt,
.flow dt,
.what ul li h3 {
  background-color: #ff5c1e;
}

.flow dl, .lectureContent {
  background: #FFF8ED;
}

.pageHeader {
  border-top-color: #EA6DA4;
}

.cost dl, .what ul li, .lectureContent, .tusyoProceed dl, .cost dl, .indexTopics {
  border-color: #ccc;
}

/*
@media screen and (max-width: 768px) {
	#panel-btn {
		background: #E16B15;
	}
}
@media screen and (max-width: 480px) {
	.headerTelNum b, 
	.headerTelNum a {
		background: #EA6DA4;
	}
}
*/
/* ------------------------------

generalBtn

------------------------------ */
a.generalBtn {
  position: relative;
  display: inline-block;
  text-align: center;
  margin: 0 auto 30px;
  padding: 0 10px;
  cursor: pointer;
  height: 40px;
  background: #ff5c1e;
  font-weight: 200;
  line-height: 40px;
  color: #FFF;
  text-decoration: none;
  border: 0;
  border-radius: 4px;
  -webkit-box-shadow: 0px 3px 0px 0px #be4719;
  box-shadow: 0px 3px 0px 0px #be4719;
}

.generalBtn {
  position: relative;
  display: inline-block;
  text-align: center;
  margin: 0 auto 30px;
  padding: 0 10px;
  cursor: pointer;
  height: 40px;
  background: #ff5c1e;
  font-weight: 200;
  line-height: 40px;
  color: #FFF;
  text-decoration: none;
  border: 0;
  border-radius: 4px;
  -webkit-box-shadow: 0px 3px 0px 0px #be4719;
  box-shadow: 0px 3px 0px 0px #be4719;
}
.generalBtn:active {
  top: 3px;
  -webkit-box-shadow: 0px 1px 0px 0px #be4719;
          box-shadow: 0px 1px 0px 0px #be4719;
}

a.generalBtn:after {
  margin-left: 5px;
  font: normal normal normal 14px/1.5 Fontawesome;
  content: "\f054";
}

.generalBtn:visited, .generalBtn:link {
  text-decoration: none;
}

/* ------------------------------

h1

------------------------------ */
.contents h1 {
  /*padding: 10px;
  background-image: url(../images/title_bg.png);
  background-repeat: no-repeat;
  background-position: 100% 105%;
  background-size: contain;*/
  /*

  background-color: #fff1f2;
  border: 3px solid #EA6DA4;
  border-radius: 0;
  background: #54B6E3;
  */
}

/*
@media screen and (min-width: 769px) {
	.contents h1 {
		height: 120px;
	}
}*/
.generalBtn {
  position: relative;
  display: inline-block;
  text-align: center;
  margin: 0 auto 30px;
  padding: 0 10px;
  cursor: pointer;
  height: 40px;
  background: #ff5c1e;
  font-weight: 200;
  line-height: 40px;
  color: #FFF;
  text-decoration: none;
  border: 0;
  border-radius: 4px;
  -webkit-box-shadow: 0px 3px 0px 0px #be4719;
  box-shadow: 0px 3px 0px 0px #be4719;
}

/* ==================== お知らせ ==================== */
/* お知らせ 投稿年月日・カテゴリー */
.topicsMeta {
  margin-bottom: 10px;
}

/* カテゴリータグ */
.iconTopics {
  display: inline-block;
  width: 70px;
  height: 20px;
  /*margin-left: 5px;*/
  line-height: 20px;
  background: #666;
  color: #fff;
  font-size: 11px;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px;
}

.iconTopics01 {
  background: #eb1d1d;
}

.iconTopics02 {
  background: #90c31f;
}

.iconTopics03 {
  background: #ee7700;
}

/*.iconTopics04 { background: #e1c340; }*/
.topicsMeta time {
  font-weight: bold;
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

/* お知らせ記事*/
.topicsArticle {
  margin: 20px 0 50px;
}
.topicsArticle p {
  line-height: 1.8;
}
.topicsArticle figure a {
  text-decoration: none;
}
.topicsArticle figure img {
  margin-bottom: 5px;
}
.topicsArticle figcaption {
  font-size: 0.857em;
}

/*
.topicsArticle h2 {
	margin-bottom: 10px;
	font-size: 24px;
}
*/
.topicsContents {
  overflow: hidden;
}

/* PDFアイコンボタン */
.topicsLinkPDF {
  margin: 40px 0 20px;
}
.topicsLinkPDF li {
  margin-bottom: 10px;
}
.topicsLinkPDF a {
  display: inline-block;
  line-height: 1;
  padding: 10px 10px 10px 32px;
  border: 1px solid #ccc;
  background: url(../images/icon-pdf.png) no-repeat 3px 50%;
  background-size: 24px;
  color: #333;
  text-decoration: none;
}
.topicsLinkPDF a:hover, .topicsLinkPDF a:focus {
  filter: alpha(opacity=60);
  opacity: 0.6;
}

/* お知らせ記事 トップ画像 */
.topicsTopImg {
  float: right;
  width: 30%;
  margin-left: 20px;
}
.topicsTopImg img {
  max-width: 100%;
}

@media screen and (max-width: 480px) {
  .topicsTopImg {
    float: none;
    width: auto;
    margin: 0 0 20px;
  }
}
/* お知らせ記事 3つ画像 */
.topicsImg {
  margin: 50px 0 80px;
}
.topicsImg li {
  float: left;
  width: 28%;
  margin-left: 8%;
}
.topicsImg li:first-child {
  margin-left: 0;
}
.topicsImg img {
  max-width: 100%;
}
.topicsImg li a {
  display: block;
}

@media screen and (max-width: 480px) {
  .topicsImg li {
    float: none;
    width: auto;
    margin: 0 0 20px;
  }
}
/* --------------------

topicsReturn

-------------------- */
.topicsReturn {
  margin-bottom: 50px;
}
.topicsReturn p {
  text-align: center;
}
.topicsReturn a.generalBtn:before {
  margin-right: 5px;
  font: normal normal normal 14px/1.5 Fontawesome;
  content: "\f137";
}

a.generalBtnReturn:before {
  margin-right: 5px;
  font: normal normal normal 14px/1.5 Fontawesome;
  content: "\f137";
}

.topicsReturn a.generalBtn:after, a.generalBtnReturn:after {
  display: none;
}

/* --------------------

topicsBacknumber

-------------------- */
.topicsBacknumber h2 {
  font-size: 18px;
}

.topicsBacknumberList li {
  line-height: 1.5;
  border-bottom: 1px dotted #ccc;
  font-size: 14px;
  width: auto;
}
.topicsBacknumberList li:after {
  content: "";
  clear: both;
  display: block;
}
.topicsBacknumberList li a {
  /*    display: block;
      position: relative;
  padding: 10px 10px 10px 20px;
      overflow: hidden;*/
  display: block;
  padding: 10px 0;
  text-decoration: none;
  text-align: left;
}
.topicsBacknumberList li a time, .topicsBacknumberList li a span {
  float: left;
  margin-right: 10px;
}
.topicsBacknumberList li time {
  color: #333;
}
.topicsBacknumberList li p {
  /*display: inline-block;*/
  text-decoration: underline;
  overflow: hidden;
}
.topicsBacknumberList li span {
  height: 20px;
}
.topicsBacknumberList li:hover p {
  text-decoration: none;
}

/*
.topicsBacknumberList li:first-child {
	border-top: 1px dashed #ccc;
}
*/
@media screen and (max-width: 1024px) {
  .topicsBacknumberList li a {
    padding: 10px 10px 10px 0;
  }
}
/*
.topicsBacknumberList li a time,
.topicsBacknumberList li a span,
.topicsBacknumberList li a p {
	position: relative;
	z-index: 100;
}
*/
/*
.topicsBacknumberList li time, .topicsBacknumberList li span, .topicsBacknumberList li p {
	vertical-align: top;
}

.topicsBacknumberList li span {
	display: inline-block;
	margin: 2px 10px 0;
}
*/
.topicsBacknumberLink {
  position: absolute;
  top: 10px;
  right: 10px;
}

@media screen and (max-width: 480px) {
  .topicsBacknumberList li p {
    overflow: visible;
    clear: both;
  }
}
/* バックナンバーをスクロールさせる場合 */
.topicsScroll ul {
  height: 220px;
  overflow-y: scroll;
}

/* ==================== INDEX ==================== */
.indexTopics h2,
.indexAbout h2,
.indexService h2,
.indexContetnts h2,
.indexOffice h2,
.indexPartner h2 {
  font-size: 40px;
  line-height: 1.3;
  margin-bottom: 50px;
}
.indexTopics h2 span,
.indexAbout h2 span,
.indexService h2 span,
.indexContetnts h2 span,
.indexOffice h2 span,
.indexPartner h2 span {
  display: inline-block;
  padding-left: 100px;
  padding-right: 100px;
  background: url(../images/title_bg01.png) no-repeat 0 50%, url(../images/title_bg02.png) no-repeat 100% 50%;
}

@media screen and (max-width: 768px) {
  .indexTopics h2,
  .indexAbout h2,
  .indexService h2,
  .indexContetnts h2,
  .indexOffice h2,
  .indexPartner h2 {
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 25px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: url(../images/title_bg01.png) no-repeat 0 50%, url(../images/title_bg02.png) no-repeat 100% 50%;
  }
  .indexTopics h2 span,
  .indexAbout h2 span,
  .indexService h2 span,
  .indexContetnts h2 span,
  .indexOffice h2 span,
  .indexPartner h2 span {
    padding-left: 0;
    padding-right: 0;
    background: transparent;
  }
}
@media screen and (max-width: 480px) {
  .indexTopics p,
  .indexAbout p,
  .indexService p,
  .indexContetnts p,
  .indexOffice p,
  .indexPartner p {
    font-size: 14px;
  }
}
.fixBg:after {
  content: "";
  display: block;
  margin-top: 50px;
  margin-left: calc((100% - 100vw) / 2 + 8px); /*スクロールバーの幅を考慮（+8px）*/
  margin-right: calc((100% - 100vw) / 2 + 8px); /*スクロールバーの幅を考慮（+8px）*/
  height: 400px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-attachment: fixed;
}

@media screen and (max-width: 768px) {
  .fixBg:after {
    background-attachment: inherit;
  }
}
@media screen and (max-width: 640px) {
  .fixBg:after {
    display: none;
  }
}
.indexTopics .generalBtn,
.indexAbout .generalBtn,
.indexService .generalBtn,
.indexContetnts .generalBtn,
.indexOffice .generalBtn,
.indexPartner .generalBtn {
  padding-top: 0;
  padding-bottom: 0;
  height: 50px;
  line-height: 50px;
  color: #000;
  font-weight: bold;
  text-decoration: none;
  border: 2px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #ff5c1e;
  text-decoration: none;
  border-radius: 0;
  background: transparent;
  -webkit-box-shadow: 0px 0px 0px 0px;
  box-shadow: 0px 0px 0px 0px;
}

/* --------------------
topImg
-------------------- */
.topImg {
  position: relative;
  z-index: 2;
  height: 500px;
  margin-bottom: 50px;
}
.topImg .topImgInner {
  position: absolute;
  right: 0;
  top: 0;
  width: 72%;
  width: 100%;
  height: 500px;
  z-index: 3;
}
.topImg .topImgInner ul li {
  height: 500px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.topImg .topImgInner ul .slide1 {
  background-image: url(../images/top_img01.jpg);
}
.topImg .topImgInner ul .slide2 {
  background-image: url(../images/top_img02.jpg);
}
.topImg .topImgInner ul .slide3 {
  background-image: url(../images/top_img03.jpg);
}
.topImg .topImgInner ul .slide4 {
  background-image: url(../images/top_img04.jpg);
}
.topImg .topImgInner ul .slide5 {
  background-image: url(../images/top_img05.jpg);
}
.topImg .topImgText {
  width: 50%;
  min-width: 580px;
  height: 180px;
  z-index: 10;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.7);
  text-align: right;
  padding-top: 30px;
  padding-bottom: 20px;
  padding-right: 20px;
}
.topImg .topImgText .topImgTextBox h1 {
  display: inline-block;
}
.topImg .topImgText .topImgTextBox p {
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .topImg .topImgText {
    padding-left: 10px;
  }
}
@media screen and (max-width: 768px) {
  .topImg {
    height: auto;
    margin-bottom: 10px;
  }
  .topImg .topImgInner {
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 3;
  }
  .topImg .topImgText {
    width: 100%;
    padding: 20px;
    margin-bottom: 0;
    top: inherit;
    bottom: 0;
    height: auto;
    min-width: auto;
    padding: 10px;
  }
  .topImg .topImgText .topImgTextBox {
    text-align: center;
  }
  .topImg .topImgText .topImgTextBox h1 {
    display: inline-block;
  }
  .topImg .topImgText .topImgTextBox h1 img {
    width: auto;
  }
  .topImg .topImgText .topImgTextBox p {
    display: inline-block;
  }
}
@media screen and (max-width: 480px) {
  .topImg .topImgInner {
    height: 200px;
  }
  .topImg .topImgInner ul li {
    height: 200px;
  }
  .topImg .topImgText .topImgTextBox h1 img {
    height: 60px;
  }
}
/* --------------------
indexTopics
-------------------- */
#index .indexTopics {
  position: relative;
  margin-bottom: 80px;
  padding: 10px 20px 10px;
  width: 100%;
  background: #fff6f3;
}
#index .indexTopics h2 {
  position: relative;
  margin-bottom: 10px;
  padding: 12px 12px 12px 12px;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 20px;
  background: transparent;
  border-bottom: 1px solid #000;
}
#index .indexTopics h2:before {
  display: none;
}
#index .indexTopics dl {
  display: table-cell;
  vertical-align: middle;
}
#index .indexTopics dl:after {
  content: "";
  clear: both;
  display: block;
}
#index .indexTopics dt {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  padding: 0 10px 0 15px;
  font-weight: normal;
}
#index .indexTopics dt:before {
  position: absolute;
  width: 11px;
  height: 11px;
  top: 0.4em;
  left: 0;
  font: normal normal normal 11px/1 Fontawesome;
  content: "\f144";
  color: #7aba16;
}
#index .indexTopics dt time {
  margin-right: 10px;
}
#index .indexTopics dd {
  display: table-cell;
  vertical-align: middle;
  padding-right: 100px;
  line-height: 1.3;
}
#index .indexTopics ul + p {
  position: absolute;
  top: 25px;
  right: 20px;
}
#index .indexTopics ul + p a {
  position: relative;
  display: block;
  text-align: center;
  cursor: pointer;
  width: 80px;
  height: 20px;
  font-size: 11px;
  line-height: 20px;
  text-decoration: none;
  border-radius: 4px;
  letter-spacing: -0.09em;
}
#index .indexTopics ul + p a:before {
  display: inline-block;
  margin-right: 5px;
  font: normal normal normal 11px/1 Fontawesome;
  content: "\f0da";
}

@media screen and (min-width: 769px) {
  .indexTopics {
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .indexTopics {
    padding-left: 10px;
    padding-right: 10px;
  }
  .indexTopics ul + p {
    right: 10px;
  }
  .indexTopics h2,
  .indexTopics dl,
  .indexTopics dt,
  .indexTopics dd {
    display: block;
  }
  .indexTopics h2 {
    width: 100%;
    height: auto;
    line-height: 1;
    margin: 0 0 10px;
    padding: 10px 0 10px 10px;
    text-align: left;
  }
  .indexTopics dd {
    padding: 0 10px 10px;
  }
}
.indexAbout,
.indexService,
.indexFirst,
.indexCompany,
.indexOffice,
.indexPartner {
  margin-top: 20px;
  margin-bottom: 50px;
}
.indexAbout h2,
.indexService h2,
.indexFirst h2,
.indexCompany h2,
.indexOffice h2,
.indexPartner h2 {
  padding: 0;
  text-align: center;
}
.indexAbout h2:before,
.indexService h2:before,
.indexFirst h2:before,
.indexCompany h2:before,
.indexOffice h2:before,
.indexPartner h2:before {
  display: none;
}
.indexAbout p,
.indexService p,
.indexFirst p,
.indexCompany p,
.indexOffice p,
.indexPartner p {
  position: relative;
  text-align: center;
  line-height: 2;
  margin-bottom: 30px;
}

.indexAbout.fixBg:after {
  background-image: url(../images/index_img_bg01.jpg);
}

.indexService.fixBg:after {
  background-image: url(../images/index_img_bg02.jpg);
}

.indexContetnts.fixBg:after {
  background-image: url(../images/index_img_bg03.jpg);
}

/* --------------------
indexAbout
-------------------- */
@media screen and (max-width: 768px) {
  .indexAbout h2 {
    width: auto;
    height: 70px;
    background-image: url(../images/index_about_title.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto 70px;
  }
}
@media screen and (max-width: 480px) {
  .indexAbout h2 img {
    height: 40px;
  }
}
/* --------------------
indexService
-------------------- */
.indexService {
  margin-bottom: 50px;
}
.indexService a {
  text-decoration: none;
}
.indexService ul {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 50px;
}
.indexService ul li {
  overflow: hidden;
  text-align: center;
  margin-bottom: 20px;
}
.indexService ul li:first-child {
  margin-left: 0;
}
.indexService ul li a {
  border-radius: 20px;
  display: block;
  border: 1px solid #ccc;
  height: 100%;
}
.indexService ul li figure {
  width: 100%;
  margin-bottom: 20px;
}
.indexService ul li figure img {
  width: 100%;
  border-radius: 20px 20px 0 0;
  height: auto;
}
.indexService ul li h3 {
  margin-bottom: 10px;
  font-size: 20px;
}
.indexService ul li p {
  font-size: 14px;
}
.indexService li:nth-child(1) h3 {
  color: #8bc56c;
}
.indexService li:nth-child(2) h3 {
  color: #da6a45;
}
.indexService li:nth-child(3) h3 {
  color: #bb7caf;
}
.indexService li:nth-child(4) h3 {
  color: #6c77c5;
}
.indexService li:nth-child(5) h3 {
  color: #9e9f45;
}
.indexService li:nth-child(6) h3 {
  color: #9f4545;
}

@media screen and (min-width: 641px) {
  .indexService ul {
    margin: -10px -10px 50px;
  }
  .indexService ul li {
    width: 33.3333333333%;
    padding: 10px;
  }
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  .indexService ul li {
    width: calc((100% - 30px) / 3);
    margin-left: 15px;
  }
}
@media screen and (max-width: 640px) {
  .indexService ul li {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .indexService ul {
    margin-bottom: 0;
  }
  .indexService ul li p {
    margin-bottom: 0;
  }
  .indexService ul li h3 + p {
    margin-bottom: 10px;
  }
  #index .indexService2 {
    padding: 10px !important;
  }
}
#index .indexService2 {
  background: #eee;
  padding: 20px 20px 0;
}
#index .indexService2:after {
  content: "";
  display: block;
  clear: both;
}
#index .indexService2 .indexService2Box {
  border: 1px solid #ccc;
  background: #fff;
  float: left;
  width: calc((100% - 20px) / 2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px;
  margin-bottom: 20px;
}
#index .indexService2 .indexService2Box:nth-child(even) {
  margin-right: 20px;
}
#index .indexService2 .indexService2Box img {
  max-height: 72px;
  width: auto;
}
#index .indexService2 .indexService2Box h2 {
  margin: 0;
}
#index .indexService2 .indexService2Box p {
  margin: 20px 0 0;
  padding: 0;
}
#index .indexService2 .indexService2Box:first-child {
  float: none;
  width: 100%;
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  #index h2 {
    background: transparent;
  }
}
@media screen and (max-width: 640px) {
  #index .indexService2 .indexService2Box {
    float: none;
    width: 100%;
  }
  #index .indexService2 .indexService2Box:first-child {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
/* --------------------
indexContetnts
-------------------- */
.indexContetnts {
  margin-bottom: 80px;
}

/* --------------------
indexFirst、indexCompany
-------------------- */
@media screen and (min-width: 641px) {
  .indexFirst,
  .indexCompany {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .indexFirst .indexBox,
  .indexCompany .indexBox {
    width: 50%;
  }
  .indexFirst .indexImg,
  .indexCompany .indexImg {
    width: 50%;
  }
  .indexCompany {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
/* --------------------
indexOffice
-------------------- */
.indexOffice {
  margin: 0 auto 50px;
}
.indexOffice ul {
  width: auto;
  margin-bottom: 50px;
}
.indexOffice ul:after {
  content: "";
  display: block;
  clear: both;
}
.indexOffice ul li {
  margin-left: 15px;
  margin-bottom: 20px;
  width: calc((100% - 45px) / 4);
  float: left;
}
.indexOffice ul li:nth-child(4n+1) {
  margin-left: 0;
}
.indexOffice ul li img {
  max-width: 100%;
}

@media screen and (max-width: 480px) {
  .indexOffice ul li {
    margin-left: 10px;
    width: calc((100% - 10px) / 2);
  }
  .indexOffice ul li:nth-child(2n+1) {
    margin-left: 0;
  }
}
/* top_contents
-------------------------------------------------------------------*/
.top_contents {
  padding: 60px 0;
  background: #f0f0fa;
}

.top_banner {
  margin-bottom: 60px;
}

.top_banner ul {
  width: auto;
}

.top_banner ul:after {
  content: "";
  clear: both;
  display: block;
}

.top_ig {
  margin-bottom: 50px;
}

.top_ig h3 {
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 20px;
  background: url(../img/top/top_ig_bar.png) no-repeat 50% 100%;
}

.instagram {
  width: 100%;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-box;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  list-style: none;
}

.instagram li {
  width: 25%;
  text-align: center;
}

.instagram li img {
  width: 100%;
  max-width: 220px;
  height: auto;
}

@media screen and (min-width: 769px), print {
  .top_banner ul li {
    width: calc((100% - 60px) / 2);
    margin-left: 60px;
    float: left;
  }
  .top_banner ul li:first-child {
    margin-left: 0;
  }
  .top_sns {
    margin: 0 auto;
    width: 1100px;
  }
  .top_sns:after {
    content: "";
    clear: both;
    display: block;
  }
  .top_sns_box {
    width: 48%;
    height: 360px;
    float: left;
  }
  .top_fb {
    float: right;
  }
}
.indexFacebook {
  width: auto;
  text-align: center;
  clear: both;
}
.indexFacebook:after {
  content: "";
  display: block;
  clear: both;
}
.indexFacebook .fb-container {
  margin-bottom: 20px;
}

/* PC用 */
@media screen and (min-width: 1041px), print {
  .indexFacebook {
    width: 1040px;
    margin: 0 auto;
  }
  .fb-container {
    width: 500px;
    margin: 0 10px;
    float: left;
  }
}
@media screen and (min-width: 769px) and (max-width: 1040px) {
  .indexFacebook {
    width: 100%;
    margin: 0 auto;
  }
  .fb-container {
    width: calc((100% - 20px) / 2);
    float: left;
  }
}
/* スマホ用 */
@media screen and (max-width: 768px) {
  .indexFacebook {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .fb-container {
    width: 100%;
    max-width: 500px;
  }
}
.indexPartner li {
  width: 48%;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}

@media screen and (max-width: 480px) {
  .indexPartner li {
    width: 100%;
  }
  .indexPartner li img {
    width: 240px;
  }
}
/* ------------------------------

philosophy

------------------------------ */
/*
.philosophy h2 span {
	background-image: url(../images/philosophy_title.png);
}
*/
@media screen and (min-width: 769px) {
  .philosophy {
    margin-bottom: 50px;
  }
  .philosophy figure {
    position: relative;
    z-index: 10;
  }
  .philosophyText {
    float: left;
    width: calc(100% - 320px);
    position: relative;
    z-index: 100;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-right: 50px;
  }
}
@media screen and (min-width: 481px) {
  .philosophy h3 {
    margin: 0 0 20px;
    /*width: auto;
    height: 40px;
    display: block;
    text-indent: 105%;
    overflow: hidden;
    white-space: nowrap;
    background: url(../images/philosophy_text.png) no-repeat 0 50%;
    background-size: auto 40px;
    br {
      display: none;
    }*/
    color: #50ace4;
    font-size: 24px;
  }
  .philosophy p {
    display: inline-block;
    float: left;
    margin-right: 20px;
    line-height: 1.5;
    font-size: 16px;
  }
  .philosophy figure img {
    max-width: 360px;
    margin-left: -50px;
  }
}
@media screen and (max-width: 768px) {
  .philosophy h3 {
    /*height: 40px;
    background-size: auto 40px;
    background-position: center center;*/
    height: auto;
    color: #ff5c1e;
    margin-bottom: 10px;
  }
  .philosophy p {
    margin-bottom: 15px;
  }
  .philosophy img {
    max-width: none;
    max-height: 200px;
  }
}
/*
@media screen and (max-width: 480px) {
  .philosophy {
    h3 {
      margin-bottom: 10px;
      height: auto;
      font-size: 20px;
      color: #ef7e00;
    }
  }
}
*/
/* ------------------------------

origin

------------------------------ */
/*
.origin h2 span {
	background-image: url(../images/origin_title.png);
}
*/
.origin h3 {
  margin-bottom: 10px;
  color: #ff5c1e;
  font-size: 18px;
}
.origin ul {
  margin: 0 0 10px;
  width: auto;
  padding: 20px;
  background: #FFF8ED;
}
.origin ul:after {
  content: "";
  clear: both;
  display: block;
}
.origin li {
  padding: 0 10px;
  width: 49%;
  height: 80px;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  background: #FFF;
  border-radius: 5px;
  font-size: 30px;
  border: 2px solid #EA621C;
  text-indent: 105%;
  overflow: hidden;
  white-space: nowrap;
  background: no-repeat 50% 50%;
  background-color: #FFF;
  background-size: auto 20px;
}
.origin li:nth-child(1) {
  background-image: url(../images/origin_name_01.png);
  margin-right: 2%;
}
.origin li:nth-child(2) {
  background-image: url(../images/origin_name_02.png);
}
.origin p {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.8;
  display: block;
  overflow: hidden;
  background-size: auto 20px;
}
.origin figure {
  margin-top: -50px;
  float: right;
  max-width: 140px;
  margin-left: 20px;
}

@media screen and (max-width: 768px) {
  .origin ul {
    padding: 10px;
  }
  .origin p {
    height: 50px;
    background-size: auto 50px;
  }
}
@media screen and (max-width: 480px) {
  .origin li {
    float: none;
    width: auto;
  }
  .origin li:nth-child(1) {
    margin: 0 0 10px;
  }
  .origin figure {
    display: none;
  }
}
/* ------------------------------

policy

------------------------------ */
.policy figure {
  float: right;
  width: 420px;
  margin-top: 30px;
  margin-left: 20px;
}
.policy ul {
  overflow: hidden;
}
.policy li {
  font-size: 18px;
  margin-bottom: 20px;
  padding-left: 50px;
  text-indent: -50px;
  line-height: 1.3;
}
.policy li img {
  margin-right: 5px;
  width: 40px;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .policy figure {
    display: none;
    float: none;
    margin: 0 0 20px;
    width: 100%;
    max-height: 80px;
    text-align: center;
  }
  .policy img {
    max-height: 80px;
  }
}
/* ------------------------------

mind

------------------------------ */
.mind h2 span {
  background-image: url(../images/mind_title.png);
}

@media screen and (min-width: 481px) {
  .mind p {
    width: 680px;
    float: left;
    line-height: 1.8;
    margin-right: 20px;
  }
  .mind figure {
    overflow: hidden;
  }
  .mind figure img {
    max-width: 240px;
  }
}
@media screen and (max-width: 768px) {
  .mind {
    padding-bottom: 260px;
    background-position: 50% 100%;
  }
  .mind p {
    padding: 0;
  }
  .mind p br {
    display: none;
  }
}
/* ------------------------------

attitude

------------------------------ */
.attitude {
  width: auto;
}
.attitude:after {
  content: "";
  clear: both;
  display: block;
}
.attitude p {
  margin-bottom: 20px;
  line-height: 1.8;
}
.attitude figure {
  text-align: center;
  width: 50%;
  float: right;
}
.attitude figure img {
  width: 100%;
  max-width: 480px;
}
.attitude figure + p {
  width: 50%;
  float: left;
  height: 344px;
  text-indent: 105%;
  overflow: hidden;
  white-space: nowrap;
  background: url(../images/attitude_text.png) no-repeat 50% 50%;
  background-size: auto 50px;
}

@media screen and (max-width: 1024px) {
  .attitude figure {
    text-align: center;
    width: 100%;
    float: none;
    margin-bottom: 15px;
  }
  .attitude figure + p {
    text-align: center;
    width: 100%;
    float: none;
    height: 50px;
  }
}
@media screen and (max-width: 480px) {
  .attitude figure + p {
    height: 36px;
    background-size: auto 36px;
  }
}
/* ------------------------------

vision

------------------------------ */
.vision h3 {
  color: #ff5c1e;
  font-size: 18px;
  font-weight: bold;
}
.vision p {
  margin-bottom: 20px;
  font-size: 16px;
}

@media screen and (max-width: 480px) {
  .vision table {
    border: none;
  }
  .vision table th {
    display: none;
  }
  .vision table td {
    display: block;
    width: 100%;
    border-top: none;
  }
  .vision table td:first-child {
    border-top: 1px solid #ccc;
  }
  .vision table td:nth-child(1):before {
    display: block;
    font-weight: bold;
    content: "0歳";
  }
  .vision table td:nth-child(2):before {
    display: block;
    font-weight: bold;
    content: "小学生～高校生";
  }
  .vision table td:nth-child(3):before {
    display: block;
    font-weight: bold;
    content: "18歳～";
  }
  .vision table td:nth-child(4):before {
    display: block;
    font-weight: bold;
    content: "65歳～";
  }
}
/* ------------------------------

step

------------------------------ */
.step ul {
  margin-left: -10px;
  margin-right: -10px;
}
.step li {
  float: left;
  width: 33.33%;
  padding: 0 10px;
}
.step h3 {
  margin-bottom: 10px;
  padding: 5px 10px;
  background: #ff5c1e;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
}
.step figure {
  float: right;
  width: 40%;
}
.step p {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .step li {
    float: none;
    width: auto;
    margin-bottom: 20px;
  }
  .step figure {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }
  .step figure img {
    max-height: 160px;
  }
}
/* ------------------------------

aboutName

------------------------------ */
.aboutName figure {
  text-align: center;
}
.aboutName figure img {
  max-width: 560px;
}

@media screen and (max-width: 768px) {
  .aboutName figure img {
    max-width: 100%;
  }
}
/* ------------------------------

aboutBook

------------------------------ */
.aboutBooks figure {
  text-align: center;
  width: 360px;
  float: left;
  margin: 0 10px 30px 0;
}
.aboutBooks figure img {
  max-width: 100%;
}
.aboutBooks figure:after {
  content: "";
  display: block;
  clear: both;
}
.aboutBooks p {
  overflow: hidden;
}
.aboutBooks ul {
  width: auto;
  clear: both;
}
.aboutBooks ul:after {
  content: "";
  display: block;
  clear: both;
}
.aboutBooks ul li {
  width: calc((100% - 60px) / 3);
  float: left;
  margin-left: 30px;
}
.aboutBooks ul li:first-child {
  margin-left: 0;
}
.aboutBooks ul li img {
  max-width: 100%;
}
.aboutBooks ul li span {
  display: block;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .aboutBooks figure {
    float: none;
    margin-bottom: 10px;
    text-align: center;
    width: 100%;
  }
  .aboutBooks figure img {
    max-width: 480px;
    width: 100%;
  }
  .aboutBooks p {
    overflow: visible;
    margin-bottom: 20px;
  }
  .aboutBooks ul li {
    width: calc((100% - 20px) / 3);
    margin-left: 10px;
  }
}
/* ------------------------------

program

------------------------------ */
.program strong {
  display: inline-block;
  margin-bottom: 10px;
  color: #eb1d1d;
  font-size: 18px;
  font-weight: bold;
}

.programList ul {
  width: auto;
}
.programList ul:after {
  content: "";
  clear: both;
  display: block;
}
.programList ul > li {
  border-radius: 5px;
  border-width: 2px;
  border-style: solid;
  overflow: hidden;
  width: calc((100% - 30px) / 3);
  float: left;
  margin-bottom: 15px;
  margin-left: 10px;
  background: #FFF;
  border-color: #066EB7;
}
.programList ul > li:nth-child(3n+1) {
  margin-left: 0;
}
.programList li h3 {
  color: #FFF;
  font-size: 18px;
  padding: 15px 10px;
  line-height: 1.2;
  background: #3597d3;
  text-align: center;
}
.programList li h4 {
  margin: 0 10px;
  font-size: 16px;
}
.programList li:nth-child(1) {
  border-color: #e56868;
}
.programList li:nth-child(1) h3 {
  background: #e56868;
}
.programList li:nth-child(2) {
  border-color: #9777d2;
}
.programList li:nth-child(2) h3 {
  background: #9777d2;
}
.programList li:nth-child(3) {
  border-color: #fdb509;
}
.programList li:nth-child(3) h3 {
  background: #fdb509;
}
.programList li:nth-child(4) {
  border-color: #e03e52;
}
.programList li:nth-child(4) h3 {
  background: #e03e52;
}
.programList li:nth-child(5) {
  border-color: #45b035;
}
.programList li:nth-child(5) h3 {
  background: #45b035;
}
.programList li:nth-child(6) {
  border-color: #e56868;
}
.programList li:nth-child(6) h3 {
  background: #e56868;
}
.programList li:nth-child(3) h4 {
  color: #E69D30;
}
.programList li:nth-child(4) h4 {
  color: #EF8C8D;
}
.programList li figure {
  text-align: center;
}
.programList li figure img {
  max-width: 360px;
  width: 100%;
}
.programList ol {
  margin: 0 10px;
  width: auto;
}
.programList ol:after {
  content: "";
  clear: both;
  display: block;
}
.programList ol li {
  padding: 10px 0;
  float: left;
  width: 31.6666666667%;
  margin: 0 0.5% 5px;
  text-align: center;
  border-radius: 5px;
  border-width: 1px;
  border-style: solid;
  font-weight: bold;
  display: table;
  vertical-align: middle;
}
.programList ol li span {
  width: 100%;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
  line-height: 1.2;
}
.programList ul li:nth-child(1) li {
  border-color: #3A9BD6;
  color: #3A9BD6;
}
.programList ul li:nth-child(2) li {
  border-color: #27B27C;
  color: #27B27C;
}
.programList ul li:nth-child(3) li {
  border-color: #E69D30;
  color: #E69D30;
}
.programList ul li:nth-child(4) li {
  border-color: #EF8C8D;
  color: #EF8C8D;
}
.programList li p {
  color: #000;
  padding: 5px;
  margin: 10px;
  text-align: center;
  background-color: #fff3c3;
  font-weight: bold;
}
.programList li ul {
  padding: 0 8px;
}
.programList li ul li {
  position: relative;
  width: 100%;
  border: 0;
  margin: 0 0 10px;
  padding-left: 15px;
  color: #000 !important;
}
.programList li ul li:before {
  position: absolute;
  top: 4px;
  left: 0;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: #666;
}

/*
@media screen and (max-width: 768px) {
	.programList ol li {
		font-size: 12px;
	}
}
*/
@media screen and (max-width: 768px) {
  .programList ul > li {
    width: auto;
    float: none;
    margin: 0 0 15px;
  }
  .programList ul > li:nth-child(1), .programList ul > li:nth-child(3) {
    margin-right: 0;
  }
}
/* ------------------------------

support

------------------------------ */
.support p {
  margin-bottom: 15px;
}
.support h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: #3597d3;
}
.support h4 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: #666;
}
.support ul {
  width: auto;
}
.support ul:after {
  content: "";
  clear: both;
  display: block;
}
.support ul li {
  position: relative;
  margin-bottom: 15px;
  margin-left: 1.5%;
  padding-bottom: 10px;
  border: 3px solid;
  float: left;
  border-radius: 5px;
  background: #FBF6E9;
}
.support ul li h3 {
  padding: 15px 15px 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: #0A6EB5;
}
.support ul li:nth-child(2) h3 {
  color: #4BAD66;
}
.support ul li:nth-child(3) h3 {
  color: #4EB2E4;
}
.support ul li:nth-child(4) h3 {
  color: #826ABC;
}
.support ul li:nth-child(5) h3 {
  color: #E9552E;
}
.support ul li p {
  padding: 10px;
  font-size: 14px;
  width: 74%;
  display: inline-block;
  vertical-align: top;
}
.support ul li:nth-child(1) {
  border-color: #e56868;
}
.support ul li:nth-child(1) h3 {
  color: #e56868;
}
.support ul li:nth-child(2) {
  border-color: #9777d2;
}
.support ul li:nth-child(2) h3 {
  color: #9777d2;
}
.support ul li:nth-child(3) {
  border-color: #fdb509;
}
.support ul li:nth-child(3) h3 {
  color: #fdb509;
}
.support ul li:nth-child(4) {
  border-color: #e03e52;
}
.support ul li:nth-child(4) h3 {
  color: #e03e52;
}
.support ul li:nth-child(5) {
  border-color: #45b035;
}
.support ul li:nth-child(5) h3 {
  color: #45b035;
}
.support ul li:nth-child(6) {
  border-color: #e56868;
}
.support ul li:nth-child(6) h3 {
  color: #e56868;
}
.support ul li figure {
  width: 24%;
  display: inline-block;
  vertical-align: bottom;
  text-align: center;
  overflow: hidden;
}
.support ul li figure img {
  height: auto;
  max-height: 70px;
  max-width: 160px;
}
.support ul li:nth-child(2) figure img {
  max-width: 100px;
}

/*.support ul li:nth-child(1) h3 { color: #c4b121;}*/
/*.support ul li:nth-child(1) { border-color: #c4b121; background-color: #F9F8E7; }*/
/*
@media screen and (min-width: 769px) {
	.support ul li {
		width: calc(97% / 3);
	}

	.support ul li:nth-child(3n+1) {
		margin-left: 0;
	}
}
*/
/*@media screen and (min-width: 481px) and (max-width: 768px) {*/
@media screen and (min-width: 481px) {
  .support ul li {
    width: 49%;
  }
  .support ul li:nth-child(odd) {
    margin-left: 0;
  }
}
@media screen and (max-width: 786px) {
  .support ul li p, .support ul li figure {
    width: 100%;
    display: block;
  }
}
/* ------------------------------

soft

------------------------------ */
.soft {
  margin-bottom: 50px;
  border-width: 3px;
  border-style: solid;
  border-radius: 10px;
  padding: 0 15px 15px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: auto;
  overflow: hidden;
}
.soft:after {
  content: "";
  clear: both;
  display: block;
}

.hug {
  border-color: #E14318;
  background: #fff;
}

.cb {
  border-color: #3361AD;
}

.soft h2 {
  /*margin-bottom: 0;
  font-size: 24px;
  line-height: 1.5;
  padding: 0;*/
  color: #FFF;
  margin-left: -20px;
  margin-right: -20px;
}

.hug h2 {
  background-color: #E14318;
}

.cb h2 {
  background-color: #3361AD;
}

.hug h2:before, .cb h2:before {
  display: none;
}

.soft h3 {
  margin-bottom: 10px;
  font-size: 18px;
}

.hug h3 {
  color: #E14318;
}

.cb h3 {
  color: #3361AD;
}

.softTop {
  margin-bottom: 30px;
}

.softDetail {
  margin-bottom: 20px;
  width: 50%;
  padding: 0 5px;
  float: left;
}
.softDetail figure {
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #CCC;
  background: #FFF;
}

.soft dl {
  padding: 15px;
  border: 1px solid #CCC;
  background: #F5F5F5;
  clear: both;
}
.soft em {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .soft h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 480px) {
  .soft h2 {
    font-size: 18px;
  }
  .softDetail {
    margin-bottom: 20px;
    width: 100%;
    padding: 0;
    float: none;
  }
  .softDetail figure {
    margin: 0 0 5px;
    float: none;
    width: 100%;
  }
  .softDetail p {
    overflow: visible;
  }
}
/* ------------------------------

staff

------------------------------ */
.staff ul {
  width: auto;
}
.staff ul:after {
  content: "";
  clear: both;
  display: block;
}
.staff li {
  margin-bottom: 30px;
}
.staff li:after {
  content: "";
  clear: both;
  display: block;
}
.staff li figure {
  margin-right: 10px;
  width: 120px;
  float: left;
  margin-bottom: 10px;
}
.staff li h3, .staff li h4, .staff li table {
  overflow: hidden;
  width: auto;
}
.staff li h3 {
  padding: 0 5px 5px;
  font-size: 18px;
  line-height: 1.5;
  border-bottom: 1px dotted #999;
}
.staff li h3 span {
  font-size: 13px;
}
.staff li h4 {
  margin-bottom: 5px;
  padding: 5px 5px 0;
  font-weight: normal;
}
.staff li table, .staff li th, .staff li td {
  padding: 0;
  border: 0;
  background: transparent;
}
.staff li th {
  width: auto;
}
.staff li dl {
  padding: 10px;
  clear: both;
  background: #fff8ed;
  border: 1px solid #ea621c;
  border-radius: 5px;
}
.staff li dt {
  color: #ea621c;
}
.staff li dd {
  line-height: 1.5;
}

@media screen and (min-width: 769px) {
  .staff li {
    width: calc(50% - 10px);
    float: left;
    margin-left: 20px;
  }
  .staff li:nth-child(odd) {
    clear: both;
    margin-left: 0;
  }
}
/* ------------------------------

adviser

------------------------------ */
/*
.adviser h2 {
  margin-bottom: 0;
  + p {
    margin-bottom: 20px;
  }
}

.adviserBox {
  margin-bottom: 30px;
  padding: 15px;
  width: auto;
  border: 1px solid #CCC;
  border-radius: 10px;
  background: #fff;
  &:after {
    content: "";
    clear: both;
    display: block;
  }
  figure {
    float: left;
    width: 150px;
    margin-right: 20px;
  }
  h3, p, dl {
    overflow: hidden;
  }
  dd {
    padding-left: 5px;
    line-height: 1.5;
  }
  h3 {
    margin-bottom: 10px;
    padding: 0 5px 5px;
    font-size: 24px;
    line-height: 1.5;
    border-bottom: 1px dotted #999;
  }
  p {
    padding: 0 5px;
  }
}

@media screen and (max-width: 480px) {
  .adviserBox {
    h3 {
      font-size: 18px;
      border-bottom: 0;
    }
    dt, dd {
      font-size: 12px;
    }
    figure {
      margin-right: 5px;
      margin-bottom: 15px;
      width: 80px;
    }
    p {
      clear: both;
      padding-top: 10px;
      border-top: 1px dotted #999;
    }
  }
}

@media screen and (max-width: 375px) {
  .adviserBox {
    padding: 5px;
    h3 {
      margin-bottom: 0;
    }
    figure {
      float: none;
      width: 100%;
      text-align: center;
      margin-right: 0;
    }
  }
}

*/
/* ------------------------------

schedule

------------------------------ */
.schedule th {
  text-align: center;
  padding: 5px;
}
.schedule td {
  padding: 5px;
  text-align: center;
  height: 30px;
  line-height: 1.3;
}
.schedule .schedule_normal {
  background-color: #ffe4e5;
}
.schedule .schedule_yellow {
  background-color: #ffffe0;
}
.schedule .schedule_orange {
  background-color: #ffede0;
}
.schedule .schedule_green {
  background-color: #e0ffe6;
}

@media screen and (max-width: 480px) {
  .schedule th, .schedule td {
    font-size: 11px;
    white-space: nowrap;
  }
}
/* ------------------------------
what
------------------------------ */
.what h2 + figure {
  margin-bottom: 30px;
}
.what h2 + figure + p {
  margin-bottom: 30px;
}
.what ul {
  clear: both;
  margin-bottom: 20px;
}
.what ul:after {
  content: "";
  clear: both;
  display: block;
}
.what ul li {
  margin-left: 15px;
  border-width: 3px;
  border-style: solid;
  background: #fff;
  float: left;
  border-radius: 5px;
  border-color: #6fba2c;
  /*&:nth-child(2) {
    figure {
      margin: 20px 15px 10px;
    }
    img {
      max-height: 25px;
    }
  }
  &:nth-child(3) {*/
}
.what ul li h3 {
  margin-bottom: 10px;
  padding: 5px 0;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  color: #fff;
  background: #6fba2c;
}
.what ul li table {
  display: inline-block;
  width: auto;
  border: 0;
}
.what ul li th,
.what ul li td {
  border: 0;
}
.what ul li th,
.what ul li td {
  padding: 0 10px;
  background: #fff;
  font-size: 18px;
  width: auto;
}
.what ul li p {
  padding: 0 10px 10px;
}
.what ul li figure {
  padding: 0 10px 10px;
}
.what ul li figure img {
  width: auto;
  max-height: 70px;
}
.what ul li dl {
  padding: 0 10px;
}
.what ul li dl dt {
  font-size: 18px;
}
.what ul li dl dd {
  font-size: 18px;
  margin-bottom: 10px;
}
.what ul li:nth-child(1) figure {
  text-align: right;
}
.what ul li:nth-child(2) figure {
  float: right;
  margin-top: 10px;
}
.what ul li:nth-child(2) p + p,
.what ul li:nth-child(2) figure {
  display: inline-block;
  vertical-align: middle;
}
.what .whatHokago {
  display: inline-block;
  margin-left: 10px;
  margin-bottom: 10px;
  border-radius: 5px;
  background: #9aa863;
  padding: 5px 10px;
  font-weight: bold;
  color: #fff;
}

.what01 .jihatsu span,
.what01 .hokago span {
  display: inline-block;
  margin: 15px 0 5px;
  padding: 5px 10px;
  color: #fff;
  font-size: 14px;
  border-radius: 5px;
}
.what01 .jihatsu span {
  margin-top: 0;
  background: #20aaa9;
}
.what01 .hokago span {
  background: #9aa863;
}
.what01 .yasumi {
  text-align: center;
}
.what01 p {
  font-size: 18px;
}

/*
.what ul li:nth-child(1) { border-color: #EC734A; }
.what ul li:nth-child(2) { border-color: #EB6C71; }
.what ul li:nth-child(3) { border-color: #5EAD35; }
*/
/*
.what ul li:nth-child(1) h3 { background-color: #EC734A; }
.what ul li:nth-child(2) h3 { background-color: #EB6C71; }
.what ul li:nth-child(3) h3 { background-color: #5EAD35; }
*/
@media screen and (min-width: 481px) {
  .what h2 + figure {
    width: 30%;
    float: right;
    margin-left: 15px;
  }
  .what h2 + figure + p {
    overflow: hidden;
    line-height: 1.8;
  }
}
@media screen and (min-width: 769px) {
  .what ul li {
    width: calc(50% - 8px);
  }
  .what ul li:first-child {
    margin-left: 0;
  }
  .what ul li:first-child dl table {
    width: 50%;
  }
  .what ul li:first-child dl figure {
    width: 50%;
    float: right;
  }
  .what ul li:nth-child(2) p {
    width: calc(100% - 120px);
    margin: 0;
    float: left;
  }
}
@media screen and (max-width: 768px) {
  .what ul li {
    margin: 0 0 15px;
    width: 100%;
  }
  .what ul li:first-child {
    text-align: center;
  }
  .what dl + dl {
    border-left: 0;
    border-top: 1px solid #ccc;
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .what h2 + figure {
    margin-bottom: 10px;
  }
}
/* ------------------------------
flow
------------------------------ */
.flow h2 + p {
  margin-bottom: 20px;
  text-align: left;
}
.flow h3 {
  margin-bottom: 10px;
  font-size: 18px;
  /*color: #E16B15;*/
}
.flow h3 + p {
  margin-bottom: 20px;
  text-align: left;
}
.flow dl {
  margin: 0 0 15px;
  padding: 20px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 20px;
}
.flow dt {
  margin: 0 0 10px;
  color: #8bc56c;
  font-size: 24px;
  background: transparent;
}
.flow p {
  text-align: center;
}
.flow p a.generalBtn {
  margin-bottom: 0;
}

/*
.flow p + dl dt {
	background: #7ABA16;
}
*/
@media screen and (min-width: 769px) {
  .flow dl {
    width: calc(50% - 10px);
    float: left;
    margin-left: 5px;
    margin-right: 5px;
  }
  .flowSingle dl {
    width: 100%;
  }
  .flowSingle dl p {
    text-align: left;
  }
  .flowSingle table {
    margin: 10px 0;
  }
  .flowSingle th {
    color: #fff;
  }
  .flowSingle tr:first-child th {
    background: #20aaa9;
  }
  .flowSingle tr:nth-child(2) th {
    background: #9aa863;
  }
}
@media screen and (max-width: 768px) {
  .flow dt {
    font-size: 18px;
  }
  .flowSingle th,
  .flowSingle td {
    display: block;
    width: 100%;
  }
}
/* ------------------------------
cost
------------------------------ */
.cost:after {
  content: "";
  clear: both;
  display: block;
}
.cost p {
  line-height: 1.8;
}
.cost p b {
  color: #e73726;
}
.cost p small {
  font-size: 14px;
  display: inline-block;
  line-height: 1.5;
}
.cost dd b {
  color: #e73726;
  font-size: 20px;
  font-size: 14px;
}
.cost dd b span {
  font-size: 14px;
}
.cost dl {
  margin: 0 0 15px;
  padding: 20px;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 20px;
}
.cost dl dt {
  margin: 0 0 10px;
  color: #8bc56c;
  font-size: 24px;
  background: transparent;
}
.cost dl dd {
  line-height: 1.3;
  padding: 0 10px 10px;
}
.cost dl dd b {
  font-size: 24px;
}

@media screen and (min-width: 769px) {
  .cost p {
    width: 49%;
    float: left;
  }
  .cost dl {
    width: 49%;
    float: right;
    margin-top: -50px;
  }
}
@media screen and (max-width: 768px) {
  .cost dl dt {
    font-size: 18px;
  }
  .cost dl dd {
    padding: 0;
    font-size: 14px;
  }
  .cost dl dd b {
    font-size: 16px;
  }
  .cost p {
    margin-bottom: 15px;
  }
}
/* ------------------------------
open
------------------------------ */
.open thead th,
.open tbody td {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .open th,
  .open td {
    padding: 0;
  }
  .open tbody th {
    padding: 5px;
    /*min-width: 150px;*/
    white-space: normal;
  }
  .open01 thead {
    display: none;
  }
  .open01 th,
  .open01 td {
    display: block;
    position: relative;
    width: 100%;
    padding: 5px 10px;
  }
  .open01 tr:nth-child(2) td, .open01 tr:nth-child(3) td {
    padding-left: 80px;
  }
  .open01 tr:nth-child(2) td:before, .open01 tr:nth-child(3) td:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    padding: 5px 10px;
    background: #f1f1f1;
    font-weight: bold;
  }
  .open01 tr:nth-child(2) td:nth-child(2):before, .open01 tr:nth-child(3) td:nth-child(2):before {
    content: "平日";
  }
  .open01 tr:nth-child(2) td:nth-child(3), .open01 tr:nth-child(3) td:nth-child(3) {
    padding: 15px 10px 15px 80px;
  }
  .open01 tr:nth-child(2) td:nth-child(3):before, .open01 tr:nth-child(3) td:nth-child(3):before {
    content: "土、祝日、長期休暇";
  }
  .open01 tr:nth-child(2) td:nth-child(4):before, .open01 tr:nth-child(3) td:nth-child(4):before {
    content: "学休日";
  }
}
/* ------------------------------
oneday
------------------------------ */
.oneday .oneday_box {
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #ccc;
  background: #fffeee;
}
.oneday .oneday_box h3 {
  font-size: 24px;
  color: #ed6d47;
}
.oneday .oneday_box ul {
  width: auto;
}
.oneday .oneday_box ul:after {
  content: "";
  clear: both;
  display: block;
}
.oneday .oneday_box ul li h4 {
  padding: 5px 0;
  color: #fff;
  font-size: 16px;
  border-radius: 10px;
  text-align: center;
  margin-bottom: 10px;
}
.oneday .oneday_box ul li:first-child h4 {
  background: #6fb6d0;
}
.oneday .oneday_box ul li:last-child h4 {
  background: #7dae4f;
}
.oneday .oneday_box ul li th {
  text-align: center;
}
.oneday .oneday_box ul li td {
  border-bottom: 1px dotted #ccc;
  border-top: 1px dotted #ccc;
}
.oneday .oneday_box ul li td:first-child {
  width: 6rem;
  padding-right: 0;
}

@media screen and (min-width: 769px) {
  .oneday li {
    width: 49%;
    float: right;
  }
  .oneday li:first-child {
    float: left;
  }
}
@media screen and (max-width: 480px) {
  .oneday .oneday_box ul li h4 {
    border-radius: 0;
    margin-bottom: 0;
  }
  .oneday .oneday_box ul li td:first-child {
    border: none;
    padding: 5px 10px 0;
  }
  .oneday .oneday_box ul li td:nth-child(2) {
    padding: 0 10px 5px;
    border-top: none;
  }
}
/* ------------------------------
greeting
------------------------------ */
.greeting:after {
  content: "";
  clear: both;
  display: block;
}
.greeting p {
  width: calc(100% - 260px);
  float: left;
  line-height: 1.8;
}
.greeting figure {
  width: 240px;
  float: right;
}
.greeting figure figcaption {
  padding-top: 5px;
  text-align: left;
}

@media screen and (max-width: 480px) {
  .greeting p {
    width: 100%;
    float: none;
  }
  .greeting figure {
    width: 100%;
    float: none;
    margin-bottom: 0;
  }
  .greeting figure figcaption {
    text-align: center;
  }
}
/* ------------------------------
adviser
------------------------------ */
.adviser:after {
  content: "";
  clear: both;
  display: block;
}
.adviser .adviserBox {
  width: 49%;
  float: left;
}
.adviser .adviserBox:last-child {
  float: right;
}
.adviser .adviserBox .adviserBoxHead {
  margin: 20px 0 10px;
}
.adviser .adviserBox .adviserBoxHead figure {
  width: 131px;
  display: inline-block;
  vertical-align: middle;
}
.adviser .adviserBox .adviserBoxHead dl {
  width: calc(100% - 160px);
  display: inline-block;
  vertical-align: middle;
}
.adviser .adviserBox .adviserBoxHead dl dt {
  font-size: 24px;
  color: #8bc56c;
}

@media screen and (max-width: 480px) {
  .adviser .adviserBox {
    width: 100%;
    float: none;
    margin-bottom: 50px;
  }
  .adviser .adviserBox:last-child {
    float: none;
  }
  .adviser .adviserBox .adviserBoxHead dl {
    width: auto;
  }
  .adviser .adviserBox .adviserBoxHead dl dt {
    font-size: 18px;
  }
  .adviser .adviserBox .adviserBoxHead dl dd {
    font-size: 14px;
  }
  .adviser p {
    font-size: 14px;
  }
}
/* ------------------------------
staff
------------------------------ */
.staff p {
  margin-bottom: 20px;
}
.staff .staffBox h3 {
  text-align: center;
}
.staff .staffBox ul {
  text-align: center;
}
.staff .staffBox ul li {
  width: 19%;
  text-align: center;
  margin-left: 0;
  float: none;
  display: inline-block;
  vertical-align: middle;
}
.staff .staffBox ul li:nth-child(odd) {
  clear: none;
}
.staff .svsmvi ul li:nth-child(2) {
  width: 400px;
}

@media screen and (max-width: 480px) {
  .staff .staffBox ul li {
    width: calc(50% - 5px);
  }
  .staff .svsmvi ul li:nth-child(2) {
    width: 100%;
    clear: both;
  }
}
/* ------------------------------
school_area
------------------------------ */
.school_area:after {
  content: "";
  clear: both;
  display: block;
}
.school_area figure {
  margin-bottom: 10px;
}
.school_area ul li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 8px;
  font-size: 14px;
  text-align: left;
}
.school_area ul li:before {
  position: absolute;
  top: 0.5em;
  left: 0;
  font: normal normal normal 11px/1 Fontawesome;
  content: "\f0da";
  color: #ff5c1e;
}
.school_area ul li a {
  color: #222;
  text-decoration: none;
}
.school_area ul li a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .school_area figure {
    width: 50%;
    float: left;
  }
  .school_area ul {
    width: 50%;
    float: right;
  }
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  .school_area figure {
    width: 50%;
    float: left;
  }
  .school_area ul {
    width: 48%;
    float: right;
  }
}
/* ------------------------------
school_top
------------------------------ */
.school_top:after {
  content: "";
  clear: both;
  display: block;
}
.school_top h2 {
  padding: 0;
  margin: 0 0 10px;
  color: #000;
  font-size: 24px;
  height: auto;
  line-height: 1.3;
  background: transparent;
}
.school_top h2 img {
  display: inline-block;
  margin-right: 5px;
  width: auto;
  height: 30px;
  vertical-align: middle;
}
.school_top h2 b {
  padding: 5px;
  display: inline-block;
  margin-right: 10px;
  color: #fff;
  /*background: #EB6C71;*/
  border-radius: 5px;
  font-size: 14px;
  vertical-align: top;
}
.school_top h2:before, .school_top h2:after {
  display: none;
}

@media screen and (min-width: 769px) {
  .school_top figure {
    margin-top: -40px;
  }
}
@media screen and (min-width: 481px) {
  .school_top p {
    width: calc(100% - 240px);
    float: left;
    padding-right: 20px;
  }
  .school_top figure {
    width: 240px;
    float: right;
  }
}
@media screen and (max-width: 480px) {
  .school_top h2 {
    font-size: 18px;
  }
  .school_top h2 em {
    display: inline-block;
  }
  .school_top h2 img {
    height: 20px;
  }
  .school_top p {
    margin-bottom: 15px;
  }
  .school_top h2 b {
    font-size: 12px;
  }
}
/* ------------------------------
school_program
------------------------------ */
.school_program h3 {
  margin: 0 0 5px;
  padding: 5px 10px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  /*background: #EB6C71;*/
  border-radius: 10px;
}
.school_program p {
  margin-bottom: 10px;
}
.school_program ul {
  width: auto;
}
.school_program ul:after {
  content: "";
  clear: both;
  display: block;
}
.school_program li {
  margin-bottom: 15px;
}
.school_program li figcaption {
  padding-top: 5px;
}

.coope {
  width: 80%;
  background: #faf8e1;
  padding: 20px 30px;
  margin: 20px auto;
  border-radius: 10px;
}
.coope h4 {
  font-weight: bold;
  color: #EB6C71;
  text-align: center;
  padding-bottom: 20px;
}
.coope h5 {
  font-weight: bold;
  background: #fff;
  text-align: center;
  color: #666;
  padding: 0.3em;
}
.coope .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.coope dl dt {
  border-top: 1px dashed #666666;
  float: left;
  width: 20%;
  padding: 2% 0;
  color: #666;
}
.coope dl dt:first-child {
  border-top: none;
}
.coope dl dt:first-child + dd {
  border-top: none;
}
.coope dl dd {
  border-top: 1px dashed #666666;
  padding: 2% 0;
  margin-left: 20%;
}

@media screen and (min-width: 769px) {
  .school_program li {
    width: 32.3333333333%;
    float: left;
    margin-left: 1%;
  }
  .school_program li:nth-child(3n+1) {
    margin-left: 0;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .school_program li {
    width: 32.3333333333%;
    float: left;
    margin-left: 1%;
  }
  .school_program li:nth-child(3n+1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .school_program li {
    width: 49%;
    float: left;
    margin-left: 2%;
  }
  .school_program li:nth-child(odd) {
    margin-left: 0;
  }
  .school_program li figcaption {
    font-size: 12px;
  }
  .coope {
    width: 100%;
  }
  .coope .flex {
    display: block;
  }
  .coope dl dt {
    width: 100%;
  }
  .coope dl dd {
    margin-left: 0;
  }
}
/* ------------------------------
chuo
------------------------------ */
.chuo .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.chuo .chuobox {
  border: 3px solid #18469d;
  padding: 0.6em;
  width: 49%;
}
.chuo .chuobox h3 {
  background: #18469d;
  color: #fff;
  text-align: center;
  padding: 0.4em;
  position: relative;
}
.chuo .chuobox h3:after {
  position: absolute;
  content: "";
  top: 100%;
  left: 47%;
  border: 8px solid transparent;
  width: 0;
  height: 0;
  border-top: 8px solid #18469d;
}
.chuo .chuobox h4 {
  color: #18469d;
  text-align: center;
  padding: 0.6em;
}
.chuo h5 {
  color: #18469d;
  padding: 1em 0 0.3em;
}
.chuo dl dt {
  border-top: 1px dashed #666666;
  float: left;
  width: 20%;
  padding: 2% 0;
  color: #666;
}
.chuo dl dt:first-child {
  border-top: none;
}
.chuo dl dt:first-child + dd {
  border-top: none;
}
.chuo dl dd {
  border-top: 1px dashed #666666;
  padding: 2% 0;
  margin-left: 20%;
}
.chuo#wish {
  background: #ebf1fc;
  padding: 1em 2em 2em;
}
.chuo#wish .wishbox {
  width: 49%;
}
.chuo#wish .wishbox p {
  padding: 0.3em 0 0.3em 16px;
  position: relative;
}
.chuo#wish .wishbox p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 5px solid transparent;
  border-left: 8px solid #18469d;
}

@media screen and (max-width: 480px) {
  .chuo .flex {
    display: block;
  }
  .chuo .chuobox {
    width: 100%;
  }
  .chuo .wishbox {
    width: 100%;
  }
}
/* ------------------------------
access
------------------------------ */
.access div {
  margin-bottom: 30px;
}
.access:after {
  content: "";
  clear: both;
  display: block;
}
.access p {
  line-height: 1.8;
}

@media screen and (min-width: 769px) {
  .access p {
    width: 35%;
    float: left;
  }
  .access figure {
    width: 63%;
    float: right;
  }
  .access figure iframe {
    height: 360px;
  }
}
@media screen and (max-width: 768px) {
  .access p {
    margin-bottom: 15px;
  }
  .access figure iframe {
    height: 240px;
  }
}
/* ------------------------------
area
------------------------------ */
.area:after {
  content: "";
  clear: both;
  display: block;
}
.area h3 {
  font-size: 16px;
}
.area p {
  line-height: 1.8;
}
.area table th,
.area table td {
  width: auto;
  padding: 5px;
  text-align: center;
  white-space: normal;
  border: 1px solid #ccc;
}
.area table th {
  background-color: #f5f5f5;
}

@media screen and (min-width: 769px) {
  .area .txt {
    width: calc(100% - 340px);
    float: left;
  }
  .area figure {
    width: 320px;
    float: right;
  }
}
@media screen and (max-width: 768px) {
  .area p {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 480px) {
  .area table th,
  .area table td {
    font-weight: normal;
    display: table-cell;
  }
}
/* --------------------
activity
-------------------- */
.school_activity dl {
  margin-bottom: 50px;
}
.school_activity dl dt {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: bold;
}
.school_activity dl dd ul li {
  display: inline-block;
  width: calc((100% - 30px) / 4);
}

@media screen and (max-width: 480px) {
  .school_activity dl dt {
    font-size: 18px;
  }
  .school_activity dl dd ul li {
    font-size: 14px;
    width: auto;
    float: none;
    display: inline-block;
  }
  .school_activity dl dd ul li:after {
    content: "、";
  }
  .school_activity dl dd ul li:last-child():after {
    content: "";
  }
}
/* --------------------
appr
-------------------- */
.appr {
  margin-bottom: 100px;
}
.appr ul:after {
  display: block;
  clear: both;
  content: "";
}
.appr ul li {
  float: left;
  width: 300px;
}
.appr ul li:nth-child(1) {
  margin-right: 10px;
}

@media screen and (max-width: 640px) {
  .appr ul {
    text-align: center;
  }
  .appr ul li {
    float: none;
    width: auto;
    text-align: center;
    margin-bottom: 10px;
    display: inline-block;
  }
  .appr ul li:nth-child(1) {
    margin-right: 0;
  }
  .appr ul li img {
    max-width: 310px;
    width: 100%;
  }
}
/* ------------------------------
school_18nanahoshi
------------------------------ */
.nanahoshi h3 {
  font-size: 1.4em;
  color: #4db6ac;
  margin-top: 1.5em;
}
.nanahoshi h4 {
  font-size: 1.2em;
  background: #4db6ac;
  padding: 5px 10px 2px;
  margin: 1em auto;
  text-align: center;
  color: #fff;
}
.nanahoshi.suke p {
  margin: 0.8em 0;
  font-size: 0.9em;
}
.nanahoshi .month {
  border: 2px #4db6ac solid;
  padding: 0 1.5em 1.5em;
  margin: 0.6em auto;
}
.nanahoshi .month h4:after {
  position: absolute;
  border-color: transparent transparent transparent #4db6ac;
  border-style: solid;
  right: 44%;
  bottom: -3em;
  top: auto;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #4db6ac;
}
.nanahoshi ul {
  margin-bottom: 1em;
}
.nanahoshi ul li {
  position: relative;
  padding: 0.3em 0 0.3em 1.2em;
  line-height: 1.5;
}
.nanahoshi ul li:before {
  position: absolute;
  left: 0.2em;
  color: #4db6ac;
  font-family: FontAwesome;
  content: "\f00c";
}
.nanahoshi ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
}
.nanahoshi ol li {
  position: relative;
  padding: 20px 20px;
  margin: 0 25px 10px 0;
  background: #4db6ac;
  color: #fff;
  font-weight: bold;
  width: 17%;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.nanahoshi ol li:after {
  content: "";
  position: absolute;
  top: 28%;
  right: -30px;
  border-width: 24px 18px;
  border-color: transparent transparent transparent #4db6ac;
  border-style: solid;
}
.nanahoshi ol li:last-child:after {
  border: none;
}
.nanahoshi .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.nanahoshi .flex figure {
  width: 32%;
  margin: 2em 0;
}
.nanahoshi table {
  width: 48%;
}
.nanahoshi table th {
  width: 36%;
  padding: 10px;
  background: #efefef;
}
.nanahoshi table td {
  padding: 10px;
}
.nanahoshi .sukebox {
  width: 48%;
}
.nanahoshi dl {
  border: 1px solid #cbc7c7;
  padding: 0 3%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fafafa;
}
.nanahoshi dl dt {
  border-top: 1px dashed #cbc7c7;
  float: left;
  width: 25%;
  padding: 2% 0;
}
.nanahoshi dl dt:first-child {
  border-top: none;
}
.nanahoshi dl dt:first-child + dd {
  border-top: none;
}
.nanahoshi dl dd {
  border-top: 1px dashed #cbc7c7;
  padding: 2% 0;
  margin-left: 25%;
}

@media screen and (max-width: 768px) {
  .nanahoshi ol li {
    width: 16%;
  }
}
@media screen and (max-width: 480px) {
  .nanahoshi ol li {
    width: 100%;
    margin: 10px;
  }
  .nanahoshi ol li:after {
    position: absolute;
    border-color: transparent transparent transparent #4db6ac;
    border-style: solid;
    right: 44%;
    bottom: -3em;
    top: auto;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #4db6ac;
  }
  .nanahoshi .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .nanahoshi .flex table th {
    width: 100%;
    border-bottom: 1px solid #CCC;
    padding: 8px;
  }
  .nanahoshi .flex table td {
    width: 100%;
    padding: 8px;
  }
  .nanahoshi .flex figure {
    width: 100%;
    margin: 0.5em 0;
  }
  .nanahoshi .sukebox {
    width: 100%;
  }
}
/* ------------------------------
school_21home
------------------------------ */
#enjoyhome ol {
  counter-reset: num;
}
#enjoyhome ol li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}
#enjoyhome ol li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display: inline-block;
  background: #ff5c1e;
  color: #FFF;
  border-radius: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  top: 10px;
}
#enjoyhome ol li span {
  color: #ff5c1e;
  font-weight: bold;
}

#company {
  /*figure {
  text-align: center;
  margin: 30px auto;
  width: 40%;
  }*/
}

/* ------------------------------

greeting

------------------------------ */
.greeting h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.3;
  font-size: 28px;
}
.greeting h3 small {
  display: inline-block;
  margin-top: 10px;
  font-size: 18px;
}
.greeting h3 + p {
  margin-bottom: 30px;
  font-size: 14px;
}
.greeting h3 + p em {
  font-size: 18px;
  font-weight: bold;
}
.greeting figure {
  overflow: hidden;
  margin-left: 20px;
}
.greeting figure img {
  width: 210px;
}
.greeting .inbox {
  float: left;
  width: calc(100% - 230px);
}

@media screen and (max-width: 768px) {
  .greeting h3 {
    font-size: 21px;
  }
  .greeting h3 + p {
    margin-bottom: 20px;
  }
  .greeting h3 + p em {
    font-size: 16px;
  }
  .greeting p {
    margin-bottom: 20px;
  }
  .greeting figure {
    margin-left: 0;
  }
  .greeting .inbox {
    float: none;
    width: auto;
  }
}
/* ------------------------------

outline

------------------------------ */
.outline picture {
  margin-bottom: 50px;
  display: block;
}

/* ------------------------------

lectureTop

------------------------------ */
.lectureTop h2 {
  margin-bottom: 10px;
  /*font-size: 24px;*/
}
.lectureTop h3 {
  margin-bottom: 10px;
  font-size: 18px;
}
.lectureTop p {
  line-height: 1.8;
}

/*
@media screen and (max-width: 768px) {
	.lectureTop h2 {
		font-size: 20px;
	}
}
*/
/* ------------------------------

lectureContent

------------------------------ */
.lectureContent {
  /*border: 3px solid #EB6C71;*/
  border-radius: 5px;
  width: auto;
  padding: 0 0 10px;
  overflow: hidden;
  /*background: #FFF;*/
  border-width: 3px;
  border-style: solid;
}
.lectureContent:after {
  content: "";
  clear: both;
  display: block;
}
.lectureContent h3 {
  margin-bottom: 10px;
  padding: 5px;
  color: #FFF;
  font-size: 24px;
  /*background: #EB6C71;*/
}

.lectureContentText, .lectureContentImg {
  padding: 0 10px;
}

.lectureContentText p {
  /*font-size: 22px;
  font-weight: bold;
  color: #EB6C71;*/
  font-size: 16px;
  margin-bottom: 5px;
}
.lectureContentText h4 {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: normal;
}
.lectureContentText h4 b {
  font-size: 24px;
}
.lectureContentText dl {
  background: #FFF;
  border: 1px solid #CCC;
}
.lectureContentText dt {
  background: #F5F5F5;
  margin-bottom: 5px;
  padding: 5px;
}
.lectureContentText dd {
  padding: 5px;
  font-size: 14px;
}

@media screen and (min-width: 769px) {
  .lectureContentText {
    width: calc(100% - 200px);
    float: right;
    padding-right: 20px;
  }
  .lectureContentImg {
    width: 200px;
    overflow: hidden;
  }
}
@media screen and (max-width: 768px) {
  .lectureContentText {
    margin-bottom: 15px;
  }
  .lectureContent h3 {
    font-size: 20px;
  }
  .lectureContentText p {
    font-size: 16px;
  }
  .lectureContentText h4 {
    font-size: 16px;
  }
  .lectureContentText h4 b {
    font-size: 20px;
  }
}
/* ------------------------------

lectureOutline

------------------------------ */
/*
.lectureOutline h2 {
	margin-bottom: 10px;
	font-size: 24px;
}
*/
.lectureOutline:after {
  content: "";
  clear: both;
  display: block;
}

.lectureOutlineTable th {
  width: 80px;
}

/*
@media screen and (max-width: 768px) {
	.lectureOutline h2{
		font-size: 20px;
	}
}
*/
@media screen and (min-width: 481px) {
  .lectureOutlineTable {
    width: 49%;
    float: left;
  }
  .lectureOutlineMap {
    width: 49%;
    float: right;
  }
  .lectureOutlineMap iframe {
    height: 320px;
  }
}
@media screen and (max-width: 480px) {
  .lectureOutlineTable {
    margin-bottom: 15px;
  }
  .lectureOutlineMap iframe {
    height: 240px;
  }
}
/* ------------------------------

privacyContents

------------------------------ */
.privacyContents dt {
  margin-bottom: 5px;
  counter-increment: jou;
}

.privacyContents dt::before {
  content: "第" counter(jou, decimal) "条 ";
}

.privacyContents dd {
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .lectureTop h2 {
    font-size: 20px;
  }
}
/* ------------------------------

form

------------------------------ */
.required {
  margin: 0 0 0 3px;
  padding: 3px 5px;
  color: #FFF;
  text-align: center;
  font-size: 11px;
  line-height: 1;
  display: inline-block;
  border-radius: 2px;
  background: #F00;
}

/* ------------------------------

formmail formmailInfo

------------------------------ */
.formmailInfo {
  margin: 1em 0;
}
.formmailInfo li {
  padding-left: 10px;
  position: relative;
}
.formmailInfo li:before {
  position: absolute;
  top: 0.4em;
  left: 0;
  color: #e16b15;
  font: normal normal normal 12px/1 Fontawesome;
  content: "\f0da";
}

/* ------------------------------

formmail table

------------------------------ */
.formmailTable {
  margin-bottom: 20px;
}
.formmailTable table {
  width: 100%;
  background: #FFF;
}
.formmailTable th, .formmailTable td {
  padding: 10px;
  color: #333;
  border: 1px solid #ccc;
}
.formmailTable th {
  width: 10em;
  background: #f1f1f1;
  text-align: left;
}
.formmailTable td input + span {
  display: inline-block;
}

@media screen and (max-width: 480px) {
  .formmailTable th, .formmailTable td {
    display: block;
    border: 0;
  }
  .formmailTable th {
    width: 100%;
  }
}
/* ------------------------------

 フォーム 入力欄

------------------------------ */
select, textarea {
  margin: 3px 2px;
  padding: 5px;
  border: 1px solid #ccc;
}

input[type=text], input[type=tel], input[type=email], input[type=password] {
  padding: 7px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  border: 1px solid #ccc;
}

.inputSm {
  width: 3em;
}

.inputMd {
  width: 25em;
}

.inputLg {
  width: 99%;
}

.textareaLg {
  width: 99%;
  height: 10em;
}

input[type=password] {
  width: 8em;
}

@media screen and (max-width: 1024px) {
  .inputSm {
    width: 15%;
  }
  .inputMd {
    width: 70%;
  }
  .inputLg {
    width: 100%;
  }
}
/* ------------------------------

formmail btn

------------------------------ */
.formmailBtn {
  margin: 0 auto 50px;
}
.formmailBtn p {
  line-height: 1.5;
  text-align: center;
  vertical-align: top;
}
.formmailBtn .btn {
  width: auto;
  line-height: 1.5;
  margin-bottom: 10px;
  padding: 12px 20px;
  font-size: 14px;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  background: #E72926;
  border: none;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 3px;
  cursor: pointer;
}
.formmailBtn .btn:hover {
  filter: alpha(opacity=60);
  opacity: 0.6;
}

/* ------------------------------

privacy box

------------------------------ */
.privacyBox {
  width: 640px;
  margin: 0 auto 50px;
  padding: 15px;
  border: 1px dotted #222;
  background: #FFF;
}
.privacyBox h3 {
  margin: 0 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #222;
  font-size: 14px;
}
.privacyBox p {
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .privacyBox {
    width: 100%;
  }
}
/* ------------------------------

formmailTel

------------------------------ */
.formmailTel {
  margin: 0 0 80px;
}
.formmailTel h2 {
  background: url(../images/formmail_tel_title.gif);
}

/* ==================== FAQ ==================== */
/* ------------------------------

 faq top

------------------------------ */
.faqTop {
  margin: 0 0 30px;
}

/* ------------------------------

 faq list

------------------------------ */
.faqList {
  margin: 0 0 50px;
}
.faqList dt {
  position: relative;
  margin-bottom: 5px;
  padding: 10px 5px 10px 40px;
  line-height: 1.5;
  font-weight: bold;
}
.faqList dt:before {
  position: absolute;
  top: 5px;
  left: 5px;
  display: block;
  content: "Q";
  color: #FFF;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 100%;
}
.faqList dt.active {
  background-image: url(../images/arrow_04_gr_nb_t.png);
}
.faqList dd {
  position: relative;
  margin-bottom: 20px;
  padding: 5px 5px 30px 40px;
  line-height: 1.5;
  border-bottom: 1px dotted #CCC;
  /*&:last-child {
    border: 0;
  }*/
}
.faqList dd:before {
  position: absolute;
  top: 5px;
  left: 5px;
  display: block;
  content: "A";
  font-weight: bold;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 100%;
  background-color: #f1f1f1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.faqList p {
  padding-top: 10px;
  text-align: center;
}

.faqList p {
  margin-bottom: 20px;
  font-weight: bold;
  text-align: center;
}

.faqList dl {
  border-bottom: 1px solid #CCC;
}

.faqList dt {
  padding-top: 15px;
  padding-bottom: 15px;
  margin-bottom: 0;
  border-top: 1px solid #CCC;
}

.faqList dt:before {
  top: 10px;
  background: #f06c4b;
}

.faqList.blue dt:before {
  top: 10px;
  background: #18469d;
}

.faqList dt:after {
  position: absolute;
  top: 10px;
  right: 10px;
  font-family: "FontAwesome";
  content: "\f0dd";
}

.faqList dt:hover {
  cursor: pointer;
  background: #EEE;
}

.faqList dd {
  border-bottom: 0;
  width: auto;
}

.faqList dd:before {
  color: #f06c4b;
}

.faqList.blue dd:before {
  color: #18469d;
}

/* ==================== business ==================== */
/* ------------------------------

 business

------------------------------ */
.businessBox {
  margin-bottom: 80px;
  width: auto;
}
.businessBox:after {
  content: "";
  clear: both;
  display: block;
}
.businessBox .businessBoxText {
  width: calc(50% - 20px);
  float: left;
}
.businessBox .businessBoxText h2 {
  color: #ff5c1e;
}
.businessBox .businessBoxText p {
  margin-bottom: 20px;
}
.businessBox .businessBoxText ul li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 8px;
  text-align: left;
}
.businessBox .businessBoxText ul li:before {
  position: absolute;
  top: 0.5em;
  left: 0;
  font: normal normal normal 12px/1 Fontawesome;
  content: "\f0da";
  color: #ff5c1e;
}
.businessBox .businessBoxText ul li a {
  color: #222;
  text-decoration: none;
}
.businessBox .businessBoxText ul li a:hover {
  text-decoration: underline;
}
.businessBox .businessBoxImg {
  width: 50%;
  float: right;
}

@media screen and (max-width: 768px) {
  .businessBox {
    margin-bottom: 40px;
  }
  .businessBox .businessBoxText {
    width: 60%;
  }
  .businessBox .businessBoxText h2 {
    font-size: 18px;
    padding: 0;
  }
  .businessBox .businessBoxImg {
    width: 38%;
    float: right;
    margin-top: 30px;
  }
}
@media screen and (max-width: 480px) {
  .businessBox .businessBoxText, .businessBox .businessBoxImg {
    float: none;
    width: 100%;
  }
  .businessBox .businessBoxText {
    margin-bottom: 20px;
  }
  .businessBox .businessBoxText h2 {
    margin-bottom: 10px;
  }
  .businessBox .businessBoxImg {
    margin-top: 0;
  }
}
/* ==================== service ==================== */
/* ------------------------------

 serviceTop

------------------------------ */
.serviceTop {
  margin-bottom: 80px;
  width: auto;
}
.serviceTop:after {
  content: "";
  clear: both;
  display: block;
}
.serviceTop .serviceTopLogo {
  text-align: center;
  margin-bottom: 20px;
}
.serviceTop .serviceTopText {
  width: calc(50% - 20px);
  float: left;
}
.serviceTop .serviceTopText p {
  margin-bottom: 20px;
}
.serviceTop .serviceTopImg {
  width: 50%;
  float: right;
}

@media screen and (max-width: 768px) {
  .serviceTop .serviceTopLogo img {
    height: 50px;
  }
  .serviceTop .serviceTopText {
    width: 60%;
  }
  .serviceTop .serviceTopText h2 {
    font-size: 24px;
    line-height: 1.3;
  }
  .serviceTop .serviceTopImg {
    width: 38%;
  }
}
@media screen and (max-width: 480px) {
  .serviceTop .serviceTopLogo img {
    height: 30px;
  }
  .serviceTop .serviceTopText, .serviceTop .serviceTopImg {
    float: none;
    width: 100%;
  }
  .serviceTop .serviceTopText {
    margin-bottom: 20px;
  }
  .serviceTop .serviceTopText h2 {
    font-size: 18px;
  }
}
/* ------------------------------

 serviceFeature

------------------------------ */
.serviceFeature {
  margin-bottom: 80px;
}
.serviceFeature figure, .serviceFeature p {
  display: inline-block;
  vertical-align: middle;
}
.serviceFeature figure {
  width: 360px;
}
.serviceFeature p {
  width: calc(100% - 400px);
}

@media screen and (max-width: 480px) {
  .serviceFeature {
    margin-bottom: 40px;
  }
  .serviceFeature figure, .serviceFeature p {
    display: block;
    width: 100%;
  }
  .serviceFeature figure {
    margin-bottom: 10px;
  }
}
/* ------------------------------

 serviceDetail2

------------------------------ */
.serviceDetail2 {
  margin-bottom: 80px;
}
.serviceDetail2 h3 {
  font-size: 20px;
  color: #8bc56c;
  line-height: 1.3;
  margin-bottom: 10px;
}

@media screen and (min-width: 481px) {
  .serviceDetail2 ul {
    width: auto;
  }
  .serviceDetail2 ul:after {
    content: "";
    display: block;
    clear: both;
  }
  .serviceDetail2 ul li {
    width: calc((100% - 90px) / 3);
    float: left;
    margin-left: 30px;
  }
  .serviceDetail2 ul li:first-child {
    margin-left: 0;
  }
  .serviceDetail2 ul li figure figcaption {
    padding-top: 10px;
    text-align: left;
  }
}
@media screen and (max-width: 786px) {
  .serviceDetail2 {
    margin-bottom: 40px;
  }
  .serviceDetail2 h3 {
    font-size: 18px;
    height: 3em;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 480px) {
  .serviceDetail2 {
    margin-bottom: 40px;
  }
  .serviceDetail2 ul li {
    margin-bottom: 40px;
  }
  .serviceDetail2 ul li h3 {
    height: auto;
    margin-bottom: 5px;
  }
}
/* ------------------------------

 serviceDetailSub

------------------------------ */
.serviceDetailSub {
  background: #fffeee;
  border: 1px solid #CCC;
  border-radius: 30px;
  padding: 20px;
  width: auto;
  margin-bottom: 80px;
}
.serviceDetailSub:after {
  content: "";
  display: block;
  clear: both;
}
.serviceDetailSub h2 {
  color: #8bc56c;
  font-size: 24px;
  margin-bottom: 0;
}

@media screen and (min-width: 481px) {
  .serviceDetailSub p {
    width: calc(100% - 240px);
    float: left;
  }
  .serviceDetailSub figure {
    width: 200px;
    float: right;
  }
  #surala .serviceDetailSub p, #visiontraining .serviceDetailSub p {
    width: calc(100% - 500px);
    float: left;
  }
  #surala .serviceDetailSub figure, #visiontraining .serviceDetailSub figure {
    margin-top: -60px;
    width: 425px;
    float: right;
  }
  #unokyo .serviceDetailSub ul li {
    width: auto;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: dashed 1px #CCC;
  }
  #unokyo .serviceDetailSub ul li:after {
    content: "";
    display: block;
    clear: both;
  }
  #unokyo .serviceDetailSub ul li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  #unokyo .serviceDetailSub ul li h3 {
    margin-bottom: 10px;
  }
  #unokyo .serviceDetailSub ul li p {
    width: calc(100% - 500px);
    float: left;
  }
  #unokyo .serviceDetailSub ul li figure {
    width: 425px;
    float: right;
  }
}
@media screen and (min-width: 481px) and (max-width: 786px) {
  #surala .serviceDetailSub p, #surala .serviceDetailSub h2, #visiontraining .serviceDetailSub p, #visiontraining .serviceDetailSub h2 {
    width: 60%;
  }
  #surala .serviceDetailSub figure, #visiontraining .serviceDetailSub figure {
    margin-top: -40px;
    width: 38%;
  }
  #surala .serviceDetailSub h2, #visiontraining .serviceDetailSub h2 {
    font-size: 18px;
    line-height: 1.3;
  }
  #unokyo .serviceDetailSub ul li p {
    width: calc(100% - 240px);
  }
  #unokyo .serviceDetailSub ul li figure {
    width: 204px;
  }
}
@media screen and (max-width: 480px) {
  .serviceDetailSub {
    padding: 15px;
  }
  .serviceDetailSub h2 {
    font-size: 18px;
  }
  #unokyo .serviceDetailSub ul li {
    margin-bottom: 40px;
  }
  #unokyo .serviceDetailSub ul li p {
    margin-bottom: 10px;
  }
}
/* ------------------------------

 serviceBalancerSub

------------------------------ */
.serviceBalancerSub {
  background: #fffeee;
  border: 1px solid #CCC;
  border-radius: 30px;
  padding: 20px;
  width: auto;
  margin-bottom: 80px;
}
.serviceBalancerSub ul li {
  margin-bottom: 20px;
}
.serviceBalancerSub dl dd {
  padding-left: 1em;
}

@media screen and (min-width: 481px) {
  .serviceBalancerSub ul {
    width: auto;
  }
  .serviceBalancerSub ul:after {
    content: "";
    display: block;
    clear: both;
  }
  .serviceBalancerSub ul li {
    width: calc((100% - 60px) / 4);
    float: left;
    margin-left: 20px;
    text-align: center;
  }
  .serviceBalancerSub ul li:first-child {
    margin-left: 0;
  }
  .serviceBalancerSub dl {
    width: auto;
    display: inline-block;
  }
}
@media screen and (max-width: 480px) {
  .serviceBalancerSub ul li {
    text-align: center;
  }
  .serviceBalancerSub ul li p {
    padding-top: 10px;
  }
  .serviceBalancerSub ul li p br {
    display: none;
  }
}
/* ------------------------------

 visiontraining

------------------------------ */
#visiontraining .serviceFeature p {
  float: none;
  width: auto;
  margin-bottom: 20px;
}
#visiontraining .serviceFeature ul li {
  width: auto;
  margin-bottom: 20px;
}
#visiontraining .serviceFeature ul li:after {
  content: "";
  display: block;
  clear: both;
}
#visiontraining .serviceFeature ul li h3 {
  color: #8bc56c;
  font-size: 18px;
  margin-bottom: 10px;
}
#visiontraining .serviceFeature ul li figure {
  width: 200px;
  text-align: left;
  display: block;
  float: left;
}
#visiontraining .serviceFeature ul li p {
  display: block;
  width: calc(100% - 210px);
  float: right;
}
#visiontraining .serviceVisionMovie {
  margin-bottom: 80px;
}
#visiontraining .serviceVisionMovie h3 {
  margin-bottom: 10px;
  padding: 5px 0;
  background: #ec6b4f;
  color: #FFF;
  text-align: center;
  border-radius: 5px;
}
#visiontraining .serviceVisionMovie li {
  text-align: center;
}
#visiontraining .serviceVisionMovie li .visionVideo {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#visiontraining .serviceVisionMovie li .visionVideo iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 481px) {
  #visiontraining .serviceFeature ul {
    width: auto;
  }
  #visiontraining .serviceFeature ul:after {
    content: "";
    display: block;
    clear: both;
  }
  #visiontraining .serviceFeature ul li {
    width: calc(50% - 20px);
    float: left;
  }
  #visiontraining .serviceFeature ul li:nth-child(odd) {
    margin-right: 20px;
  }
  #visiontraining .serviceVisionMovie ul {
    width: auto;
  }
  #visiontraining .serviceVisionMovie ul:after {
    content: "";
    display: block;
    clear: both;
  }
  #visiontraining .serviceVisionMovie ul li {
    width: calc((100% - 45px) / 3);
    margin-left: 20px;
    float: left;
  }
  #visiontraining .serviceVisionMovie ul li:first-child() {
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  #visiontraining .serviceFeature ul li figure, #visiontraining .serviceFeature ul li p {
    width: 100%;
    float: none;
  }
  #visiontraining .serviceFeature ul li figure {
    text-align: center;
  }
}
/* ==================== recruit ==================== */
#recruit h1, #recruit .topicPath {
  display: none;
}

/* --------------------

top img

-------------------- */
.recruit_topImg {
  margin: 0 -500% 50px;
  padding: 50px 500% 0;
  margin-bottom: 0px;
  text-align: center;
}

.recruit_topImgInner {
  position: relative;
}

.topImgInnerText {
  text-align: center;
}

@media screen and (min-width: 1025px) {
  .recruit_topImg {
    background: url(../images/recruit_top_img.jpg) no-repeat 50% 0;
  }
  .recruit_topImgInner {
    position: relative;
    margin: 0 auto;
    width: 960px;
    height: 600px;
  }
  .recruit_topImgInner figure {
    display: none;
  }
  .recruit_topImgInnerText {
    position: absolute;
    bottom: 110px;
    width: 100%;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-style: italic;
    font-weight: 700;
    color: #FFF;
    text-shadow: 0 0 25px #000, 0 0 20px #000, 0 0 0.4px #000;
  }
  .recruit_topImgInnerText h3 {
    margin-bottom: 20px;
    font-size: 55px;
    line-height: 1.3;
    letter-spacing: -0.05em;
    border-bottom: 2px solid #FFF;
  }
  .recruit_topImgInnerText p {
    font-size: 24px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 1024px) {
  .recruit_topImgInnerText {
    padding: 10px;
  }
  .recruit_topImgInnerText h1 {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.5;
  }
}
/* --------------------

message

-------------------- */
.indexMessage {
  margin-bottom: 50px;
}

/* --------------------

staff

-------------------- */
.indexStaff {
  background: #F5F5F5;
  margin: 0 -500% 50px;
  padding: 50px 500%;
}

.indexStaff h2 {
  background: transparent;
  text-align: center;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 40px;
  color: #000;
}

.indexStaff h2:before {
  display: none;
}

.indexStaff li a {
  text-decoration: none;
  color: #000;
}

.indexStaff img {
  width: 100%;
}

.indexStaffText {
  padding: 10px 5px;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.55);
  color: #FFF;
}

.indexStaff li:nth-child(1) .indexStaffText {
  background-color: rgba(240, 195, 29, 0.7);
}

.indexStaff li:nth-child(2) .indexStaffText {
  background-color: rgba(230, 75, 60, 0.7);
}

.indexStaff li:nth-child(3) .indexStaffText {
  background-color: rgba(229, 125, 36, 0.7);
}

.indexStaff li:nth-child(4) .indexStaffText {
  background-color: rgba(156, 92, 181, 0.7);
}

.indexStaff li:nth-child(5) .indexStaffText {
  background-color: rgba(23, 187, 156, 0.7);
}

.indexStaff li:nth-child(6) .indexStaffText {
  background-color: rgba(53, 152, 217, 0.7);
}

.indexStaff ul {
  width: 100%;
}

.indexStaff ul:after {
  content: "";
  clear: both;
  display: block;
}

.indexStaff li {
  position: relative;
  float: left;
  width: calc(33.3333333333% - 10px);
  margin-left: 15px;
  margin-bottom: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #FFF;
}

.indexStaff li:nth-child(3n+1) {
  margin-left: 0;
}

.indexStaff li figure,
.indexStaff li figure img {
  max-width: 100%;
}

.indexStaffText {
  color: #FFF;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  text-align: right;
}

.indexStaff h3 {
  height: 6em;
  line-height: 6em;
  font-size: 20px;
  font-weight: 700;
  font-style: italic;
  text-align: center;
  vertical-align: middle;
}

.indexStaff h3 span {
  line-height: 1.5;
  display: inline-block;
  text-align: left;
}

.indexStaff dl {
  text-align: left;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  display: inline-block;
}

@media screen and (min-width: 481px) {
  .indexStaffText {
    position: absolute;
    bottom: 0;
    height: 15em;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .indexStaff li {
    width: calc(50% - 10px);
  }
  .indexStaff li:nth-child(3n+1) {
    margin-left: 10px;
  }
  .indexStaff li:nth-child(odd) {
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  /*.indexStaff li {
    width: 100%;
    margin-left: 0;
  }*/
  .indexStaff {
    padding-top: 0;
    padding-bottom: 0;
  }
  .indexStaff h2 {
    font-size: 24px;
    font-weight: bold;
  }
}
@media screen and (max-width: 480px) {
  .indexStaff li {
    width: 100%;
    margin-left: 0;
    /*padding-right: 20px;
    border: 1px solid #CCC;*/
  }
  .indexStaff li:after {
    content: "";
    clear: both;
    display: block;
  }
  .indexStaff li figure {
    /*float: left;*/
    display: inline-block;
    width: 120px;
    vertical-align: middle;
  }
  .indexStaff li h3,
  .indexStaff li p {
    overflow: hidden;
    height: auto;
    line-height: 1.5;
  }
  .indexStaff li h3 {
    margin-top: 10px;
  }
  .indexStaffText {
    padding: 0;
    display: inline-block;
    width: calc(100% - 150px);
    margin: 0;
    vertical-align: middle;
  }
  .indexStaff li:nth-child(1) {
    background-color: rgb(240, 195, 29);
  }
  .indexStaff li:nth-child(2) {
    background-color: rgb(230, 75, 60);
  }
  .indexStaff li:nth-child(3) {
    background-color: rgb(229, 125, 36);
  }
  .indexStaff li:nth-child(4) {
    background-color: rgb(156, 92, 181);
  }
  .indexStaff li:nth-child(5) {
    background-color: rgb(23, 187, 156);
  }
  .indexStaff li:nth-child(6) {
    background-color: rgb(53, 152, 217);
  }
}
/*
@media screen and (max-width: 368px) {
  .indexStaff li figure {
    width: 80px;
  }
}
*/
/* ==================== STAFF ==================== */
/* --------------------

list

-------------------- */
/* ---------------------------------------------

staffBox01

--------------------------------------------- */
.staffBox01 > p {
  display: table;
  margin: 0 auto 40px;
  padding: 0 10px;
}

.staffBox01 li {
  margin-bottom: 60px;
  padding: 0 10px;
}

.staffBox01 li:last-child {
  margin-bottom: 0;
}

.staffBox01 li a {
  border-top: 5px solid #004B85;
  text-decoration: none;
}

.staffBox01 li a p {
  text-align: center;
}

.staffBox01 li a:hover img {
  opacity: 1;
}

.staffBox01 li:nth-child(2n+1) a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.staffBox01 li:nth-of-type(1) .iBox {
  background: url(../images/staff-list-img01.jpg) no-repeat center 0;
}

.staffBox01 li:nth-of-type(2) .iBox {
  background: url(../images/staff-list-img02.jpg) no-repeat center 0;
}

.staffBox01 li:nth-of-type(3) .iBox {
  background: url(../images/staff-list-img03.jpg) no-repeat center 0;
}

.staffBox01 li .iBox.iBox {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-size: cover;
}

.staffBox01 li .tBox {
  background-color: #f2f2f2;
}

.staffBox01 li .tBox h2 {
  font-size: 2.5vw;
  text-align: center;
  line-height: 1.35;
  color: #004B85;
  padding: 0;
  padding-top: 80px;
}

.staffBox01 li .nameBox {
  padding: 40px 0 80px;
}

.staffBox01 li .nameBox p b {
  font-size: 1.5rem;
  font-weight: bold;
  display: block;
  margin-top: 15px;
}

.staffBox01 li .nameBox p em {
  color: #888;
  font-weight: bold;
}

.staffBox01 li .btnBox p {
  background-color: #d00f31;
  line-height: 1;
  font-weight: bold;
  padding: 15px 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #fff;
  font-size: 1.25rem;
}

.staffBox01 li .btnBox p:after {
  content: "\f105";
  font-family: FontAwesome;
  display: inline-block;
  margin-left: 1.5rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.staffBox01 li a:hover .btnBox p {
  letter-spacing: 2px;
}

@media screen and (max-width: 1024px) {
  .staffBox01 > p {
    margin: 1rem auto 2rem;
  }
  .staffBox01 li .tBox h2 {
    padding-top: 10%;
  }
  .staffBox01 li .nameBox {
    padding: 5% 0 10%;
  }
  .staffBox01 li .tBox h2 {
    font-size: 3vw;
  }
}
@media screen and (max-width: 768px) {
  .staffBox01 li a.flexPa.flexPa {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .staffBox01 li .iBox.iBox {
    background-size: cover;
    padding-bottom: 30%;
  }
  .staffBox01 li a i img {
    height: 100px;
  }
  .staffBox01 li .tBox h2 {
    padding-top: 6%;
  }
  .staffBox01 li .nameBox {
    padding: 3% 0 6%;
  }
  .staffBox01 li .tBox h2 {
    font-size: 6vw;
  }
  .staffBox01 li .nameBox p b {
    font-size: 1.25rem;
    margin-top: 5px;
  }
}
@media screen and (min-width: 1200px) {
  .staffBox01 li {
    padding: 0 60px;
  }
}
@media screen and (min-width: 1025px) {
  .staffBox01 li a:hover .iBox {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
/* --------------------

dtail

-------------------- */
.staffTop {
  margin-bottom: 60px;
  padding-bottom: 10px;
  border: 10px solid #bfe8fe;
  background: #eef9ff;
}

.staffTop h2,
.staffTop p {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  /*font-style: italic;*/
}

.staffTop h2 {
  padding: 15px;
  background: transparent;
  font-weight: 700;
  font-size: 25px;
  /*color: #1975aa;*/
  color: #1975aa;
}

.staffTop h2:before {
  display: none;
}

.staffTop p {
  font-size: 18px;
  text-align: right;
}

@media screen and (min-width: 769px) {
  .staffTop {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .staffTop {
    border-width: 5px;
  }
  .staffTop h2 {
    font-size: 18px;
    line-height: 1.3;
  }
  .staffTop p {
    font-size: 14px;
  }
}
/* --------------------

contents

-------------------- */
.staffBox {
  position: relative;
  margin-bottom: 80px;
  width: auto;
}

.staffBox:after {
  content: "";
  clear: both;
  display: block;
}

.staffBox h2,
.staffBox h3 {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  /*font-style: italic;*/
}

.staffBox h2 {
  margin-bottom: 30px;
  padding: 0 0 10px;
  background: transparent;
  font-weight: 700;
  font-size: 24px;
  /*text-align: center;*/
  color: #000;
  border-bottom: 1px dotted #1975aa;
}

.staffBox h2:before {
  display: none;
}

.staffBox h3 {
  margin-bottom: 20px;
  padding: 0;
  font-weight: 700;
  font-size: 18px;
  color: #1975aa;
}

.staffBox figure {
  float: left;
  margin-right: 20px;
}

.staff .staffBox ul.link li {
  width: 400px !important;
}

.staffText {
  overflow: hidden;
}

.staffTextR figure {
  float: right;
  margin-right: 0;
  margin-left: 20px;
}

@media screen and (max-width: 768px) {
  .staffBox h2 {
    font-size: 18px;
    margin-bottom: 10px;
    padding-bottom: 5px;
  }
  .staffBox h3 {
    margin-bottom: 10px;
  }
  .staffBox figure {
    width: 48%;
  }
}
@media screen and (max-width: 480px) {
  .staffBox figure {
    margin: 0 0 20px;
    width: 100%;
    float: none;
  }
  .staff .staffBox ul.link li {
    width: 98% !important;
  }
}
.staffImg {
  margin-bottom: 50px;
}

.staffImg ul {
  width: auto;
}

.staffImg ul:after {
  content: "";
  clear: both;
  display: block;
}

.staffImg li {
  width: calc((100% - 30px) / 3);
  margin-left: 15px;
  margin-bottom: 10px;
  float: left;
}

.staffImg li:first-child {
  margin-left: 0;
}

.staffImg li figure img {
  width: 100%;
}

@media screen and (max-width: 480px) {
  .staffImg li {
    width: 100%;
    margin: 0 0 15px;
  }
}
/* --------------------

 Banner

-------------------- */
.staffBnr {
  margin-bottom: 50px;
}

.staffBnr ul {
  width: auto;
}

.staffBnr ul:after {
  content: "";
  clear: both;
  display: block;
}

.staffBnr li {
  margin-left: 0.5%;
  width: 33%;
  float: left;
  background: #3e3a39;
}

.staffBnr li:first-child {
  margin-left: 0;
}

.staffBnr li a.current img {
  opacity: 0.5;
}

@media screen and (min-width: 1025px) {
  .staffBnr li {
    margin-left: 15px;
    width: 310px;
  }
}
@media screen and (max-width: 480px) {
  .staffBnr li {
    margin-left: 0;
    margin-bottom: 10px;
    width: 100%;
    float: none;
  }
}
.staffBtn:after {
  content: "";
  display: block;
  clear: both;
}

.staffBtn {
  margin-bottom: 20px;
}

.staffBtn li:first-child {
  float: left;
}

.staffBtn li:last-child {
  float: right;
}

/* --------------------

 Banner

-------------------- */
.slidebox {
  width: 60%;
  margin: 0 auto;
  text-align: center;
}

.metaslider .flex-control-nav li {
  width: auto;
  float: none;
}

.metaslider .flexslider {
  margin: 20px 0 90px !important;
}

@media screen and (max-width: 768px) {
  .slidebox {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  .slidebox {
    width: 100%;
  }
  .staff .svsmvi ul.slides li:nth-child(2) {
    clear: none;
  }
}
/* ------------------------------

 development

------------------------------ */
.developmentInner2:after {
  display: block;
  clear: both;
  content: "";
}

.developmentInner2 h4 {
  color: #e01414;
}

.development2 li {
  color: #e01414;
}

.source {
  text-align: right;
}

.developmentInner2 > div {
  background: #FFF;
  border-radius: 10px;
  padding: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #CCC;
}

@media screen and (min-width: 1025px) {
  .development1,
  .development2,
  .development3 {
    padding-left: 20px;
  }
  .development1 h3 {
    margin: 10px 0 20px;
  }
  .development1 > p {
    margin-bottom: 40px;
  }
  .developmentInner2 > div {
    float: left;
    width: 48%;
    margin-bottom: 60px;
  }
  .developmentInner2 h4 {
    margin-bottom: 10px;
    font-size: 18px;
  }
  .developmentInner2 figure {
    float: right;
    width: 160px;
  }
  .developmentInner2 p {
    float: left;
    width: calc(100% - 180px);
  }
  .developmentBox2,
  .developmentBox4 {
    margin-left: 20px;
  }
  .developmentBox3 {
    clear: both;
  }
  .developmentBox1 figure {
    margin-top: 69px;
  }
  .developmentBox2 figure {
    margin-top: 54px;
  }
  .developmentBox3 figure {
    margin-top: -41px;
  }
  .developmentBox4 figure {
    margin-top: 30px;
  }
  .development2 {
    margin-bottom: 50px;
  }
  .development2 h3,
  .development2 h3 {
    margin-bottom: 20px;
  }
  .development2 ul {
    margin-bottom: 25px;
  }
  .development2 li {
    font-size: 18px;
  }
  .development2 p {
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 1024px) {
  .development1,
  .development2 {
    padding: 0 10px;
  }
  #pageContents .development1 p,
  #pageContents .development2 p {
    padding: 0;
  }
  .development1 > p {
    margin-bottom: 20px;
  }
  .developmentInner2 > div {
    margin-bottom: 30px;
  }
  .developmentInner2 h4 {
    font-size: 18px;
  }
  .developmentInner2 figure {
    text-align: center;
  }
  .development2 {
    margin-bottom: 30px;
  }
  .development2 p {
    margin-bottom: 10px;
  }
  .development2 ul {
    margin: 10px 0;
  }
  .development2 li {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .development1,
  .development2 {
    padding: 0;
  }
  .development1 h2,
  .development2 h2 {
    font-size: 18px;
  }
  .development1 p,
  .development2 p {
    font-size: 14px;
  }
  p.source {
    font-size: 12px;
  }
}
/*# sourceMappingURL=style.css.map */