/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */

@import url("https://fonts.googleapis.com/css?family=Vollkorn:400,400i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700");
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.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
}

.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: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em
}

.fa-pull-left {
  float: left
}

.fa-pull-right {
  float: right
}

.fa.fa-pull-left {
  margin-right: .3em
}

.fa.fa-pull-right {
  margin-left: .3em
}

.pull-right {
  float: right
}

.pull-left {
  float: left
}

.fa.pull-left {
  margin-right: .3em
}

.fa.pull-right {
  margin-left: .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 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg)
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg)
}

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1)
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-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
}

.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-feed:before, .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-pp: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-resistance: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-y-combinator-square:before, .fa-yc-square:before, .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-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-intersex:before, .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-genderless:before {
  content: "\f22d"
}

.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"
}

.fa-yc:before, .fa-y-combinator:before {
  content: "\f23b"
}

.fa-optin-monster:before {
  content: "\f23c"
}

.fa-opencart:before {
  content: "\f23d"
}

.fa-expeditedssl:before {
  content: "\f23e"
}

.fa-battery-4:before, .fa-battery:before, .fa-battery-full:before {
  content: "\f240"
}

.fa-battery-3:before, .fa-battery-three-quarters:before {
  content: "\f241"
}

.fa-battery-2:before, .fa-battery-half:before {
  content: "\f242"
}

.fa-battery-1:before, .fa-battery-quarter:before {
  content: "\f243"
}

.fa-battery-0:before, .fa-battery-empty:before {
  content: "\f244"
}

.fa-mouse-pointer:before {
  content: "\f245"
}

.fa-i-cursor:before {
  content: "\f246"
}

.fa-object-group:before {
  content: "\f247"
}

.fa-object-ungroup:before {
  content: "\f248"
}

.fa-sticky-note:before {
  content: "\f249"
}

.fa-sticky-note-o:before {
  content: "\f24a"
}

.fa-cc-jcb:before {
  content: "\f24b"
}

.fa-cc-diners-club:before {
  content: "\f24c"
}

.fa-clone:before {
  content: "\f24d"
}

.fa-balance-scale:before {
  content: "\f24e"
}

.fa-hourglass-o:before {
  content: "\f250"
}

.fa-hourglass-1:before, .fa-hourglass-start:before {
  content: "\f251"
}

.fa-hourglass-2:before, .fa-hourglass-half:before {
  content: "\f252"
}

.fa-hourglass-3:before, .fa-hourglass-end:before {
  content: "\f253"
}

.fa-hourglass:before {
  content: "\f254"
}

.fa-hand-grab-o:before, .fa-hand-rock-o:before {
  content: "\f255"
}

.fa-hand-stop-o:before, .fa-hand-paper-o:before {
  content: "\f256"
}

.fa-hand-scissors-o:before {
  content: "\f257"
}

.fa-hand-lizard-o:before {
  content: "\f258"
}

.fa-hand-spock-o:before {
  content: "\f259"
}

.fa-hand-pointer-o:before {
  content: "\f25a"
}

.fa-hand-peace-o:before {
  content: "\f25b"
}

.fa-trademark:before {
  content: "\f25c"
}

.fa-registered:before {
  content: "\f25d"
}

.fa-creative-commons:before {
  content: "\f25e"
}

.fa-gg:before {
  content: "\f260"
}

.fa-gg-circle:before {
  content: "\f261"
}

.fa-tripadvisor:before {
  content: "\f262"
}

.fa-odnoklassniki:before {
  content: "\f263"
}

.fa-odnoklassniki-square:before {
  content: "\f264"
}

.fa-get-pocket:before {
  content: "\f265"
}

.fa-wikipedia-w:before {
  content: "\f266"
}

.fa-safari:before {
  content: "\f267"
}

.fa-chrome:before {
  content: "\f268"
}

.fa-firefox:before {
  content: "\f269"
}

.fa-opera:before {
  content: "\f26a"
}

.fa-internet-explorer:before {
  content: "\f26b"
}

.fa-tv:before, .fa-television:before {
  content: "\f26c"
}

.fa-contao:before {
  content: "\f26d"
}

.fa-500px:before {
  content: "\f26e"
}

.fa-amazon:before {
  content: "\f270"
}

.fa-calendar-plus-o:before {
  content: "\f271"
}

.fa-calendar-minus-o:before {
  content: "\f272"
}

.fa-calendar-times-o:before {
  content: "\f273"
}

.fa-calendar-check-o:before {
  content: "\f274"
}

.fa-industry:before {
  content: "\f275"
}

.fa-map-pin:before {
  content: "\f276"
}

.fa-map-signs:before {
  content: "\f277"
}

.fa-map-o:before {
  content: "\f278"
}

.fa-map:before {
  content: "\f279"
}

.fa-commenting:before {
  content: "\f27a"
}

.fa-commenting-o:before {
  content: "\f27b"
}

.fa-houzz:before {
  content: "\f27c"
}

.fa-vimeo:before {
  content: "\f27d"
}

.fa-black-tie:before {
  content: "\f27e"
}

.fa-fonticons:before {
  content: "\f280"
}

.fa-reddit-alien:before {
  content: "\f281"
}

.fa-edge:before {
  content: "\f282"
}

.fa-credit-card-alt:before {
  content: "\f283"
}

.fa-codiepie:before {
  content: "\f284"
}

.fa-modx:before {
  content: "\f285"
}

.fa-fort-awesome:before {
  content: "\f286"
}

.fa-usb:before {
  content: "\f287"
}

.fa-product-hunt:before {
  content: "\f288"
}

.fa-mixcloud:before {
  content: "\f289"
}

.fa-scribd:before {
  content: "\f28a"
}

.fa-pause-circle:before {
  content: "\f28b"
}

.fa-pause-circle-o:before {
  content: "\f28c"
}

.fa-stop-circle:before {
  content: "\f28d"
}

.fa-stop-circle-o:before {
  content: "\f28e"
}

.fa-shopping-bag:before {
  content: "\f290"
}

.fa-shopping-basket:before {
  content: "\f291"
}

.fa-hashtag:before {
  content: "\f292"
}

.fa-bluetooth:before {
  content: "\f293"
}

.fa-bluetooth-b:before {
  content: "\f294"
}

.fa-percent:before {
  content: "\f295"
}

.fa-gitlab:before {
  content: "\f296"
}

.fa-wpbeginner:before {
  content: "\f297"
}

.fa-wpforms:before {
  content: "\f298"
}

.fa-envira:before {
  content: "\f299"
}

.fa-universal-access:before {
  content: "\f29a"
}

.fa-wheelchair-alt:before {
  content: "\f29b"
}

.fa-question-circle-o:before {
  content: "\f29c"
}

.fa-blind:before {
  content: "\f29d"
}

.fa-audio-description:before {
  content: "\f29e"
}

.fa-volume-control-phone:before {
  content: "\f2a0"
}

.fa-braille:before {
  content: "\f2a1"
}

.fa-assistive-listening-systems:before {
  content: "\f2a2"
}

.fa-asl-interpreting:before, .fa-american-sign-language-interpreting:before {
  content: "\f2a3"
}

.fa-deafness:before, .fa-hard-of-hearing:before, .fa-deaf:before {
  content: "\f2a4"
}

.fa-glide:before {
  content: "\f2a5"
}

.fa-glide-g:before {
  content: "\f2a6"
}

.fa-signing:before, .fa-sign-language:before {
  content: "\f2a7"
}

.fa-low-vision:before {
  content: "\f2a8"
}

.fa-viadeo:before {
  content: "\f2a9"
}

.fa-viadeo-square:before {
  content: "\f2aa"
}

.fa-snapchat:before {
  content: "\f2ab"
}

.fa-snapchat-ghost:before {
  content: "\f2ac"
}

.fa-snapchat-square:before {
  content: "\f2ad"
}

.fa-pied-piper:before {
  content: "\f2ae"
}

.fa-first-order:before {
  content: "\f2b0"
}

.fa-yoast:before {
  content: "\f2b1"
}

.fa-themeisle:before {
  content: "\f2b2"
}

.fa-google-plus-circle:before, .fa-google-plus-official:before {
  content: "\f2b3"
}

.fa-fa:before, .fa-font-awesome:before {
  content: "\f2b4"
}

.fa-handshake-o:before {
  content: "\f2b5"
}

.fa-envelope-open:before {
  content: "\f2b6"
}

.fa-envelope-open-o:before {
  content: "\f2b7"
}

.fa-linode:before {
  content: "\f2b8"
}

.fa-address-book:before {
  content: "\f2b9"
}

.fa-address-book-o:before {
  content: "\f2ba"
}

.fa-vcard:before, .fa-address-card:before {
  content: "\f2bb"
}

.fa-vcard-o:before, .fa-address-card-o:before {
  content: "\f2bc"
}

.fa-user-circle:before {
  content: "\f2bd"
}

.fa-user-circle-o:before {
  content: "\f2be"
}

.fa-user-o:before {
  content: "\f2c0"
}

.fa-id-badge:before {
  content: "\f2c1"
}

.fa-drivers-license:before, .fa-id-card:before {
  content: "\f2c2"
}

.fa-drivers-license-o:before, .fa-id-card-o:before {
  content: "\f2c3"
}

.fa-quora:before {
  content: "\f2c4"
}

.fa-free-code-camp:before {
  content: "\f2c5"
}

.fa-telegram:before {
  content: "\f2c6"
}

.fa-thermometer-4:before, .fa-thermometer:before, .fa-thermometer-full:before {
  content: "\f2c7"
}

.fa-thermometer-3:before, .fa-thermometer-three-quarters:before {
  content: "\f2c8"
}

.fa-thermometer-2:before, .fa-thermometer-half:before {
  content: "\f2c9"
}

.fa-thermometer-1:before, .fa-thermometer-quarter:before {
  content: "\f2ca"
}

.fa-thermometer-0:before, .fa-thermometer-empty:before {
  content: "\f2cb"
}

.fa-shower:before {
  content: "\f2cc"
}

.fa-bathtub:before, .fa-s15:before, .fa-bath:before {
  content: "\f2cd"
}

.fa-podcast:before {
  content: "\f2ce"
}

.fa-window-maximize:before {
  content: "\f2d0"
}

.fa-window-minimize:before {
  content: "\f2d1"
}

.fa-window-restore:before {
  content: "\f2d2"
}

.fa-times-rectangle:before, .fa-window-close:before {
  content: "\f2d3"
}

.fa-times-rectangle-o:before, .fa-window-close-o:before {
  content: "\f2d4"
}

.fa-bandcamp:before {
  content: "\f2d5"
}

.fa-grav:before {
  content: "\f2d6"
}

.fa-etsy:before {
  content: "\f2d7"
}

.fa-imdb:before {
  content: "\f2d8"
}

.fa-ravelry:before {
  content: "\f2d9"
}

.fa-eercast:before {
  content: "\f2da"
}

.fa-microchip:before {
  content: "\f2db"
}

.fa-snowflake-o:before {
  content: "\f2dc"
}

.fa-superpowers:before {
  content: "\f2dd"
}

.fa-wpexplorer:before {
  content: "\f2de"
}

.fa-meetup:before {
  content: "\f2e0"
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto
}

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: none
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir="rtl"] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}


/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */

.fancybox-wrap, .fancybox-skin, .fancybox-outer, .fancybox-inner, .fancybox-image, .fancybox-wrap iframe, .fancybox-wrap object, .fancybox-nav, .fancybox-nav span, .fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 90000
}

.fancybox-skin {
  position: relative;
  background: #fff;
  color: #444;
  text-shadow: none
}

.fancybox-opened {
  z-index: 9999
}

.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5)
}

.fancybox-outer, .fancybox-inner {
  position: relative
}

.fancybox-inner {
  overflow: hidden
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap
}

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%
}

#fancybox-loading {
  background-image: url("images/fancybox_sprite.png")
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 90000
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("images/fancybox_loading.gif") center center no-repeat
}

.fancybox-close {
  background-image: url(../images/btn-close_001.gif);
  background-repeat: no-repeat;
  position: absolute;
  bottom: -30px;
  right: 50%;
  margin-right: -40px;
  width: 80px;
  height: 24px;
  cursor: pointer;
  z-index: 90000
}

.fancybox-close:hover {
  background-position: left bottom
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("images/blank.gif");
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 90000
}

.fancybox-prev {
  left: -60px
}

.fancybox-next {
  right: -60px
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 32px;
  height: 46px;
  margin-top: -16px;
  cursor: pointer;
  z-index: 90000
}

.fancybox-prev span {
  background-image: url(/fs/images/common/btn-arrow_001.png);
  background-repeat: no-repeat;
  left: 10px
}

.fancybox-next span {
  background-image: url(/fs/images/common/btn-arrow_002.png);
  background-repeat: no-repeat;
  right: 10px
}

.fancybox-nav:hover span {
  opacity: 0.6;
  filter: alpha(opacity=60)
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important
}

.fancybox-lock {
  overflow: hidden
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: auto;
  display: none;
  z-index: 9000;
  /* background: url("images/fancybox_overlay.png") */
  background: url("/gtec/common/css/images/fancybox_overlay.png")
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: hidden
}

.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 90000
}

.fancybox-opened .fancybox-title {
  visibility: visible
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 90000;
  text-align: center
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff
}

.fancybox-title-inside-wrap {
  padding-top: 10px
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8)
}

@media screen and (max-width: 640px) {
  .fancybox-close {
    background-image: url(../images/btn-close_001_sp.gif);
    background-size: 80px 48px
  }
  .fancybox-prev {
    left: -44px
  }
  .fancybox-next {
    right: -44px
  }
  .fancybox-nav span {
    width: 16px;
    height: 23px;
    margin-top: -8px
  }
  .fancybox-prev span {
    background-size: 16px 23px
  }
  .fancybox-next span {
    background-size: 16px 23px
  }
}

.fancybox-inner {
  height: auto !important
}

.fancybox-close.fancybox-close-2 {
  background-image: none;
  position: absolute;
  width: 30px;
  height: 30px;
  bottom: auto;
  top: -30px;
  right: 35px;
  cursor: pointer;
  z-index: 90000
}

@media only screen and (max-width: 767px) {
  .fancybox-close.fancybox-close-2:after, .fancybox-close.fancybox-close-2:before {
    position: absolute;
    width: 30px;
    height: 3px;
    overflow: hidden;
    background-color: #ffcc00;
    content: ""
  }
  .fancybox-close.fancybox-close-2:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
  }
  .fancybox-close.fancybox-close-2:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul, ol {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}

body {
  font-size: 14px;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  line-height: 1.75;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media only screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
    font-size: 12px
  }
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom
}

a {
  outline: none
}

ul, ol {
  list-style: none
}

.u-mt0 {
  margin-top: 0px !important
}

.u-mb0 {
  margin-bottom: 0px !important
}

.u-ml0 {
  margin-left: 0px !important
}

.u-mr0 {
  margin-right: 0px !important
}

.u-pt0 {
  padding-top: 0px !important
}

.u-pb0 {
  padding-bottom: 0px !important
}

.u-pl0 {
  padding-left: 0px !important
}

.u-pr0 {
  padding-right: 0px !important
}

.u-plr0 {
  padding-left: 0px !important;
  padding-right: 0px !important
}

.u-ptb0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important
}

.u-font0 {
  font-size: 0px !important
}

.u-radius0 {
  border-radius: 0px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt0-pc {
    margin-top: 0px !important
  }
  .u-mb0-pc {
    margin-bottom: 0px !important
  }
  .u-ml0-pc {
    margin-left: 0px !important
  }
  .u-mr0-pc {
    margin-right: 0px !important
  }
  .u-pt0-pc {
    padding-top: 0px !important
  }
  .u-pb0-pc {
    padding-bottom: 0px !important
  }
  .u-pl0-pc {
    padding-left: 0px !important
  }
  .u-pr0-pc {
    padding-right: 0px !important
  }
  .u-plr0-pc {
    padding-left: 0px !important;
    padding-right: 0px !important
  }
  .u-ptb0-pc {
    padding-top: 0px !important;
    padding-bottom: 0px !important
  }
  .u-font0-pc {
    font-size: 0px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt0-sp {
    margin-top: 0px !important
  }
  .u-mb0-sp {
    margin-bottom: 0px !important
  }
  .u-ml0-sp {
    margin-left: 0px !important
  }
  .u-mr0-sp {
    margin-right: 0px !important
  }
  .u-pt0-sp {
    padding-top: 0px !important
  }
  .u-pb0-sp {
    padding-bottom: 0px !important
  }
  .u-plr0-sp {
    padding-left: 0px !important;
    padding-right: 0px !important
  }
  .u-ptb0-sp {
    padding-top: 0px !important;
    padding-bottom: 0px !important
  }
  .u-pl0-sp {
    padding-left: 0px !important
  }
  .u-pr0-sp {
    padding-right: 0px !important
  }
  .u-font0-sp {
    font-size: 0px !important
  }
}

.u-mt5 {
  margin-top: 5px !important
}

.u-mb5 {
  margin-bottom: 5px !important
}

.u-ml5 {
  margin-left: 5px !important
}

.u-mr5 {
  margin-right: 5px !important
}

.u-pt5 {
  padding-top: 5px !important
}

.u-pb5 {
  padding-bottom: 5px !important
}

.u-pl5 {
  padding-left: 5px !important
}

.u-pr5 {
  padding-right: 5px !important
}

.u-plr5 {
  padding-left: 5px !important;
  padding-right: 5px !important
}

.u-ptb5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important
}

.u-font2 {
  font-size: 2px !important
}

.u-radius2 {
  border-radius: 2px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt5-pc {
    margin-top: 5px !important
  }
  .u-mb5-pc {
    margin-bottom: 5px !important
  }
  .u-ml5-pc {
    margin-left: 5px !important
  }
  .u-mr5-pc {
    margin-right: 5px !important
  }
  .u-pt5-pc {
    padding-top: 5px !important
  }
  .u-pb5-pc {
    padding-bottom: 5px !important
  }
  .u-pl5-pc {
    padding-left: 5px !important
  }
  .u-pr5-pc {
    padding-right: 5px !important
  }
  .u-plr5-pc {
    padding-left: 5px !important;
    padding-right: 5px !important
  }
  .u-ptb5-pc {
    padding-top: 5px !important;
    padding-bottom: 5px !important
  }
  .u-font2-pc {
    font-size: 2px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt5-sp {
    margin-top: 5px !important
  }
  .u-mb5-sp {
    margin-bottom: 5px !important
  }
  .u-ml5-sp {
    margin-left: 5px !important
  }
  .u-mr5-sp {
    margin-right: 5px !important
  }
  .u-pt5-sp {
    padding-top: 5px !important
  }
  .u-pb5-sp {
    padding-bottom: 5px !important
  }
  .u-plr5-sp {
    padding-left: 5px !important;
    padding-right: 5px !important
  }
  .u-ptb5-sp {
    padding-top: 5px !important;
    padding-bottom: 5px !important
  }
  .u-pl5-sp {
    padding-left: 5px !important
  }
  .u-pr5-sp {
    padding-right: 5px !important
  }
  .u-font2-sp {
    font-size: 2px !important
  }
}

.u-mt10 {
  margin-top: 10px !important
}

.u-mb10 {
  margin-bottom: 10px !important
}

.u-ml10 {
  margin-left: 10px !important
}

.u-mr10 {
  margin-right: 10px !important
}

.u-pt10 {
  padding-top: 10px !important
}

.u-pb10 {
  padding-bottom: 10px !important
}

.u-pl10 {
  padding-left: 10px !important
}

.u-pr10 {
  padding-right: 10px !important
}

.u-plr10 {
  padding-left: 10px !important;
  padding-right: 10px !important
}

.u-ptb10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important
}

.u-font4 {
  font-size: 4px !important
}

.u-radius4 {
  border-radius: 4px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt10-pc {
    margin-top: 10px !important
  }
  .u-mb10-pc {
    margin-bottom: 10px !important
  }
  .u-ml10-pc {
    margin-left: 10px !important
  }
  .u-mr10-pc {
    margin-right: 10px !important
  }
  .u-pt10-pc {
    padding-top: 10px !important
  }
  .u-pb10-pc {
    padding-bottom: 10px !important
  }
  .u-pl10-pc {
    padding-left: 10px !important
  }
  .u-pr10-pc {
    padding-right: 10px !important
  }
  .u-plr10-pc {
    padding-left: 10px !important;
    padding-right: 10px !important
  }
  .u-ptb10-pc {
    padding-top: 10px !important;
    padding-bottom: 10px !important
  }
  .u-font4-pc {
    font-size: 4px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt10-sp {
    margin-top: 10px !important
  }
  .u-mb10-sp {
    margin-bottom: 10px !important
  }
  .u-ml10-sp {
    margin-left: 10px !important
  }
  .u-mr10-sp {
    margin-right: 10px !important
  }
  .u-pt10-sp {
    padding-top: 10px !important
  }
  .u-pb10-sp {
    padding-bottom: 10px !important
  }
  .u-plr10-sp {
    padding-left: 10px !important;
    padding-right: 10px !important
  }
  .u-ptb10-sp {
    padding-top: 10px !important;
    padding-bottom: 10px !important
  }
  .u-pl10-sp {
    padding-left: 10px !important
  }
  .u-pr10-sp {
    padding-right: 10px !important
  }
  .u-font4-sp {
    font-size: 4px !important
  }
}

.u-mt15 {
  margin-top: 15px !important
}

.u-mb15 {
  margin-bottom: 15px !important
}

.u-ml15 {
  margin-left: 15px !important
}

.u-mr15 {
  margin-right: 15px !important
}

.u-pt15 {
  padding-top: 15px !important
}

.u-pb15 {
  padding-bottom: 15px !important
}

.u-pl15 {
  padding-left: 15px !important
}

.u-pr15 {
  padding-right: 15px !important
}

.u-plr15 {
  padding-left: 15px !important;
  padding-right: 15px !important
}

.u-ptb15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important
}

.u-font6 {
  font-size: 6px !important
}

.u-radius6 {
  border-radius: 6px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt15-pc {
    margin-top: 15px !important
  }
  .u-mb15-pc {
    margin-bottom: 15px !important
  }
  .u-ml15-pc {
    margin-left: 15px !important
  }
  .u-mr15-pc {
    margin-right: 15px !important
  }
  .u-pt15-pc {
    padding-top: 15px !important
  }
  .u-pb15-pc {
    padding-bottom: 15px !important
  }
  .u-pl15-pc {
    padding-left: 15px !important
  }
  .u-pr15-pc {
    padding-right: 15px !important
  }
  .u-plr15-pc {
    padding-left: 15px !important;
    padding-right: 15px !important
  }
  .u-ptb15-pc {
    padding-top: 15px !important;
    padding-bottom: 15px !important
  }
  .u-font6-pc {
    font-size: 6px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt15-sp {
    margin-top: 15px !important
  }
  .u-mb15-sp {
    margin-bottom: 15px !important
  }
  .u-ml15-sp {
    margin-left: 15px !important
  }
  .u-mr15-sp {
    margin-right: 15px !important
  }
  .u-pt15-sp {
    padding-top: 15px !important
  }
  .u-pb15-sp {
    padding-bottom: 15px !important
  }
  .u-plr15-sp {
    padding-left: 15px !important;
    padding-right: 15px !important
  }
  .u-ptb15-sp {
    padding-top: 15px !important;
    padding-bottom: 15px !important
  }
  .u-pl15-sp {
    padding-left: 15px !important
  }
  .u-pr15-sp {
    padding-right: 15px !important
  }
  .u-font6-sp {
    font-size: 6px !important
  }
}

.u-mt20 {
  margin-top: 20px !important
}

.u-mb20 {
  margin-bottom: 20px !important
}

.u-ml20 {
  margin-left: 20px !important
}

.u-mr20 {
  margin-right: 20px !important
}

.u-pt20 {
  padding-top: 20px !important
}

.u-pb20 {
  padding-bottom: 20px !important
}

.u-pl20 {
  padding-left: 20px !important
}

.u-pr20 {
  padding-right: 20px !important
}

.u-plr20 {
  padding-left: 20px !important;
  padding-right: 20px !important
}

.u-ptb20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important
}

.u-font8 {
  font-size: 8px !important
}

.u-radius8 {
  border-radius: 8px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt20-pc {
    margin-top: 20px !important
  }
  .u-mb20-pc {
    margin-bottom: 20px !important
  }
  .u-ml20-pc {
    margin-left: 20px !important
  }
  .u-mr20-pc {
    margin-right: 20px !important
  }
  .u-pt20-pc {
    padding-top: 20px !important
  }
  .u-pb20-pc {
    padding-bottom: 20px !important
  }
  .u-pl20-pc {
    padding-left: 20px !important
  }
  .u-pr20-pc {
    padding-right: 20px !important
  }
  .u-plr20-pc {
    padding-left: 20px !important;
    padding-right: 20px !important
  }
  .u-ptb20-pc {
    padding-top: 20px !important;
    padding-bottom: 20px !important
  }
  .u-font8-pc {
    font-size: 8px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt20-sp {
    margin-top: 20px !important
  }
  .u-mb20-sp {
    margin-bottom: 20px !important
  }
  .u-ml20-sp {
    margin-left: 20px !important
  }
  .u-mr20-sp {
    margin-right: 20px !important
  }
  .u-pt20-sp {
    padding-top: 20px !important
  }
  .u-pb20-sp {
    padding-bottom: 20px !important
  }
  .u-plr20-sp {
    padding-left: 20px !important;
    padding-right: 20px !important
  }
  .u-ptb20-sp {
    padding-top: 20px !important;
    padding-bottom: 20px !important
  }
  .u-pl20-sp {
    padding-left: 20px !important
  }
  .u-pr20-sp {
    padding-right: 20px !important
  }
  .u-font8-sp {
    font-size: 8px !important
  }
}

.u-mt25 {
  margin-top: 25px !important
}

.u-mb25 {
  margin-bottom: 25px !important
}

.u-ml25 {
  margin-left: 25px !important
}

.u-mr25 {
  margin-right: 25px !important
}

.u-pt25 {
  padding-top: 25px !important
}

.u-pb25 {
  padding-bottom: 25px !important
}

.u-pl25 {
  padding-left: 25px !important
}

.u-pr25 {
  padding-right: 25px !important
}

.u-plr25 {
  padding-left: 25px !important;
  padding-right: 25px !important
}

.u-ptb25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important
}

.u-font10 {
  font-size: 10px !important
}

.u-radius10 {
  border-radius: 10px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt25-pc {
    margin-top: 25px !important
  }
  .u-mb25-pc {
    margin-bottom: 25px !important
  }
  .u-ml25-pc {
    margin-left: 25px !important
  }
  .u-mr25-pc {
    margin-right: 25px !important
  }
  .u-pt25-pc {
    padding-top: 25px !important
  }
  .u-pb25-pc {
    padding-bottom: 25px !important
  }
  .u-pl25-pc {
    padding-left: 25px !important
  }
  .u-pr25-pc {
    padding-right: 25px !important
  }
  .u-plr25-pc {
    padding-left: 25px !important;
    padding-right: 25px !important
  }
  .u-ptb25-pc {
    padding-top: 25px !important;
    padding-bottom: 25px !important
  }
  .u-font10-pc {
    font-size: 10px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt25-sp {
    margin-top: 25px !important
  }
  .u-mb25-sp {
    margin-bottom: 25px !important
  }
  .u-ml25-sp {
    margin-left: 25px !important
  }
  .u-mr25-sp {
    margin-right: 25px !important
  }
  .u-pt25-sp {
    padding-top: 25px !important
  }
  .u-pb25-sp {
    padding-bottom: 25px !important
  }
  .u-plr25-sp {
    padding-left: 25px !important;
    padding-right: 25px !important
  }
  .u-ptb25-sp {
    padding-top: 25px !important;
    padding-bottom: 25px !important
  }
  .u-pl25-sp {
    padding-left: 25px !important
  }
  .u-pr25-sp {
    padding-right: 25px !important
  }
  .u-font10-sp {
    font-size: 10px !important
  }
}

.u-mt30 {
  margin-top: 30px !important
}

.u-mb30 {
  margin-bottom: 30px !important
}

.u-ml30 {
  margin-left: 30px !important
}

.u-mr30 {
  margin-right: 30px !important
}

.u-pt30 {
  padding-top: 30px !important
}

.u-pb30 {
  padding-bottom: 30px !important
}

.u-pl30 {
  padding-left: 30px !important
}

.u-pr30 {
  padding-right: 30px !important
}

.u-plr30 {
  padding-left: 30px !important;
  padding-right: 30px !important
}

.u-ptb30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important
}

.u-font12 {
  font-size: 12px !important
}

.u-radius12 {
  border-radius: 12px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt30-pc {
    margin-top: 30px !important
  }
  .u-mb30-pc {
    margin-bottom: 30px !important
  }
  .u-ml30-pc {
    margin-left: 30px !important
  }
  .u-mr30-pc {
    margin-right: 30px !important
  }
  .u-pt30-pc {
    padding-top: 30px !important
  }
  .u-pb30-pc {
    padding-bottom: 30px !important
  }
  .u-pl30-pc {
    padding-left: 30px !important
  }
  .u-pr30-pc {
    padding-right: 30px !important
  }
  .u-plr30-pc {
    padding-left: 30px !important;
    padding-right: 30px !important
  }
  .u-ptb30-pc {
    padding-top: 30px !important;
    padding-bottom: 30px !important
  }
  .u-font12-pc {
    font-size: 12px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt30-sp {
    margin-top: 30px !important
  }
  .u-mb30-sp {
    margin-bottom: 30px !important
  }
  .u-ml30-sp {
    margin-left: 30px !important
  }
  .u-mr30-sp {
    margin-right: 30px !important
  }
  .u-pt30-sp {
    padding-top: 30px !important
  }
  .u-pb30-sp {
    padding-bottom: 30px !important
  }
  .u-plr30-sp {
    padding-left: 30px !important;
    padding-right: 30px !important
  }
  .u-ptb30-sp {
    padding-top: 30px !important;
    padding-bottom: 30px !important
  }
  .u-pl30-sp {
    padding-left: 30px !important
  }
  .u-pr30-sp {
    padding-right: 30px !important
  }
  .u-font12-sp {
    font-size: 12px !important
  }
}

.u-mt35 {
  margin-top: 35px !important
}

.u-mb35 {
  margin-bottom: 35px !important
}

.u-ml35 {
  margin-left: 35px !important
}

.u-mr35 {
  margin-right: 35px !important
}

.u-pt35 {
  padding-top: 35px !important
}

.u-pb35 {
  padding-bottom: 35px !important
}

.u-pl35 {
  padding-left: 35px !important
}

.u-pr35 {
  padding-right: 35px !important
}

.u-plr35 {
  padding-left: 35px !important;
  padding-right: 35px !important
}

.u-ptb35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important
}

.u-font14 {
  font-size: 14px !important
}

.u-radius14 {
  border-radius: 14px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt35-pc {
    margin-top: 35px !important
  }
  .u-mb35-pc {
    margin-bottom: 35px !important
  }
  .u-ml35-pc {
    margin-left: 35px !important
  }
  .u-mr35-pc {
    margin-right: 35px !important
  }
  .u-pt35-pc {
    padding-top: 35px !important
  }
  .u-pb35-pc {
    padding-bottom: 35px !important
  }
  .u-pl35-pc {
    padding-left: 35px !important
  }
  .u-pr35-pc {
    padding-right: 35px !important
  }
  .u-plr35-pc {
    padding-left: 35px !important;
    padding-right: 35px !important
  }
  .u-ptb35-pc {
    padding-top: 35px !important;
    padding-bottom: 35px !important
  }
  .u-font14-pc {
    font-size: 14px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt35-sp {
    margin-top: 35px !important
  }
  .u-mb35-sp {
    margin-bottom: 35px !important
  }
  .u-ml35-sp {
    margin-left: 35px !important
  }
  .u-mr35-sp {
    margin-right: 35px !important
  }
  .u-pt35-sp {
    padding-top: 35px !important
  }
  .u-pb35-sp {
    padding-bottom: 35px !important
  }
  .u-plr35-sp {
    padding-left: 35px !important;
    padding-right: 35px !important
  }
  .u-ptb35-sp {
    padding-top: 35px !important;
    padding-bottom: 35px !important
  }
  .u-pl35-sp {
    padding-left: 35px !important
  }
  .u-pr35-sp {
    padding-right: 35px !important
  }
  .u-font14-sp {
    font-size: 14px !important
  }
}

.u-mt40 {
  margin-top: 40px !important
}

.u-mb40 {
  margin-bottom: 40px !important
}

.u-ml40 {
  margin-left: 40px !important
}

.u-mr40 {
  margin-right: 40px !important
}

.u-pt40 {
  padding-top: 40px !important
}

.u-pb40 {
  padding-bottom: 40px !important
}

.u-pl40 {
  padding-left: 40px !important
}

.u-pr40 {
  padding-right: 40px !important
}

.u-plr40 {
  padding-left: 40px !important;
  padding-right: 40px !important
}

.u-ptb40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important
}

.u-font16 {
  font-size: 16px !important
}

.u-radius16 {
  border-radius: 16px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt40-pc {
    margin-top: 40px !important
  }
  .u-mb40-pc {
    margin-bottom: 40px !important
  }
  .u-ml40-pc {
    margin-left: 40px !important
  }
  .u-mr40-pc {
    margin-right: 40px !important
  }
  .u-pt40-pc {
    padding-top: 40px !important
  }
  .u-pb40-pc {
    padding-bottom: 40px !important
  }
  .u-pl40-pc {
    padding-left: 40px !important
  }
  .u-pr40-pc {
    padding-right: 40px !important
  }
  .u-plr40-pc {
    padding-left: 40px !important;
    padding-right: 40px !important
  }
  .u-ptb40-pc {
    padding-top: 40px !important;
    padding-bottom: 40px !important
  }
  .u-font16-pc {
    font-size: 16px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt40-sp {
    margin-top: 40px !important
  }
  .u-mb40-sp {
    margin-bottom: 40px !important
  }
  .u-ml40-sp {
    margin-left: 40px !important
  }
  .u-mr40-sp {
    margin-right: 40px !important
  }
  .u-pt40-sp {
    padding-top: 40px !important
  }
  .u-pb40-sp {
    padding-bottom: 40px !important
  }
  .u-plr40-sp {
    padding-left: 40px !important;
    padding-right: 40px !important
  }
  .u-ptb40-sp {
    padding-top: 40px !important;
    padding-bottom: 40px !important
  }
  .u-pl40-sp {
    padding-left: 40px !important
  }
  .u-pr40-sp {
    padding-right: 40px !important
  }
  .u-font16-sp {
    font-size: 16px !important
  }
}

.u-mt45 {
  margin-top: 45px !important
}

.u-mb45 {
  margin-bottom: 45px !important
}

.u-ml45 {
  margin-left: 45px !important
}

.u-mr45 {
  margin-right: 45px !important
}

.u-pt45 {
  padding-top: 45px !important
}

.u-pb45 {
  padding-bottom: 45px !important
}

.u-pl45 {
  padding-left: 45px !important
}

.u-pr45 {
  padding-right: 45px !important
}

.u-plr45 {
  padding-left: 45px !important;
  padding-right: 45px !important
}

.u-ptb45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important
}

.u-font18 {
  font-size: 18px !important
}

.u-radius18 {
  border-radius: 18px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt45-pc {
    margin-top: 45px !important
  }
  .u-mb45-pc {
    margin-bottom: 45px !important
  }
  .u-ml45-pc {
    margin-left: 45px !important
  }
  .u-mr45-pc {
    margin-right: 45px !important
  }
  .u-pt45-pc {
    padding-top: 45px !important
  }
  .u-pb45-pc {
    padding-bottom: 45px !important
  }
  .u-pl45-pc {
    padding-left: 45px !important
  }
  .u-pr45-pc {
    padding-right: 45px !important
  }
  .u-plr45-pc {
    padding-left: 45px !important;
    padding-right: 45px !important
  }
  .u-ptb45-pc {
    padding-top: 45px !important;
    padding-bottom: 45px !important
  }
  .u-font18-pc {
    font-size: 18px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt45-sp {
    margin-top: 45px !important
  }
  .u-mb45-sp {
    margin-bottom: 45px !important
  }
  .u-ml45-sp {
    margin-left: 45px !important
  }
  .u-mr45-sp {
    margin-right: 45px !important
  }
  .u-pt45-sp {
    padding-top: 45px !important
  }
  .u-pb45-sp {
    padding-bottom: 45px !important
  }
  .u-plr45-sp {
    padding-left: 45px !important;
    padding-right: 45px !important
  }
  .u-ptb45-sp {
    padding-top: 45px !important;
    padding-bottom: 45px !important
  }
  .u-pl45-sp {
    padding-left: 45px !important
  }
  .u-pr45-sp {
    padding-right: 45px !important
  }
  .u-font18-sp {
    font-size: 18px !important
  }
}

.u-mt50 {
  margin-top: 50px !important
}

.u-mb50 {
  margin-bottom: 50px !important
}

.u-ml50 {
  margin-left: 50px !important
}

.u-mr50 {
  margin-right: 50px !important
}

.u-pt50 {
  padding-top: 50px !important
}

.u-pb50 {
  padding-bottom: 50px !important
}

.u-pl50 {
  padding-left: 50px !important
}

.u-pr50 {
  padding-right: 50px !important
}

.u-plr50 {
  padding-left: 50px !important;
  padding-right: 50px !important
}

.u-ptb50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important
}

.u-font20 {
  font-size: 20px !important
}

.u-radius20 {
  border-radius: 20px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt50-pc {
    margin-top: 50px !important
  }
  .u-mb50-pc {
    margin-bottom: 50px !important
  }
  .u-ml50-pc {
    margin-left: 50px !important
  }
  .u-mr50-pc {
    margin-right: 50px !important
  }
  .u-pt50-pc {
    padding-top: 50px !important
  }
  .u-pb50-pc {
    padding-bottom: 50px !important
  }
  .u-pl50-pc {
    padding-left: 50px !important
  }
  .u-pr50-pc {
    padding-right: 50px !important
  }
  .u-plr50-pc {
    padding-left: 50px !important;
    padding-right: 50px !important
  }
  .u-ptb50-pc {
    padding-top: 50px !important;
    padding-bottom: 50px !important
  }
  .u-font20-pc {
    font-size: 20px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt50-sp {
    margin-top: 50px !important
  }
  .u-mb50-sp {
    margin-bottom: 50px !important
  }
  .u-ml50-sp {
    margin-left: 50px !important
  }
  .u-mr50-sp {
    margin-right: 50px !important
  }
  .u-pt50-sp {
    padding-top: 50px !important
  }
  .u-pb50-sp {
    padding-bottom: 50px !important
  }
  .u-plr50-sp {
    padding-left: 50px !important;
    padding-right: 50px !important
  }
  .u-ptb50-sp {
    padding-top: 50px !important;
    padding-bottom: 50px !important
  }
  .u-pl50-sp {
    padding-left: 50px !important
  }
  .u-pr50-sp {
    padding-right: 50px !important
  }
  .u-font20-sp {
    font-size: 20px !important
  }
}

.u-mt55 {
  margin-top: 55px !important
}

.u-mb55 {
  margin-bottom: 55px !important
}

.u-ml55 {
  margin-left: 55px !important
}

.u-mr55 {
  margin-right: 55px !important
}

.u-pt55 {
  padding-top: 55px !important
}

.u-pb55 {
  padding-bottom: 55px !important
}

.u-pl55 {
  padding-left: 55px !important
}

.u-pr55 {
  padding-right: 55px !important
}

.u-plr55 {
  padding-left: 55px !important;
  padding-right: 55px !important
}

.u-ptb55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important
}

.u-font22 {
  font-size: 22px !important
}

.u-radius22 {
  border-radius: 22px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt55-pc {
    margin-top: 55px !important
  }
  .u-mb55-pc {
    margin-bottom: 55px !important
  }
  .u-ml55-pc {
    margin-left: 55px !important
  }
  .u-mr55-pc {
    margin-right: 55px !important
  }
  .u-pt55-pc {
    padding-top: 55px !important
  }
  .u-pb55-pc {
    padding-bottom: 55px !important
  }
  .u-pl55-pc {
    padding-left: 55px !important
  }
  .u-pr55-pc {
    padding-right: 55px !important
  }
  .u-plr55-pc {
    padding-left: 55px !important;
    padding-right: 55px !important
  }
  .u-ptb55-pc {
    padding-top: 55px !important;
    padding-bottom: 55px !important
  }
  .u-font22-pc {
    font-size: 22px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt55-sp {
    margin-top: 55px !important
  }
  .u-mb55-sp {
    margin-bottom: 55px !important
  }
  .u-ml55-sp {
    margin-left: 55px !important
  }
  .u-mr55-sp {
    margin-right: 55px !important
  }
  .u-pt55-sp {
    padding-top: 55px !important
  }
  .u-pb55-sp {
    padding-bottom: 55px !important
  }
  .u-plr55-sp {
    padding-left: 55px !important;
    padding-right: 55px !important
  }
  .u-ptb55-sp {
    padding-top: 55px !important;
    padding-bottom: 55px !important
  }
  .u-pl55-sp {
    padding-left: 55px !important
  }
  .u-pr55-sp {
    padding-right: 55px !important
  }
  .u-font22-sp {
    font-size: 22px !important
  }
}

.u-mt60 {
  margin-top: 60px !important
}

.u-mb60 {
  margin-bottom: 60px !important
}

.u-ml60 {
  margin-left: 60px !important
}

.u-mr60 {
  margin-right: 60px !important
}

.u-pt60 {
  padding-top: 60px !important
}

.u-pb60 {
  padding-bottom: 60px !important
}

.u-pl60 {
  padding-left: 60px !important
}

.u-pr60 {
  padding-right: 60px !important
}

.u-plr60 {
  padding-left: 60px !important;
  padding-right: 60px !important
}

.u-ptb60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important
}

.u-font24 {
  font-size: 24px !important
}

.u-radius24 {
  border-radius: 24px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt60-pc {
    margin-top: 60px !important
  }
  .u-mb60-pc {
    margin-bottom: 60px !important
  }
  .u-ml60-pc {
    margin-left: 60px !important
  }
  .u-mr60-pc {
    margin-right: 60px !important
  }
  .u-pt60-pc {
    padding-top: 60px !important
  }
  .u-pb60-pc {
    padding-bottom: 60px !important
  }
  .u-pl60-pc {
    padding-left: 60px !important
  }
  .u-pr60-pc {
    padding-right: 60px !important
  }
  .u-plr60-pc {
    padding-left: 60px !important;
    padding-right: 60px !important
  }
  .u-ptb60-pc {
    padding-top: 60px !important;
    padding-bottom: 60px !important
  }
  .u-font24-pc {
    font-size: 24px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt60-sp {
    margin-top: 60px !important
  }
  .u-mb60-sp {
    margin-bottom: 60px !important
  }
  .u-ml60-sp {
    margin-left: 60px !important
  }
  .u-mr60-sp {
    margin-right: 60px !important
  }
  .u-pt60-sp {
    padding-top: 60px !important
  }
  .u-pb60-sp {
    padding-bottom: 60px !important
  }
  .u-plr60-sp {
    padding-left: 60px !important;
    padding-right: 60px !important
  }
  .u-ptb60-sp {
    padding-top: 60px !important;
    padding-bottom: 60px !important
  }
  .u-pl60-sp {
    padding-left: 60px !important
  }
  .u-pr60-sp {
    padding-right: 60px !important
  }
  .u-font24-sp {
    font-size: 24px !important
  }
}

.u-mt65 {
  margin-top: 65px !important
}

.u-mb65 {
  margin-bottom: 65px !important
}

.u-ml65 {
  margin-left: 65px !important
}

.u-mr65 {
  margin-right: 65px !important
}

.u-pt65 {
  padding-top: 65px !important
}

.u-pb65 {
  padding-bottom: 65px !important
}

.u-pl65 {
  padding-left: 65px !important
}

.u-pr65 {
  padding-right: 65px !important
}

.u-plr65 {
  padding-left: 65px !important;
  padding-right: 65px !important
}

.u-ptb65 {
  padding-top: 65px !important;
  padding-bottom: 65px !important
}

.u-font26 {
  font-size: 26px !important
}

.u-radius26 {
  border-radius: 26px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt65-pc {
    margin-top: 65px !important
  }
  .u-mb65-pc {
    margin-bottom: 65px !important
  }
  .u-ml65-pc {
    margin-left: 65px !important
  }
  .u-mr65-pc {
    margin-right: 65px !important
  }
  .u-pt65-pc {
    padding-top: 65px !important
  }
  .u-pb65-pc {
    padding-bottom: 65px !important
  }
  .u-pl65-pc {
    padding-left: 65px !important
  }
  .u-pr65-pc {
    padding-right: 65px !important
  }
  .u-plr65-pc {
    padding-left: 65px !important;
    padding-right: 65px !important
  }
  .u-ptb65-pc {
    padding-top: 65px !important;
    padding-bottom: 65px !important
  }
  .u-font26-pc {
    font-size: 26px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt65-sp {
    margin-top: 65px !important
  }
  .u-mb65-sp {
    margin-bottom: 65px !important
  }
  .u-ml65-sp {
    margin-left: 65px !important
  }
  .u-mr65-sp {
    margin-right: 65px !important
  }
  .u-pt65-sp {
    padding-top: 65px !important
  }
  .u-pb65-sp {
    padding-bottom: 65px !important
  }
  .u-plr65-sp {
    padding-left: 65px !important;
    padding-right: 65px !important
  }
  .u-ptb65-sp {
    padding-top: 65px !important;
    padding-bottom: 65px !important
  }
  .u-pl65-sp {
    padding-left: 65px !important
  }
  .u-pr65-sp {
    padding-right: 65px !important
  }
  .u-font26-sp {
    font-size: 26px !important
  }
}

.u-mt70 {
  margin-top: 70px !important
}

.u-mb70 {
  margin-bottom: 70px !important
}

.u-ml70 {
  margin-left: 70px !important
}

.u-mr70 {
  margin-right: 70px !important
}

.u-pt70 {
  padding-top: 70px !important
}

.u-pb70 {
  padding-bottom: 70px !important
}

.u-pl70 {
  padding-left: 70px !important
}

.u-pr70 {
  padding-right: 70px !important
}

.u-plr70 {
  padding-left: 70px !important;
  padding-right: 70px !important
}

.u-ptb70 {
  padding-top: 70px !important;
  padding-bottom: 70px !important
}

.u-font28 {
  font-size: 28px !important
}

.u-radius28 {
  border-radius: 28px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt70-pc {
    margin-top: 70px !important
  }
  .u-mb70-pc {
    margin-bottom: 70px !important
  }
  .u-ml70-pc {
    margin-left: 70px !important
  }
  .u-mr70-pc {
    margin-right: 70px !important
  }
  .u-pt70-pc {
    padding-top: 70px !important
  }
  .u-pb70-pc {
    padding-bottom: 70px !important
  }
  .u-pl70-pc {
    padding-left: 70px !important
  }
  .u-pr70-pc {
    padding-right: 70px !important
  }
  .u-plr70-pc {
    padding-left: 70px !important;
    padding-right: 70px !important
  }
  .u-ptb70-pc {
    padding-top: 70px !important;
    padding-bottom: 70px !important
  }
  .u-font28-pc {
    font-size: 28px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt70-sp {
    margin-top: 70px !important
  }
  .u-mb70-sp {
    margin-bottom: 70px !important
  }
  .u-ml70-sp {
    margin-left: 70px !important
  }
  .u-mr70-sp {
    margin-right: 70px !important
  }
  .u-pt70-sp {
    padding-top: 70px !important
  }
  .u-pb70-sp {
    padding-bottom: 70px !important
  }
  .u-plr70-sp {
    padding-left: 70px !important;
    padding-right: 70px !important
  }
  .u-ptb70-sp {
    padding-top: 70px !important;
    padding-bottom: 70px !important
  }
  .u-pl70-sp {
    padding-left: 70px !important
  }
  .u-pr70-sp {
    padding-right: 70px !important
  }
  .u-font28-sp {
    font-size: 28px !important
  }
}

.u-mt75 {
  margin-top: 75px !important
}

.u-mb75 {
  margin-bottom: 75px !important
}

.u-ml75 {
  margin-left: 75px !important
}

.u-mr75 {
  margin-right: 75px !important
}

.u-pt75 {
  padding-top: 75px !important
}

.u-pb75 {
  padding-bottom: 75px !important
}

.u-pl75 {
  padding-left: 75px !important
}

.u-pr75 {
  padding-right: 75px !important
}

.u-plr75 {
  padding-left: 75px !important;
  padding-right: 75px !important
}

.u-ptb75 {
  padding-top: 75px !important;
  padding-bottom: 75px !important
}

.u-font30 {
  font-size: 30px !important
}

.u-radius30 {
  border-radius: 30px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt75-pc {
    margin-top: 75px !important
  }
  .u-mb75-pc {
    margin-bottom: 75px !important
  }
  .u-ml75-pc {
    margin-left: 75px !important
  }
  .u-mr75-pc {
    margin-right: 75px !important
  }
  .u-pt75-pc {
    padding-top: 75px !important
  }
  .u-pb75-pc {
    padding-bottom: 75px !important
  }
  .u-pl75-pc {
    padding-left: 75px !important
  }
  .u-pr75-pc {
    padding-right: 75px !important
  }
  .u-plr75-pc {
    padding-left: 75px !important;
    padding-right: 75px !important
  }
  .u-ptb75-pc {
    padding-top: 75px !important;
    padding-bottom: 75px !important
  }
  .u-font30-pc {
    font-size: 30px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt75-sp {
    margin-top: 75px !important
  }
  .u-mb75-sp {
    margin-bottom: 75px !important
  }
  .u-ml75-sp {
    margin-left: 75px !important
  }
  .u-mr75-sp {
    margin-right: 75px !important
  }
  .u-pt75-sp {
    padding-top: 75px !important
  }
  .u-pb75-sp {
    padding-bottom: 75px !important
  }
  .u-plr75-sp {
    padding-left: 75px !important;
    padding-right: 75px !important
  }
  .u-ptb75-sp {
    padding-top: 75px !important;
    padding-bottom: 75px !important
  }
  .u-pl75-sp {
    padding-left: 75px !important
  }
  .u-pr75-sp {
    padding-right: 75px !important
  }
  .u-font30-sp {
    font-size: 30px !important
  }
}

.u-mt80 {
  margin-top: 80px !important
}

.u-mb80 {
  margin-bottom: 80px !important
}

.u-ml80 {
  margin-left: 80px !important
}

.u-mr80 {
  margin-right: 80px !important
}

.u-pt80 {
  padding-top: 80px !important
}

.u-pb80 {
  padding-bottom: 80px !important
}

.u-pl80 {
  padding-left: 80px !important
}

.u-pr80 {
  padding-right: 80px !important
}

.u-plr80 {
  padding-left: 80px !important;
  padding-right: 80px !important
}

.u-ptb80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important
}

.u-font32 {
  font-size: 32px !important
}

.u-radius32 {
  border-radius: 32px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt80-pc {
    margin-top: 80px !important
  }
  .u-mb80-pc {
    margin-bottom: 80px !important
  }
  .u-ml80-pc {
    margin-left: 80px !important
  }
  .u-mr80-pc {
    margin-right: 80px !important
  }
  .u-pt80-pc {
    padding-top: 80px !important
  }
  .u-pb80-pc {
    padding-bottom: 80px !important
  }
  .u-pl80-pc {
    padding-left: 80px !important
  }
  .u-pr80-pc {
    padding-right: 80px !important
  }
  .u-plr80-pc {
    padding-left: 80px !important;
    padding-right: 80px !important
  }
  .u-ptb80-pc {
    padding-top: 80px !important;
    padding-bottom: 80px !important
  }
  .u-font32-pc {
    font-size: 32px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt80-sp {
    margin-top: 80px !important
  }
  .u-mb80-sp {
    margin-bottom: 80px !important
  }
  .u-ml80-sp {
    margin-left: 80px !important
  }
  .u-mr80-sp {
    margin-right: 80px !important
  }
  .u-pt80-sp {
    padding-top: 80px !important
  }
  .u-pb80-sp {
    padding-bottom: 80px !important
  }
  .u-plr80-sp {
    padding-left: 80px !important;
    padding-right: 80px !important
  }
  .u-ptb80-sp {
    padding-top: 80px !important;
    padding-bottom: 80px !important
  }
  .u-pl80-sp {
    padding-left: 80px !important
  }
  .u-pr80-sp {
    padding-right: 80px !important
  }
  .u-font32-sp {
    font-size: 32px !important
  }
}

.u-mt85 {
  margin-top: 85px !important
}

.u-mb85 {
  margin-bottom: 85px !important
}

.u-ml85 {
  margin-left: 85px !important
}

.u-mr85 {
  margin-right: 85px !important
}

.u-pt85 {
  padding-top: 85px !important
}

.u-pb85 {
  padding-bottom: 85px !important
}

.u-pl85 {
  padding-left: 85px !important
}

.u-pr85 {
  padding-right: 85px !important
}

.u-plr85 {
  padding-left: 85px !important;
  padding-right: 85px !important
}

.u-ptb85 {
  padding-top: 85px !important;
  padding-bottom: 85px !important
}

.u-font34 {
  font-size: 34px !important
}

.u-radius34 {
  border-radius: 34px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt85-pc {
    margin-top: 85px !important
  }
  .u-mb85-pc {
    margin-bottom: 85px !important
  }
  .u-ml85-pc {
    margin-left: 85px !important
  }
  .u-mr85-pc {
    margin-right: 85px !important
  }
  .u-pt85-pc {
    padding-top: 85px !important
  }
  .u-pb85-pc {
    padding-bottom: 85px !important
  }
  .u-pl85-pc {
    padding-left: 85px !important
  }
  .u-pr85-pc {
    padding-right: 85px !important
  }
  .u-plr85-pc {
    padding-left: 85px !important;
    padding-right: 85px !important
  }
  .u-ptb85-pc {
    padding-top: 85px !important;
    padding-bottom: 85px !important
  }
  .u-font34-pc {
    font-size: 34px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt85-sp {
    margin-top: 85px !important
  }
  .u-mb85-sp {
    margin-bottom: 85px !important
  }
  .u-ml85-sp {
    margin-left: 85px !important
  }
  .u-mr85-sp {
    margin-right: 85px !important
  }
  .u-pt85-sp {
    padding-top: 85px !important
  }
  .u-pb85-sp {
    padding-bottom: 85px !important
  }
  .u-plr85-sp {
    padding-left: 85px !important;
    padding-right: 85px !important
  }
  .u-ptb85-sp {
    padding-top: 85px !important;
    padding-bottom: 85px !important
  }
  .u-pl85-sp {
    padding-left: 85px !important
  }
  .u-pr85-sp {
    padding-right: 85px !important
  }
  .u-font34-sp {
    font-size: 34px !important
  }
}

.u-mt90 {
  margin-top: 90px !important
}

.u-mb90 {
  margin-bottom: 90px !important
}

.u-ml90 {
  margin-left: 90px !important
}

.u-mr90 {
  margin-right: 90px !important
}

.u-pt90 {
  padding-top: 90px !important
}

.u-pb90 {
  padding-bottom: 90px !important
}

.u-pl90 {
  padding-left: 90px !important
}

.u-pr90 {
  padding-right: 90px !important
}

.u-plr90 {
  padding-left: 90px !important;
  padding-right: 90px !important
}

.u-ptb90 {
  padding-top: 90px !important;
  padding-bottom: 90px !important
}

.u-font36 {
  font-size: 36px !important
}

.u-radius36 {
  border-radius: 36px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt90-pc {
    margin-top: 90px !important
  }
  .u-mb90-pc {
    margin-bottom: 90px !important
  }
  .u-ml90-pc {
    margin-left: 90px !important
  }
  .u-mr90-pc {
    margin-right: 90px !important
  }
  .u-pt90-pc {
    padding-top: 90px !important
  }
  .u-pb90-pc {
    padding-bottom: 90px !important
  }
  .u-pl90-pc {
    padding-left: 90px !important
  }
  .u-pr90-pc {
    padding-right: 90px !important
  }
  .u-plr90-pc {
    padding-left: 90px !important;
    padding-right: 90px !important
  }
  .u-ptb90-pc {
    padding-top: 90px !important;
    padding-bottom: 90px !important
  }
  .u-font36-pc {
    font-size: 36px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt90-sp {
    margin-top: 90px !important
  }
  .u-mb90-sp {
    margin-bottom: 90px !important
  }
  .u-ml90-sp {
    margin-left: 90px !important
  }
  .u-mr90-sp {
    margin-right: 90px !important
  }
  .u-pt90-sp {
    padding-top: 90px !important
  }
  .u-pb90-sp {
    padding-bottom: 90px !important
  }
  .u-plr90-sp {
    padding-left: 90px !important;
    padding-right: 90px !important
  }
  .u-ptb90-sp {
    padding-top: 90px !important;
    padding-bottom: 90px !important
  }
  .u-pl90-sp {
    padding-left: 90px !important
  }
  .u-pr90-sp {
    padding-right: 90px !important
  }
  .u-font36-sp {
    font-size: 36px !important
  }
}

.u-mt95 {
  margin-top: 95px !important
}

.u-mb95 {
  margin-bottom: 95px !important
}

.u-ml95 {
  margin-left: 95px !important
}

.u-mr95 {
  margin-right: 95px !important
}

.u-pt95 {
  padding-top: 95px !important
}

.u-pb95 {
  padding-bottom: 95px !important
}

.u-pl95 {
  padding-left: 95px !important
}

.u-pr95 {
  padding-right: 95px !important
}

.u-plr95 {
  padding-left: 95px !important;
  padding-right: 95px !important
}

.u-ptb95 {
  padding-top: 95px !important;
  padding-bottom: 95px !important
}

.u-font38 {
  font-size: 38px !important
}

.u-radius38 {
  border-radius: 38px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt95-pc {
    margin-top: 95px !important
  }
  .u-mb95-pc {
    margin-bottom: 95px !important
  }
  .u-ml95-pc {
    margin-left: 95px !important
  }
  .u-mr95-pc {
    margin-right: 95px !important
  }
  .u-pt95-pc {
    padding-top: 95px !important
  }
  .u-pb95-pc {
    padding-bottom: 95px !important
  }
  .u-pl95-pc {
    padding-left: 95px !important
  }
  .u-pr95-pc {
    padding-right: 95px !important
  }
  .u-plr95-pc {
    padding-left: 95px !important;
    padding-right: 95px !important
  }
  .u-ptb95-pc {
    padding-top: 95px !important;
    padding-bottom: 95px !important
  }
  .u-font38-pc {
    font-size: 38px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt95-sp {
    margin-top: 95px !important
  }
  .u-mb95-sp {
    margin-bottom: 95px !important
  }
  .u-ml95-sp {
    margin-left: 95px !important
  }
  .u-mr95-sp {
    margin-right: 95px !important
  }
  .u-pt95-sp {
    padding-top: 95px !important
  }
  .u-pb95-sp {
    padding-bottom: 95px !important
  }
  .u-plr95-sp {
    padding-left: 95px !important;
    padding-right: 95px !important
  }
  .u-ptb95-sp {
    padding-top: 95px !important;
    padding-bottom: 95px !important
  }
  .u-pl95-sp {
    padding-left: 95px !important
  }
  .u-pr95-sp {
    padding-right: 95px !important
  }
  .u-font38-sp {
    font-size: 38px !important
  }
}

.u-mt100 {
  margin-top: 100px !important
}

.u-mb100 {
  margin-bottom: 100px !important
}

.u-ml100 {
  margin-left: 100px !important
}

.u-mr100 {
  margin-right: 100px !important
}

.u-pt100 {
  padding-top: 100px !important
}

.u-pb100 {
  padding-bottom: 100px !important
}

.u-pl100 {
  padding-left: 100px !important
}

.u-pr100 {
  padding-right: 100px !important
}

.u-plr100 {
  padding-left: 100px !important;
  padding-right: 100px !important
}

.u-ptb100 {
  padding-top: 100px !important;
  padding-bottom: 100px !important
}

.u-font40 {
  font-size: 40px !important
}

.u-radius40 {
  border-radius: 40px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt100-pc {
    margin-top: 100px !important
  }
  .u-mb100-pc {
    margin-bottom: 100px !important
  }
  .u-ml100-pc {
    margin-left: 100px !important
  }
  .u-mr100-pc {
    margin-right: 100px !important
  }
  .u-pt100-pc {
    padding-top: 100px !important
  }
  .u-pb100-pc {
    padding-bottom: 100px !important
  }
  .u-pl100-pc {
    padding-left: 100px !important
  }
  .u-pr100-pc {
    padding-right: 100px !important
  }
  .u-plr100-pc {
    padding-left: 100px !important;
    padding-right: 100px !important
  }
  .u-ptb100-pc {
    padding-top: 100px !important;
    padding-bottom: 100px !important
  }
  .u-font40-pc {
    font-size: 40px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt100-sp {
    margin-top: 100px !important
  }
  .u-mb100-sp {
    margin-bottom: 100px !important
  }
  .u-ml100-sp {
    margin-left: 100px !important
  }
  .u-mr100-sp {
    margin-right: 100px !important
  }
  .u-pt100-sp {
    padding-top: 100px !important
  }
  .u-pb100-sp {
    padding-bottom: 100px !important
  }
  .u-plr100-sp {
    padding-left: 100px !important;
    padding-right: 100px !important
  }
  .u-ptb100-sp {
    padding-top: 100px !important;
    padding-bottom: 100px !important
  }
  .u-pl100-sp {
    padding-left: 100px !important
  }
  .u-pr100-sp {
    padding-right: 100px !important
  }
  .u-font40-sp {
    font-size: 40px !important
  }
}

.u-mt110 {
  margin-top: 110px !important
}

.u-mb110 {
  margin-bottom: 110px !important
}

.u-ml110 {
  margin-left: 110px !important
}

.u-mr110 {
  margin-right: 110px !important
}

.u-pt110 {
  padding-top: 110px !important
}

.u-pb110 {
  padding-bottom: 110px !important
}

.u-pl110 {
  padding-left: 110px !important
}

.u-pr110 {
  padding-right: 110px !important
}

.u-plr110 {
  padding-left: 110px !important;
  padding-right: 110px !important
}

.u-ptb110 {
  padding-top: 110px !important;
  padding-bottom: 110px !important
}

.u-font42 {
  font-size: 42px !important
}

.u-radius42 {
  border-radius: 42px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt110-pc {
    margin-top: 110px !important
  }
  .u-mb110-pc {
    margin-bottom: 110px !important
  }
  .u-ml110-pc {
    margin-left: 110px !important
  }
  .u-mr110-pc {
    margin-right: 110px !important
  }
  .u-pt110-pc {
    padding-top: 110px !important
  }
  .u-pb110-pc {
    padding-bottom: 110px !important
  }
  .u-pl110-pc {
    padding-left: 110px !important
  }
  .u-pr110-pc {
    padding-right: 110px !important
  }
  .u-plr110-pc {
    padding-left: 110px !important;
    padding-right: 110px !important
  }
  .u-ptb110-pc {
    padding-top: 110px !important;
    padding-bottom: 110px !important
  }
  .u-font42-pc {
    font-size: 42px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt110-sp {
    margin-top: 110px !important
  }
  .u-mb110-sp {
    margin-bottom: 110px !important
  }
  .u-ml110-sp {
    margin-left: 110px !important
  }
  .u-mr110-sp {
    margin-right: 110px !important
  }
  .u-pt110-sp {
    padding-top: 110px !important
  }
  .u-pb110-sp {
    padding-bottom: 110px !important
  }
  .u-plr110-sp {
    padding-left: 110px !important;
    padding-right: 110px !important
  }
  .u-ptb110-sp {
    padding-top: 110px !important;
    padding-bottom: 110px !important
  }
  .u-pl110-sp {
    padding-left: 110px !important
  }
  .u-pr110-sp {
    padding-right: 110px !important
  }
  .u-font42-sp {
    font-size: 42px !important
  }
}

.u-mt120 {
  margin-top: 120px !important
}

.u-mb120 {
  margin-bottom: 120px !important
}

.u-ml120 {
  margin-left: 120px !important
}

.u-mr120 {
  margin-right: 120px !important
}

.u-pt120 {
  padding-top: 120px !important
}

.u-pb120 {
  padding-bottom: 120px !important
}

.u-pl120 {
  padding-left: 120px !important
}

.u-pr120 {
  padding-right: 120px !important
}

.u-plr120 {
  padding-left: 120px !important;
  padding-right: 120px !important
}

.u-ptb120 {
  padding-top: 120px !important;
  padding-bottom: 120px !important
}

.u-font44 {
  font-size: 44px !important
}

.u-radius44 {
  border-radius: 44px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt120-pc {
    margin-top: 120px !important
  }
  .u-mb120-pc {
    margin-bottom: 120px !important
  }
  .u-ml120-pc {
    margin-left: 120px !important
  }
  .u-mr120-pc {
    margin-right: 120px !important
  }
  .u-pt120-pc {
    padding-top: 120px !important
  }
  .u-pb120-pc {
    padding-bottom: 120px !important
  }
  .u-pl120-pc {
    padding-left: 120px !important
  }
  .u-pr120-pc {
    padding-right: 120px !important
  }
  .u-plr120-pc {
    padding-left: 120px !important;
    padding-right: 120px !important
  }
  .u-ptb120-pc {
    padding-top: 120px !important;
    padding-bottom: 120px !important
  }
  .u-font44-pc {
    font-size: 44px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt120-sp {
    margin-top: 120px !important
  }
  .u-mb120-sp {
    margin-bottom: 120px !important
  }
  .u-ml120-sp {
    margin-left: 120px !important
  }
  .u-mr120-sp {
    margin-right: 120px !important
  }
  .u-pt120-sp {
    padding-top: 120px !important
  }
  .u-pb120-sp {
    padding-bottom: 120px !important
  }
  .u-plr120-sp {
    padding-left: 120px !important;
    padding-right: 120px !important
  }
  .u-ptb120-sp {
    padding-top: 120px !important;
    padding-bottom: 120px !important
  }
  .u-pl120-sp {
    padding-left: 120px !important
  }
  .u-pr120-sp {
    padding-right: 120px !important
  }
  .u-font44-sp {
    font-size: 44px !important
  }
}

.u-mt130 {
  margin-top: 130px !important
}

.u-mb130 {
  margin-bottom: 130px !important
}

.u-ml130 {
  margin-left: 130px !important
}

.u-mr130 {
  margin-right: 130px !important
}

.u-pt130 {
  padding-top: 130px !important
}

.u-pb130 {
  padding-bottom: 130px !important
}

.u-pl130 {
  padding-left: 130px !important
}

.u-pr130 {
  padding-right: 130px !important
}

.u-plr130 {
  padding-left: 130px !important;
  padding-right: 130px !important
}

.u-ptb130 {
  padding-top: 130px !important;
  padding-bottom: 130px !important
}

.u-font46 {
  font-size: 46px !important
}

.u-radius46 {
  border-radius: 46px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt130-pc {
    margin-top: 130px !important
  }
  .u-mb130-pc {
    margin-bottom: 130px !important
  }
  .u-ml130-pc {
    margin-left: 130px !important
  }
  .u-mr130-pc {
    margin-right: 130px !important
  }
  .u-pt130-pc {
    padding-top: 130px !important
  }
  .u-pb130-pc {
    padding-bottom: 130px !important
  }
  .u-pl130-pc {
    padding-left: 130px !important
  }
  .u-pr130-pc {
    padding-right: 130px !important
  }
  .u-plr130-pc {
    padding-left: 130px !important;
    padding-right: 130px !important
  }
  .u-ptb130-pc {
    padding-top: 130px !important;
    padding-bottom: 130px !important
  }
  .u-font46-pc {
    font-size: 46px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt130-sp {
    margin-top: 130px !important
  }
  .u-mb130-sp {
    margin-bottom: 130px !important
  }
  .u-ml130-sp {
    margin-left: 130px !important
  }
  .u-mr130-sp {
    margin-right: 130px !important
  }
  .u-pt130-sp {
    padding-top: 130px !important
  }
  .u-pb130-sp {
    padding-bottom: 130px !important
  }
  .u-plr130-sp {
    padding-left: 130px !important;
    padding-right: 130px !important
  }
  .u-ptb130-sp {
    padding-top: 130px !important;
    padding-bottom: 130px !important
  }
  .u-pl130-sp {
    padding-left: 130px !important
  }
  .u-pr130-sp {
    padding-right: 130px !important
  }
  .u-font46-sp {
    font-size: 46px !important
  }
}

.u-mt140 {
  margin-top: 140px !important
}

.u-mb140 {
  margin-bottom: 140px !important
}

.u-ml140 {
  margin-left: 140px !important
}

.u-mr140 {
  margin-right: 140px !important
}

.u-pt140 {
  padding-top: 140px !important
}

.u-pb140 {
  padding-bottom: 140px !important
}

.u-pl140 {
  padding-left: 140px !important
}

.u-pr140 {
  padding-right: 140px !important
}

.u-plr140 {
  padding-left: 140px !important;
  padding-right: 140px !important
}

.u-ptb140 {
  padding-top: 140px !important;
  padding-bottom: 140px !important
}

.u-font48 {
  font-size: 48px !important
}

.u-radius48 {
  border-radius: 48px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt140-pc {
    margin-top: 140px !important
  }
  .u-mb140-pc {
    margin-bottom: 140px !important
  }
  .u-ml140-pc {
    margin-left: 140px !important
  }
  .u-mr140-pc {
    margin-right: 140px !important
  }
  .u-pt140-pc {
    padding-top: 140px !important
  }
  .u-pb140-pc {
    padding-bottom: 140px !important
  }
  .u-pl140-pc {
    padding-left: 140px !important
  }
  .u-pr140-pc {
    padding-right: 140px !important
  }
  .u-plr140-pc {
    padding-left: 140px !important;
    padding-right: 140px !important
  }
  .u-ptb140-pc {
    padding-top: 140px !important;
    padding-bottom: 140px !important
  }
  .u-font48-pc {
    font-size: 48px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt140-sp {
    margin-top: 140px !important
  }
  .u-mb140-sp {
    margin-bottom: 140px !important
  }
  .u-ml140-sp {
    margin-left: 140px !important
  }
  .u-mr140-sp {
    margin-right: 140px !important
  }
  .u-pt140-sp {
    padding-top: 140px !important
  }
  .u-pb140-sp {
    padding-bottom: 140px !important
  }
  .u-plr140-sp {
    padding-left: 140px !important;
    padding-right: 140px !important
  }
  .u-ptb140-sp {
    padding-top: 140px !important;
    padding-bottom: 140px !important
  }
  .u-pl140-sp {
    padding-left: 140px !important
  }
  .u-pr140-sp {
    padding-right: 140px !important
  }
  .u-font48-sp {
    font-size: 48px !important
  }
}

.u-mt150 {
  margin-top: 150px !important
}

.u-mb150 {
  margin-bottom: 150px !important
}

.u-ml150 {
  margin-left: 150px !important
}

.u-mr150 {
  margin-right: 150px !important
}

.u-pt150 {
  padding-top: 150px !important
}

.u-pb150 {
  padding-bottom: 150px !important
}

.u-pl150 {
  padding-left: 150px !important
}

.u-pr150 {
  padding-right: 150px !important
}

.u-plr150 {
  padding-left: 150px !important;
  padding-right: 150px !important
}

.u-ptb150 {
  padding-top: 150px !important;
  padding-bottom: 150px !important
}

.u-font50 {
  font-size: 50px !important
}

.u-radius50 {
  border-radius: 50px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt150-pc {
    margin-top: 150px !important
  }
  .u-mb150-pc {
    margin-bottom: 150px !important
  }
  .u-ml150-pc {
    margin-left: 150px !important
  }
  .u-mr150-pc {
    margin-right: 150px !important
  }
  .u-pt150-pc {
    padding-top: 150px !important
  }
  .u-pb150-pc {
    padding-bottom: 150px !important
  }
  .u-pl150-pc {
    padding-left: 150px !important
  }
  .u-pr150-pc {
    padding-right: 150px !important
  }
  .u-plr150-pc {
    padding-left: 150px !important;
    padding-right: 150px !important
  }
  .u-ptb150-pc {
    padding-top: 150px !important;
    padding-bottom: 150px !important
  }
  .u-font50-pc {
    font-size: 50px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt150-sp {
    margin-top: 150px !important
  }
  .u-mb150-sp {
    margin-bottom: 150px !important
  }
  .u-ml150-sp {
    margin-left: 150px !important
  }
  .u-mr150-sp {
    margin-right: 150px !important
  }
  .u-pt150-sp {
    padding-top: 150px !important
  }
  .u-pb150-sp {
    padding-bottom: 150px !important
  }
  .u-plr150-sp {
    padding-left: 150px !important;
    padding-right: 150px !important
  }
  .u-ptb150-sp {
    padding-top: 150px !important;
    padding-bottom: 150px !important
  }
  .u-pl150-sp {
    padding-left: 150px !important
  }
  .u-pr150-sp {
    padding-right: 150px !important
  }
  .u-font50-sp {
    font-size: 50px !important
  }
}

.u-mt160 {
  margin-top: 160px !important
}

.u-mb160 {
  margin-bottom: 160px !important
}

.u-ml160 {
  margin-left: 160px !important
}

.u-mr160 {
  margin-right: 160px !important
}

.u-pt160 {
  padding-top: 160px !important
}

.u-pb160 {
  padding-bottom: 160px !important
}

.u-pl160 {
  padding-left: 160px !important
}

.u-pr160 {
  padding-right: 160px !important
}

.u-plr160 {
  padding-left: 160px !important;
  padding-right: 160px !important
}

.u-ptb160 {
  padding-top: 160px !important;
  padding-bottom: 160px !important
}

.u-font52 {
  font-size: 52px !important
}

.u-radius52 {
  border-radius: 52px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt160-pc {
    margin-top: 160px !important
  }
  .u-mb160-pc {
    margin-bottom: 160px !important
  }
  .u-ml160-pc {
    margin-left: 160px !important
  }
  .u-mr160-pc {
    margin-right: 160px !important
  }
  .u-pt160-pc {
    padding-top: 160px !important
  }
  .u-pb160-pc {
    padding-bottom: 160px !important
  }
  .u-pl160-pc {
    padding-left: 160px !important
  }
  .u-pr160-pc {
    padding-right: 160px !important
  }
  .u-plr160-pc {
    padding-left: 160px !important;
    padding-right: 160px !important
  }
  .u-ptb160-pc {
    padding-top: 160px !important;
    padding-bottom: 160px !important
  }
  .u-font52-pc {
    font-size: 52px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt160-sp {
    margin-top: 160px !important
  }
  .u-mb160-sp {
    margin-bottom: 160px !important
  }
  .u-ml160-sp {
    margin-left: 160px !important
  }
  .u-mr160-sp {
    margin-right: 160px !important
  }
  .u-pt160-sp {
    padding-top: 160px !important
  }
  .u-pb160-sp {
    padding-bottom: 160px !important
  }
  .u-plr160-sp {
    padding-left: 160px !important;
    padding-right: 160px !important
  }
  .u-ptb160-sp {
    padding-top: 160px !important;
    padding-bottom: 160px !important
  }
  .u-pl160-sp {
    padding-left: 160px !important
  }
  .u-pr160-sp {
    padding-right: 160px !important
  }
  .u-font52-sp {
    font-size: 52px !important
  }
}

.u-mt170 {
  margin-top: 170px !important
}

.u-mb170 {
  margin-bottom: 170px !important
}

.u-ml170 {
  margin-left: 170px !important
}

.u-mr170 {
  margin-right: 170px !important
}

.u-pt170 {
  padding-top: 170px !important
}

.u-pb170 {
  padding-bottom: 170px !important
}

.u-pl170 {
  padding-left: 170px !important
}

.u-pr170 {
  padding-right: 170px !important
}

.u-plr170 {
  padding-left: 170px !important;
  padding-right: 170px !important
}

.u-ptb170 {
  padding-top: 170px !important;
  padding-bottom: 170px !important
}

.u-font54 {
  font-size: 54px !important
}

.u-radius54 {
  border-radius: 54px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt170-pc {
    margin-top: 170px !important
  }
  .u-mb170-pc {
    margin-bottom: 170px !important
  }
  .u-ml170-pc {
    margin-left: 170px !important
  }
  .u-mr170-pc {
    margin-right: 170px !important
  }
  .u-pt170-pc {
    padding-top: 170px !important
  }
  .u-pb170-pc {
    padding-bottom: 170px !important
  }
  .u-pl170-pc {
    padding-left: 170px !important
  }
  .u-pr170-pc {
    padding-right: 170px !important
  }
  .u-plr170-pc {
    padding-left: 170px !important;
    padding-right: 170px !important
  }
  .u-ptb170-pc {
    padding-top: 170px !important;
    padding-bottom: 170px !important
  }
  .u-font54-pc {
    font-size: 54px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt170-sp {
    margin-top: 170px !important
  }
  .u-mb170-sp {
    margin-bottom: 170px !important
  }
  .u-ml170-sp {
    margin-left: 170px !important
  }
  .u-mr170-sp {
    margin-right: 170px !important
  }
  .u-pt170-sp {
    padding-top: 170px !important
  }
  .u-pb170-sp {
    padding-bottom: 170px !important
  }
  .u-plr170-sp {
    padding-left: 170px !important;
    padding-right: 170px !important
  }
  .u-ptb170-sp {
    padding-top: 170px !important;
    padding-bottom: 170px !important
  }
  .u-pl170-sp {
    padding-left: 170px !important
  }
  .u-pr170-sp {
    padding-right: 170px !important
  }
  .u-font54-sp {
    font-size: 54px !important
  }
}

.u-mt180 {
  margin-top: 180px !important
}

.u-mb180 {
  margin-bottom: 180px !important
}

.u-ml180 {
  margin-left: 180px !important
}

.u-mr180 {
  margin-right: 180px !important
}

.u-pt180 {
  padding-top: 180px !important
}

.u-pb180 {
  padding-bottom: 180px !important
}

.u-pl180 {
  padding-left: 180px !important
}

.u-pr180 {
  padding-right: 180px !important
}

.u-plr180 {
  padding-left: 180px !important;
  padding-right: 180px !important
}

.u-ptb180 {
  padding-top: 180px !important;
  padding-bottom: 180px !important
}

.u-font56 {
  font-size: 56px !important
}

.u-radius56 {
  border-radius: 56px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt180-pc {
    margin-top: 180px !important
  }
  .u-mb180-pc {
    margin-bottom: 180px !important
  }
  .u-ml180-pc {
    margin-left: 180px !important
  }
  .u-mr180-pc {
    margin-right: 180px !important
  }
  .u-pt180-pc {
    padding-top: 180px !important
  }
  .u-pb180-pc {
    padding-bottom: 180px !important
  }
  .u-pl180-pc {
    padding-left: 180px !important
  }
  .u-pr180-pc {
    padding-right: 180px !important
  }
  .u-plr180-pc {
    padding-left: 180px !important;
    padding-right: 180px !important
  }
  .u-ptb180-pc {
    padding-top: 180px !important;
    padding-bottom: 180px !important
  }
  .u-font56-pc {
    font-size: 56px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt180-sp {
    margin-top: 180px !important
  }
  .u-mb180-sp {
    margin-bottom: 180px !important
  }
  .u-ml180-sp {
    margin-left: 180px !important
  }
  .u-mr180-sp {
    margin-right: 180px !important
  }
  .u-pt180-sp {
    padding-top: 180px !important
  }
  .u-pb180-sp {
    padding-bottom: 180px !important
  }
  .u-plr180-sp {
    padding-left: 180px !important;
    padding-right: 180px !important
  }
  .u-ptb180-sp {
    padding-top: 180px !important;
    padding-bottom: 180px !important
  }
  .u-pl180-sp {
    padding-left: 180px !important
  }
  .u-pr180-sp {
    padding-right: 180px !important
  }
  .u-font56-sp {
    font-size: 56px !important
  }
}

.u-mt190 {
  margin-top: 190px !important
}

.u-mb190 {
  margin-bottom: 190px !important
}

.u-ml190 {
  margin-left: 190px !important
}

.u-mr190 {
  margin-right: 190px !important
}

.u-pt190 {
  padding-top: 190px !important
}

.u-pb190 {
  padding-bottom: 190px !important
}

.u-pl190 {
  padding-left: 190px !important
}

.u-pr190 {
  padding-right: 190px !important
}

.u-plr190 {
  padding-left: 190px !important;
  padding-right: 190px !important
}

.u-ptb190 {
  padding-top: 190px !important;
  padding-bottom: 190px !important
}

.u-font58 {
  font-size: 58px !important
}

.u-radius58 {
  border-radius: 58px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt190-pc {
    margin-top: 190px !important
  }
  .u-mb190-pc {
    margin-bottom: 190px !important
  }
  .u-ml190-pc {
    margin-left: 190px !important
  }
  .u-mr190-pc {
    margin-right: 190px !important
  }
  .u-pt190-pc {
    padding-top: 190px !important
  }
  .u-pb190-pc {
    padding-bottom: 190px !important
  }
  .u-pl190-pc {
    padding-left: 190px !important
  }
  .u-pr190-pc {
    padding-right: 190px !important
  }
  .u-plr190-pc {
    padding-left: 190px !important;
    padding-right: 190px !important
  }
  .u-ptb190-pc {
    padding-top: 190px !important;
    padding-bottom: 190px !important
  }
  .u-font58-pc {
    font-size: 58px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt190-sp {
    margin-top: 190px !important
  }
  .u-mb190-sp {
    margin-bottom: 190px !important
  }
  .u-ml190-sp {
    margin-left: 190px !important
  }
  .u-mr190-sp {
    margin-right: 190px !important
  }
  .u-pt190-sp {
    padding-top: 190px !important
  }
  .u-pb190-sp {
    padding-bottom: 190px !important
  }
  .u-plr190-sp {
    padding-left: 190px !important;
    padding-right: 190px !important
  }
  .u-ptb190-sp {
    padding-top: 190px !important;
    padding-bottom: 190px !important
  }
  .u-pl190-sp {
    padding-left: 190px !important
  }
  .u-pr190-sp {
    padding-right: 190px !important
  }
  .u-font58-sp {
    font-size: 58px !important
  }
}

.u-mt200 {
  margin-top: 200px !important
}

.u-mb200 {
  margin-bottom: 200px !important
}

.u-ml200 {
  margin-left: 200px !important
}

.u-mr200 {
  margin-right: 200px !important
}

.u-pt200 {
  padding-top: 200px !important
}

.u-pb200 {
  padding-bottom: 200px !important
}

.u-pl200 {
  padding-left: 200px !important
}

.u-pr200 {
  padding-right: 200px !important
}

.u-plr200 {
  padding-left: 200px !important;
  padding-right: 200px !important
}

.u-ptb200 {
  padding-top: 200px !important;
  padding-bottom: 200px !important
}

.u-font60 {
  font-size: 60px !important
}

.u-radius60 {
  border-radius: 60px !important
}

@media only screen and (min-width: 768px), tv, print {
  .u-mt200-pc {
    margin-top: 200px !important
  }
  .u-mb200-pc {
    margin-bottom: 200px !important
  }
  .u-ml200-pc {
    margin-left: 200px !important
  }
  .u-mr200-pc {
    margin-right: 200px !important
  }
  .u-pt200-pc {
    padding-top: 200px !important
  }
  .u-pb200-pc {
    padding-bottom: 200px !important
  }
  .u-pl200-pc {
    padding-left: 200px !important
  }
  .u-pr200-pc {
    padding-right: 200px !important
  }
  .u-plr200-pc {
    padding-left: 200px !important;
    padding-right: 200px !important
  }
  .u-ptb200-pc {
    padding-top: 200px !important;
    padding-bottom: 200px !important
  }
  .u-font60-pc {
    font-size: 60px !important
  }
}

@media only screen and (max-width: 767px) {
  .u-mt200-sp {
    margin-top: 200px !important
  }
  .u-mb200-sp {
    margin-bottom: 200px !important
  }
  .u-ml200-sp {
    margin-left: 200px !important
  }
  .u-mr200-sp {
    margin-right: 200px !important
  }
  .u-pt200-sp {
    padding-top: 200px !important
  }
  .u-pb200-sp {
    padding-bottom: 200px !important
  }
  .u-plr200-sp {
    padding-left: 200px !important;
    padding-right: 200px !important
  }
  .u-ptb200-sp {
    padding-top: 200px !important;
    padding-bottom: 200px !important
  }
  .u-pl200-sp {
    padding-left: 200px !important
  }
  .u-pr200-sp {
    padding-right: 200px !important
  }
  .u-font60-sp {
    font-size: 60px !important
  }
}

.u-lh10 {
  line-height: 1 !important
}

.u-lh12 {
  line-height: 1.2 !important
}

.u-lh15 {
  line-height: 1.5 !important
}

.u-lh175 {
  line-height: 1.75 !important
}

.u-lh18 {
  line-height: 1.8 !important
}

.u-lh20 {
  line-height: 2 !important
}

.u-lh25 {
  line-height: 2.5 !important
}

.u-pos-rel {
  position: relative !important
}

.u-pos-abs {
  position: absolute !important
}

.u-pos-sta {
  position: static !important
}

.u-pos-fix {
  position: fixed !important
}

.u-clearfix:after {
  clear: both;
  content: "";
  display: block
}

.u-float-left {
  float: left !important
}

.u-float-right {
  float: right !important
}

.u-float-clear {
  clear: both !important
}

.u-left {
  text-align: left !important
}

.u-center {
  text-align: center !important
}

.u-right {
  text-align: right !important
}

.u-font-bold {
  font-weight: bold !important
}

.u-font-normal {
  font-weight: normal !important
}

.u-va-top {
  vertical-align: top !important
}

.u-va-middle {
  vertical-align: middle !important
}

.u-va-bottom {
  vertical-align: bottom !important
}

.u-block {
  display: block !important
}

.u-inline-block {
  display: inline-block !important
}

.u-inline {
  display: inline !important
}

.u-nowrap {
  white-space: nowrap !important
}

@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: none !important
  }
}

@media only screen and (min-width: 768px), tv, print {
  .u-hidden-pc {
    display: none !important
  }
}

@media only screen and (min-width: 768px), tv, print {
  .u-no-pointer-pc {
    cursor: default
  }
}

.u-blue {
  color: #005fa4 !important
}

.u-switcher__item {
  display: none
}

.u-switcher__item.-default {
  display: initial
}

.u-switcher__item.-default.-block {
  display: block
}

.u-switcher__item.-default.-inline-block {
  display: inline-block
}

.u-switcher__item.-default.-inline {
  display: inline
}

.u-switcher.-var-0 .u-switcher__item.-var-0 {
  display: initial
}

.u-switcher.-var-0 .u-switcher__item.-var-0.-block {
  display: block
}

.u-switcher.-var-0 .u-switcher__item.-var-0.-inline-block {
  display: inline-block
}

.u-switcher.-var-0 .u-switcher__item.-var-0.-inline {
  display: inline
}

.u-switcher.-var-0 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-1 .u-switcher__item.-var-1 {
  display: initial
}

.u-switcher.-var-1 .u-switcher__item.-var-1.-block {
  display: block
}

.u-switcher.-var-1 .u-switcher__item.-var-1.-inline-block {
  display: inline-block
}

.u-switcher.-var-1 .u-switcher__item.-var-1.-inline {
  display: inline
}

.u-switcher.-var-1 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-2 .u-switcher__item.-var-2 {
  display: initial
}

.u-switcher.-var-2 .u-switcher__item.-var-2.-block {
  display: block
}

.u-switcher.-var-2 .u-switcher__item.-var-2.-inline-block {
  display: inline-block
}

.u-switcher.-var-2 .u-switcher__item.-var-2.-inline {
  display: inline
}

.u-switcher.-var-2 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-3 .u-switcher__item.-var-3 {
  display: initial
}

.u-switcher.-var-3 .u-switcher__item.-var-3.-block {
  display: block
}

.u-switcher.-var-3 .u-switcher__item.-var-3.-inline-block {
  display: inline-block
}

.u-switcher.-var-3 .u-switcher__item.-var-3.-inline {
  display: inline
}

.u-switcher.-var-3 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-4 .u-switcher__item.-var-4 {
  display: initial
}

.u-switcher.-var-4 .u-switcher__item.-var-4.-block {
  display: block
}

.u-switcher.-var-4 .u-switcher__item.-var-4.-inline-block {
  display: inline-block
}

.u-switcher.-var-4 .u-switcher__item.-var-4.-inline {
  display: inline
}

.u-switcher.-var-4 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-5 .u-switcher__item.-var-5 {
  display: initial
}

.u-switcher.-var-5 .u-switcher__item.-var-5.-block {
  display: block
}

.u-switcher.-var-5 .u-switcher__item.-var-5.-inline-block {
  display: inline-block
}

.u-switcher.-var-5 .u-switcher__item.-var-5.-inline {
  display: inline
}

.u-switcher.-var-5 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-6 .u-switcher__item.-var-6 {
  display: initial
}

.u-switcher.-var-6 .u-switcher__item.-var-6.-block {
  display: block
}

.u-switcher.-var-6 .u-switcher__item.-var-6.-inline-block {
  display: inline-block
}

.u-switcher.-var-6 .u-switcher__item.-var-6.-inline {
  display: inline
}

.u-switcher.-var-6 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-7 .u-switcher__item.-var-7 {
  display: initial
}

.u-switcher.-var-7 .u-switcher__item.-var-7.-block {
  display: block
}

.u-switcher.-var-7 .u-switcher__item.-var-7.-inline-block {
  display: inline-block
}

.u-switcher.-var-7 .u-switcher__item.-var-7.-inline {
  display: inline
}

.u-switcher.-var-7 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-8 .u-switcher__item.-var-8 {
  display: initial
}

.u-switcher.-var-8 .u-switcher__item.-var-8.-block {
  display: block
}

.u-switcher.-var-8 .u-switcher__item.-var-8.-inline-block {
  display: inline-block
}

.u-switcher.-var-8 .u-switcher__item.-var-8.-inline {
  display: inline
}

.u-switcher.-var-8 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-9 .u-switcher__item.-var-9 {
  display: initial
}

.u-switcher.-var-9 .u-switcher__item.-var-9.-block {
  display: block
}

.u-switcher.-var-9 .u-switcher__item.-var-9.-inline-block {
  display: inline-block
}

.u-switcher.-var-9 .u-switcher__item.-var-9.-inline {
  display: inline
}

.u-switcher.-var-9 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-10 .u-switcher__item.-var-10 {
  display: initial
}

.u-switcher.-var-10 .u-switcher__item.-var-10.-block {
  display: block
}

.u-switcher.-var-10 .u-switcher__item.-var-10.-inline-block {
  display: inline-block
}

.u-switcher.-var-10 .u-switcher__item.-var-10.-inline {
  display: inline
}

.u-switcher.-var-10 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-11 .u-switcher__item.-var-11 {
  display: initial
}

.u-switcher.-var-11 .u-switcher__item.-var-11.-block {
  display: block
}

.u-switcher.-var-11 .u-switcher__item.-var-11.-inline-block {
  display: inline-block
}

.u-switcher.-var-11 .u-switcher__item.-var-11.-inline {
  display: inline
}

.u-switcher.-var-11 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-12 .u-switcher__item.-var-12 {
  display: initial
}

.u-switcher.-var-12 .u-switcher__item.-var-12.-block {
  display: block
}

.u-switcher.-var-12 .u-switcher__item.-var-12.-inline-block {
  display: inline-block
}

.u-switcher.-var-12 .u-switcher__item.-var-12.-inline {
  display: inline
}

.u-switcher.-var-12 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-13 .u-switcher__item.-var-13 {
  display: initial
}

.u-switcher.-var-13 .u-switcher__item.-var-13.-block {
  display: block
}

.u-switcher.-var-13 .u-switcher__item.-var-13.-inline-block {
  display: inline-block
}

.u-switcher.-var-13 .u-switcher__item.-var-13.-inline {
  display: inline
}

.u-switcher.-var-13 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-14 .u-switcher__item.-var-14 {
  display: initial
}

.u-switcher.-var-14 .u-switcher__item.-var-14.-block {
  display: block
}

.u-switcher.-var-14 .u-switcher__item.-var-14.-inline-block {
  display: inline-block
}

.u-switcher.-var-14 .u-switcher__item.-var-14.-inline {
  display: inline
}

.u-switcher.-var-14 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-15 .u-switcher__item.-var-15 {
  display: initial
}

.u-switcher.-var-15 .u-switcher__item.-var-15.-block {
  display: block
}

.u-switcher.-var-15 .u-switcher__item.-var-15.-inline-block {
  display: inline-block
}

.u-switcher.-var-15 .u-switcher__item.-var-15.-inline {
  display: inline
}

.u-switcher.-var-15 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-16 .u-switcher__item.-var-16 {
  display: initial
}

.u-switcher.-var-16 .u-switcher__item.-var-16.-block {
  display: block
}

.u-switcher.-var-16 .u-switcher__item.-var-16.-inline-block {
  display: inline-block
}

.u-switcher.-var-16 .u-switcher__item.-var-16.-inline {
  display: inline
}

.u-switcher.-var-16 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-17 .u-switcher__item.-var-17 {
  display: initial
}

.u-switcher.-var-17 .u-switcher__item.-var-17.-block {
  display: block
}

.u-switcher.-var-17 .u-switcher__item.-var-17.-inline-block {
  display: inline-block
}

.u-switcher.-var-17 .u-switcher__item.-var-17.-inline {
  display: inline
}

.u-switcher.-var-17 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-18 .u-switcher__item.-var-18 {
  display: initial
}

.u-switcher.-var-18 .u-switcher__item.-var-18.-block {
  display: block
}

.u-switcher.-var-18 .u-switcher__item.-var-18.-inline-block {
  display: inline-block
}

.u-switcher.-var-18 .u-switcher__item.-var-18.-inline {
  display: inline
}

.u-switcher.-var-18 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-19 .u-switcher__item.-var-19 {
  display: initial
}

.u-switcher.-var-19 .u-switcher__item.-var-19.-block {
  display: block
}

.u-switcher.-var-19 .u-switcher__item.-var-19.-inline-block {
  display: inline-block
}

.u-switcher.-var-19 .u-switcher__item.-var-19.-inline {
  display: inline
}

.u-switcher.-var-19 .u-switcher__item.-default {
  display: none !important
}

.u-switcher.-var-20 .u-switcher__item.-var-20 {
  display: initial
}

.u-switcher.-var-20 .u-switcher__item.-var-20.-block {
  display: block
}

.u-switcher.-var-20 .u-switcher__item.-var-20.-inline-block {
  display: inline-block
}

.u-switcher.-var-20 .u-switcher__item.-var-20.-inline {
  display: inline
}

.u-switcher.-var-20 .u-switcher__item.-default {
  display: none !important
}

@media only screen and (min-width: 768px), tv, print {
  .js-scroll-view {
    position: relative;
    opacity: 0;
    -webkit-transition: opacity 0.8s, left 0.8s, top 0.8s;
    transition: opacity 0.8s, left 0.8s, top 0.8s
  }
  .js-scroll-view.is-active {
    opacity: 1
  }
  .js-scroll-view.ol10 {
    left: -10px
  }
  .js-scroll-view.ol10.is-active {
    left: 0
  }
  .js-scroll-view.or10 {
    left: 10px
  }
  .js-scroll-view.or10.is-active {
    left: 0
  }
  .js-scroll-view.ot10 {
    top: -10px
  }
  .js-scroll-view.ot10.is-active {
    top: 0
  }
  .js-scroll-view.ob10 {
    top: 10px
  }
  .js-scroll-view.ob10.is-active {
    top: 0
  }
  .js-scroll-view.ol20 {
    left: -20px
  }
  .js-scroll-view.ol20.is-active {
    left: 0
  }
  .js-scroll-view.or20 {
    left: 20px
  }
  .js-scroll-view.or20.is-active {
    left: 0
  }
  .js-scroll-view.ot20 {
    top: -20px
  }
  .js-scroll-view.ot20.is-active {
    top: 0
  }
  .js-scroll-view.ob20 {
    top: 20px
  }
  .js-scroll-view.ob20.is-active {
    top: 0
  }
  .js-scroll-view.ol30 {
    left: -30px
  }
  .js-scroll-view.ol30.is-active {
    left: 0
  }
  .js-scroll-view.or30 {
    left: 30px
  }
  .js-scroll-view.or30.is-active {
    left: 0
  }
  .js-scroll-view.ot30 {
    top: -30px
  }
  .js-scroll-view.ot30.is-active {
    top: 0
  }
  .js-scroll-view.ob30 {
    top: 30px
  }
  .js-scroll-view.ob30.is-active {
    top: 0
  }
  .js-scroll-view.ol40 {
    left: -40px
  }
  .js-scroll-view.ol40.is-active {
    left: 0
  }
  .js-scroll-view.or40 {
    left: 40px
  }
  .js-scroll-view.or40.is-active {
    left: 0
  }
  .js-scroll-view.ot40 {
    top: -40px
  }
  .js-scroll-view.ot40.is-active {
    top: 0
  }
  .js-scroll-view.ob40 {
    top: 40px
  }
  .js-scroll-view.ob40.is-active {
    top: 0
  }
  .js-scroll-view.ol50 {
    left: -50px
  }
  .js-scroll-view.ol50.is-active {
    left: 0
  }
  .js-scroll-view.or50 {
    left: 50px
  }
  .js-scroll-view.or50.is-active {
    left: 0
  }
  .js-scroll-view.ot50 {
    top: -50px
  }
  .js-scroll-view.ot50.is-active {
    top: 0
  }
  .js-scroll-view.ob50 {
    top: 50px
  }
  .js-scroll-view.ob50.is-active {
    top: 0
  }
}

@media only screen and (max-width: 767px) {
  .l-wrapper {
    width: 100%;
    overflow: hidden
  }
}

@media only screen and (min-width: 768px), tv, print {
  .l-wrapper {
    min-width: 990px;
    overflow: hidden
  }
}

@media only screen and (min-width: 768px) and (orientation: portrait) {
  body.device-ipad .l-wrapper {
    min-height: 120vh
  }
}

.l-unit.bg-lightgray {
  background-color: #f2f2f2
}

.l-unit.bg-yellow {
  background-color: #fcc800
}

.l-unit.-underline-blue {
  border-bottom: 1px solid #005fa4
}

.l-unit.-underline-blue-bold {
  border-bottom: 5px solid #005fa4
}

.l-unit.-underline-gray {
  border-bottom: 1px solid #c4c3c3
}

.l-unit.bg-junior1 {
  background-color: #95c51b
}

.l-unit.bg-junior2 {
  background-color: #00a43e
}

.l-unit.bg-juniorplus {
  background-color: #007130
}

.l-unit.bg-core {
  background-color: #e79100
}

.l-unit.bg-basic {
  background-color: #c8152d
}

.l-unit.bg-advanced {
  background-color: #007aba
}

.l-unit.bg-gtec {
  background-color: #005fa4
}

.l-unit.bg-cbt {
  background-color: #1c3358
}

.l-unit.bg-academic {
  background-color: #b80074
}

.l-unit.bg-business {
  background-color: #7c8595
}

.l-unit.bg-gjo {
  background-color: #399
}

.l-unit.bg-bluegreen {
  position: relative;
  background-color: #339999
}

.l-unit.bg-bluegreen:after {
  z-index: 100;
  bottom: -20px;
  border-width: 20px 30px 0 30px;
  border-color: #339999 transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid
}

@media only screen and (min-width: 768px), tv, print {
  .l-unit.bg-bluegreen:after {
    bottom: -35px;
    border-width: 45px 40px 0 40px
  }
}

@media only screen and (max-width: 767px) {
  .l-unit.bg-bluegreen:after {
    bottom: -15px;
    border-width: 25px 25px 0 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .l-unit__box {
    width: 960px;
    margin-left: auto;
    margin-right: auto
  }
}

@media only screen and (max-width: 767px) {
  .l-unit__box.has-padding-sp {
    padding-left: 15px;
    padding-right: 15px
  }
}

.l-unit__box.-underline-gray {
  border-bottom: 1px solid #c4c3c3
}

.l-unit__box.-underline-blue {
  border-bottom: 1px solid #005fa4
}

.l-unit__box.-bg-light-green {
  background-color: #53d4a5
}

.l-unit__box.-bg-white {
  background-color: #fff
}

.l-drawer {
  position: fixed;
  -webkit-overflow-scrolling: touch;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  width: 350px;
  overflow: hidden;
  background-color: #f5f5f7;
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 10000
}

.l-drawer *:hover {
  opacity: 1 !important;
  color: inherit !important
}

.l-drawer.is-active {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none
}

@media only screen and (min-width: 768px), tv, print {
  .l-drawer {
    display: none
  }
}

@media screen and (max-width: 349px) {
  .l-drawer {
    width: 300px
  }
}

.l-drawer__lead {
  color: #333333;
  font-size: 14px;
  letter-spacing: 0.05em;
  padding: 0 10px;
  line-height: 1.43;
  margin-bottom: 4px
}

.l-drawer__panel {
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  position: absolute;
  z-index: 10;
  width: 350px;
  overflow-y: scroll;
  height: 100%;
  min-height: 100%
}

@media screen and (max-width: 349px) {
  .l-drawer__panel {
    width: 300px
  }
}

.l-drawer__panel.default-left {
  left: -350px;
  border-right: 2px solid #999999
}

@media screen and (max-width: 349px) {
  .l-drawer__panel.default-left {
    left: -300px
  }
}

.l-drawer__panel.default-right {
  left: 350px;
  border-left: 2px solid #999999
}

@media screen and (max-width: 349px) {
  .l-drawer__panel.default-right {
    left: 300px
  }
}

.l-drawer__panel.is-active {
  left: 0
}

.l-drawer__logo {
  margin: 18px 0;
  display: inline-block;
  overflow: hidden;
  text-indent: -9999px;
  background-position: center bottom
}

.l-drawer__logo.junior {
  background-size: 102px auto;
  width: 102px;
  height: 15px;
  background-image: url(/gtec/common/images/sprite_gtecjunior.png)
}

.l-drawer__logo.fs {
  background-size: 102px auto;
  width: 55px;
  height: 15px;
  background-image: url(/gtec/common/images/sprite_gtec.png)
}

.l-drawer__title {
  position: relative;
  line-height: 50px;
  font-weight: bold;
  font-size: 16px;
  font-family: "Helvetica Neue", Helvetica;
  letter-spacing: 0.1em;
  padding: 0 10px
}

.l-drawer__title.under {
  line-height: 1rem;
  padding: 30px 10px 5px;
  background-color: #005fa4;
  color: #fff
}

.l-drawer__title.under button {
  color: #fff
}

.l-drawer__back {
  -webkit-appearance: normal;
  -moz-appearance: normal;
  appearance: normal;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 10px;
  font-size: 12px;
  position: absolute;
  top: 2px;
  left: 0px
}

.l-drawer__back>* {
  display: inline-block;
  vertical-align: middle
}

.l-drawer__back .fa {
  font-size: 20px;
  vertical-align: middle
}

.l-drawer__close {
  -webkit-appearance: normal;
  -moz-appearance: normal;
  appearance: normal;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 10px;
  font-size: 20px
}

.l-drawer__close.top {
  position: absolute;
  top: -2px;
  right: 3px
}

.l-drawer__close.bottom {
  display: block;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  font-size: 12px;
  margin: 20px auto;
  padding: 8px 67px;
  position: relative
}

.l-drawer__close.bottom .fa {
  font-size: 20px;
  vertical-align: -2px;
  margin-right: 0;
  position: absolute;
  right: 20px
}

.l-drawer__items li {
  margin: 8px
}

.l-drawer__items li a {
  background-color: #fff;
  border-radius: 5px;
  display: block;
  text-decoration: none;
  color: #000;
  text-align: center;
  padding: 5px 10px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

.l-drawer__items.under li a {
  background-color: #ffffff
}

.l-drawer__items.for-grades {
  margin: 0 0px 20px
}

.l-drawer__items.for-grades li {
  margin: 3px 8px 7px
}

.l-drawer__items.for-grades li a {
  background-color: #005fa4;
  color: #ffffff;
  text-align: left;
  position: relative;
  border-radius: 0;
  font-size: 15px;
  padding: 9px 20px
}

.l-drawer__items.for-grades li a:after {
  font-weight: normal;
  display: block;
  right: 0;
  top: 50%;
  margin-top: -10px;
  line-height: 20px;
  position: absolute;
  content: '\f105';
  font-size: 20px;
  font-family: FontAwesome;
  padding-right: 8px
}

.l-drawer__items.for-grades li a:hover {
  color: #ffffff !important;
  opacity: 0.7 !important
}

.l-drawer__items.top-menu>li>a {
  color: #005fa4;
  font-size: 16px;
  font-weight: bold;
  border-radius: 22px;
  padding: 8px 10px;
  letter-spacing: 0.025em
}

.l-drawer__items.top-menu>li.top-menu-yellow>a {
  background-color: #fcc800
}

.l-drawer__items.top-menu>li.top-menu-gray>a {
  background-color: #e3e3e3
}

.l-drawer__items.top-menu>li.top-menu-normal>a {
  position: relative
}

.l-drawer__items.top-menu>li.top-menu-normal>a:after {
  font-weight: normal;
  display: block;
  right: 0;
  top: 50%;
  margin-top: -10px;
  line-height: 20px;
  position: absolute;
  content: '\f105';
  font-size: 20px;
  font-family: FontAwesome;
  padding-right: 8px
}

.pg-gnav-base.pg-lnav-gtec_about .l-drawer__panel.base .l-drawer__item.gtec_about a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-merit .l-drawer__panel.base .l-drawer__item.merit a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-lineup .l-drawer__panel.base .l-drawer__item.lineup a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-schools .l-drawer__panel.base .l-drawer__item.schools a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-voice .l-drawer__panel.base .l-drawer__item.voice a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-overview .l-drawer__panel.base .l-drawer__item.overview a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-question .l-drawer__panel.base .l-drawer__item.question a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-score .l-drawer__panel.base .l-drawer__item.score a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-sample .l-drawer__panel.base .l-drawer__item.sample a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-product .l-drawer__panel.base .l-drawer__item.product a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-policy .l-drawer__panel.base .l-drawer__item.policy a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-en .l-drawer__panel.base .l-drawer__item.en a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-history .l-drawer__panel.base .l-drawer__item.history a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-select .l-drawer__panel.base .l-drawer__item.select a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-faq .l-drawer__panel.base .l-drawer__item.faq a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-base.pg-lnav-schoolofficials .l-drawer__panel.base .l-drawer__item.schoolofficials a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-gtec_about .l-drawer__panel.junior .l-drawer__item.gtec_about a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-merit .l-drawer__panel.junior .l-drawer__item.merit a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-lineup .l-drawer__panel.junior .l-drawer__item.lineup a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-schools .l-drawer__panel.junior .l-drawer__item.schools a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-voice .l-drawer__panel.junior .l-drawer__item.voice a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-overview .l-drawer__panel.junior .l-drawer__item.overview a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-question .l-drawer__panel.junior .l-drawer__item.question a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-score .l-drawer__panel.junior .l-drawer__item.score a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-sample .l-drawer__panel.junior .l-drawer__item.sample a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-product .l-drawer__panel.junior .l-drawer__item.product a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-policy .l-drawer__panel.junior .l-drawer__item.policy a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-en .l-drawer__panel.junior .l-drawer__item.en a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-history .l-drawer__panel.junior .l-drawer__item.history a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-select .l-drawer__panel.junior .l-drawer__item.select a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-faq .l-drawer__panel.junior .l-drawer__item.faq a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior.pg-lnav-schoolofficials .l-drawer__panel.junior .l-drawer__item.schoolofficials a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-gtec_about .l-drawer__panel.fs .l-drawer__item.gtec_about a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-merit .l-drawer__panel.fs .l-drawer__item.merit a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-lineup .l-drawer__panel.fs .l-drawer__item.lineup a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-schools .l-drawer__panel.fs .l-drawer__item.schools a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-voice .l-drawer__panel.fs .l-drawer__item.voice a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-overview .l-drawer__panel.fs .l-drawer__item.overview a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-question .l-drawer__panel.fs .l-drawer__item.question a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-score .l-drawer__panel.fs .l-drawer__item.score a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-sample .l-drawer__panel.fs .l-drawer__item.sample a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-product .l-drawer__panel.fs .l-drawer__item.product a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-policy .l-drawer__panel.fs .l-drawer__item.policy a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-en .l-drawer__panel.fs .l-drawer__item.en a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-history .l-drawer__panel.fs .l-drawer__item.history a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-select .l-drawer__panel.fs .l-drawer__item.select a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-faq .l-drawer__panel.fs .l-drawer__item.faq a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs.pg-lnav-schoolofficials .l-drawer__panel.fs .l-drawer__item.schoolofficials a {
  background-color: #005fa4;
  color: #fff
}

.l-drawer__shade {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9000;
  background-color: rgba(0, 0, 0, 0.7);
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s
}

.l-drawer__shade.is-active {
  visibility: visible;
  opacity: 1
}

@media only screen and (min-width: 768px), tv, print {
  .l-drawer__shade {
    display: none
  }
}

@media only screen and (min-width: 768px), tv, print {
  .l-drawer__txt {
    display: none
  }
}

@media only screen and (max-width: 767px) {
  .l-drawer__txt {
    font-size: 10px;
    vertical-align: middle;
    display: inline-block
  }
}

.a-badge {
  display: inline-block;
  border-radius: 100%;
  border-style: solid;
  font-weight: 600
}

.a-badge.-bg-blue {
  border-color: #005fa4;
  background-color: #005fa4;
  color: #fff
}

.a-badge.-bg-white {
  border-color: #005fa4;
  background-color: #fff;
  color: #005fa4
}

.a-badge.-bg-yellow {
  border: none;
  background-color: #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .a-badge.-num-txt {
    width: 130px;
    height: 130px;
    border-width: 3px
  }
}

@media only screen and (max-width: 767px) {
  .a-badge.-num-txt {
    width: 70px;
    height: 70px;
    border-width: 2px
  }
}

.a-badge__balancer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.a-badge__num {
  line-height: 1
}

@media only screen and (min-width: 768px), tv, print {
  .a-badge__num {
    font-size: 48px
  }
}

@media only screen and (max-width: 767px) {
  .a-badge__num {
    font-size: 24px
  }
}

.a-badge__text {
  line-height: 1
}

@media only screen and (min-width: 768px), tv, print {
  .a-badge__text {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .a-badge__text {
    font-size: 10px
  }
}

.a-badge.-text-large .a-badge__text {
  line-height: 1.2
}

@media only screen and (min-width: 768px), tv, print {
  .a-badge.-text-large .a-badge__text {
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .a-badge.-text-large .a-badge__text {
    font-size: 12px
  }
}

.a-badge.-center .a-badge__text {
  text-align: center
}

.a-btn {
  display: inline-block;
  padding: 0;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  color: inherit;
  font-family: inherit;
  line-height: 1.5;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.a-btn:hover {
  opacity: .7
}

.a-btn.block {
  display: block
}

.a-btn.left {
  text-align: left
}

.a-btn.overlay {
  position: relative;
  overflow: hidden
}

.a-btn.overlay:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background-color: #fff;
  content: "";
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.a-btn.overlay:hover {
  opacity: 1
}

.a-btn.overlay:hover:before {
  opacity: 0.3
}

.a-btn.size-01 {
  padding: 8px 0
}

@media only screen and (max-width: 767px) {
  .a-btn.size-01 {
    padding: 13px 0
  }
}

.a-btn.size-02 {
  padding: 15px 0
}

@media only screen and (max-width: 767px) {
  .a-btn.size-02 {
    padding: 13px 0
  }
}

.a-btn.size-03 {
  padding: 16px 120px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-03 {
    display: block;
    padding: 13px 0
  }
}

.a-btn.size-04 {
  padding: 15px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-04 {
    padding: 13px 0
  }
}

.a-btn.size-05 {
  padding: 16.5px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-05 {
    padding: 13px;
    font-size: 16px
  }
}

.a-btn.size-06 {
  padding: 16.5px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-06 {
    padding: 13px;
    font-size: 14px
  }
}

.a-btn.size-07 {
  padding: 18px;
  font-size: 48px;
  font-weight: bold
}

.a-btn.size-07:after {
  font-weight: normal
}

@media only screen and (max-width: 767px) {
  .a-btn.size-07 {
    padding: 13px;
    font-size: 24px
  }
}

.a-btn.size-08 {
  padding: 23px;
  font-size: 27px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-08 {
    padding: 15px;
    font-size: 15px
  }
}

.a-btn.size-09 {
  padding: 5px 15px 5px 35px;
  border-radius: 15px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-09 {
    font-size: 10px;
    padding: 5px 10px 5px 25px
  }
}

.a-btn.size-10 {
  padding: 14px;
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-10 {
    padding: 13px;
    font-size: 16px
  }
}

.a-btn.size-11 {
  padding: 14px;
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-11 {
    padding: 9px;
    font-size: 12px
  }
}

.a-btn.size-12 {
  padding: 11px;
  font-size: 24px;
  width: 305px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-12 {
    padding: 6px;
    font-size: 12px;
    width: auto
  }
}

.a-btn.size-13 {
  padding: 8.5px;
  font-size: 14px;
  width: 212px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-13 {
    font-size: 14px
  }
}

.a-btn.size-14 {
  padding: 8.5px 12px;
  font-size: 12px;
  width: auto
}

.a-btn.size-14.arrow {
  padding: 8.5px 25px 8.5px 12px
}

.a-btn.size-14.arrow:after {
  right: 8px
}

.a-btn.size-15 {
  padding: 11.5px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-btn.size-15 {
    padding: 13px;
    font-size: 16px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-btn.size-16 {
    padding-top: 28px;
    padding-bottom: 28px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .a-btn.size-16 {
    padding-top: 22.5px;
    padding-bottom: 22.5px;
    font-size: 16px
  }
}

.a-btn.font-bold {
  font-weight: bold
}

.a-btn.font-italic {
  font-weight: italic
}

.a-btn.shadow {
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4)
}

.a-btn.arrow {
  position: relative
}

.a-btn.arrow:after {
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome;
  font-size: 150%
}

.a-btn.arrow-02 {
  position: relative
}

.a-btn.arrow-02:after {
  position: absolute;
  top: 50%;
  right: 6px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome;
  font-size: 150%
}

.a-btn.arrow-02.type-login:after {
  right: 15px;
  font-size: 100%
}

.a-btn.blue {
  background-color: #005fa4;
  color: #fff
}

#condition a, #condition_score a, #university a {
  background-color: #fcc800;
  color: #005fa4;
}
.a-btn.yellow {
  background-color: #ffea00;
  color: #005fa4
}

.a-btn.white {
  background-color: #fff;
  color: #005fa4
}

.a-btn.gray {
  background-color: #f3f3f3;
  color: #005fa4
}

.a-btn.brown {
  background-color: #660000;
  color: #fff
}

.a-btn.dark-blue {
  background-color: #1c3358;
  color: #fff
}

.a-btn.-junior1 {
  background-color: #95c51b
}

.a-btn.-junior2 {
  background-color: #00a43e
}

.a-btn.-juniorplus {
  background-color: #007130
}

.a-btn.-core {
  background-color: #e79100
}

.a-btn.-basic {
  background-color: #c8152d
}

.a-btn.-advanced {
  background-color: #007aba
}

.a-btn.-gtec {
  background-color: #005fa4
}

.a-btn.-cbt {
  background-color: #1c3358
}

.a-btn.-academic {
  background-color: #b80074
}

.a-btn.-business {
  background-color: #7c8595
}

.a-btn.-gjo {
  background-color: #399
}

.a-btn.type-01 {
  display: block;
  position: relative;
  padding-top: 10px;
  padding-bottom: 20px;
  background-color: #fff;
  border: 1px solid #ccc
}

.a-btn.type-01:before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid #999;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  content: ""
}

.a-btn.type-01:hover {
  opacity: 1;
  border-color: #666
}

.a-btn.icon-l {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 27px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-btn.icon-l {
    font-size: 16px;
    padding: 20px
  }
}

.a-btn.icon-l .a-btn__icon {
  margin-right: 10px
}

.a-btn.icon-l .a-btn__text-sub {
  font-size: 12px
}

.a-btn.tab {
  padding: 24px;
  border-radius: 6px 6px 0 0;
  border: 2px solid #005fa4;
  border-bottom: none;
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .a-btn.tab {
    border-radius: 4px 4px 0 0;
    display: block;
    padding: 10px 0;
    text-align: center;
    font-size: 15px
  }
}

.a-btn.tab.is-active {
  color: #fff
}

.a-btn.tab:after {
  display: none
}

@media only screen and (max-width: 767px) {
  .a-btn.tab .a-btn__text-sub {
    font-size: 10px
  }
}

.a-btn.acc {
  display: block;
  position: relative;
  padding: 20px
}

@media only screen and (max-width: 767px) {
  .a-btn.acc {
    padding: 10px 30px
  }
}

.a-btn.acc.result {
  padding: 20px 0 15px 25px;
  margin-top: 5px;
  height: auto;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .a-btn.acc.result {
    padding: 10px 30px 15px 15px;
    margin-top: 5px;
    height: auto;
    overflow: hidden;
  }
}

.a-btn.acc .a-btn__main {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .a-btn.acc .a-btn__main {
    font-size: 16px
  }
}

.a-btn__main .univName {
  font-size: 25px;
  font-weight: normal;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .a-btn__main .univName {
    font-size: 16px;
  }
}

.gtecScore {
  font-size: 15px;
  padding-left: 5px;
  text-align: left;
  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .gtecScore {
    font-size: 12px;
    text-align: left;
    font-weight: normal;
  }
}

.a-btn__main .univIcon {
  font-size: 15px;
  border: solid 1px white;
  border-radius: 3px;
  background-color: white;
  color: #005fa4;
  padding: 1px 3px;
  margin: 10px 3px;
  font-weight: normal;
  /* max-width: fit-content; */
  float: left;
}

@media only screen and (max-width: 767px) {
  .a-btn__main .univIcon {
    font-size: 10px;
    margin: 5px 3px 0 0;
    line-height: 12px;
    float: left;
  }
}

.a-btn.acc .a-btn__main img {
  vertical-align: middle
}

.a-btn.acc .a-btn__sub {
  margin-top: 10px
}

@media only screen and (max-width: 767px) {
  .a-btn.acc .a-btn__sub {
    margin-top: 5px
  }
}

.a-btn.acc:before, .a-btn.acc:after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  content: "";
  right: 20px;
  height: 2px;
  width: 20px;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

@media only screen and (max-width: 767px) {
  .a-btn.acc:before, .a-btn.acc:after {
    right: 10px;
    width: 16px
  }
}

.a-btn.acc:after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}

.a-btn.acc.dflex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .a-btn.acc.sp-plus-none {
    padding: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-btn.acc.sp-plus-none:hover {
    opacity: 1;
    cursor: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-btn.acc.sp-plus-none:after, .a-btn.acc.sp-plus-none:before {
    content: none
  }
}

@media only screen and (max-width: 767px) {
  .a-btn.acc.acc-size-1 {
    padding: 13px 20px 13px 25px
  }
}

@media screen and (max-width: 349px) {
  .a-btn.acc.acc-size-1 {
    padding: 7px 10px
  }
}

@media only screen and (max-width: 767px) {
  .a-btn.acc.acc-size-2 {
    padding: 11px 20px 11px 25px
  }
}

@media screen and (max-width: 349px) {
  .a-btn.acc.acc-size-2 {
    padding: 7px 10px
  }
}

@media only screen and (max-width: 767px) {
  .a-btn.acc.sp-plus-14:before, .a-btn.acc.sp-plus-14:after {
    right: 20px;
    width: 14px
  }
}

.a-btn.acc.color-white:before, .a-btn.acc.color-white:after {
  background-color: #005fa4
}

.a-btn.acc.color-white.is-active:before, .a-btn.acc.color-white.is-active:after {
  background-color: #ffffff
}

.a-btn.acc.is-active {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0
}

.a-btn.acc.is-active:before {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg)
}

.a-btn.acc.is-active:after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg)
}

.a-btn.acc.has-radius.is-active {
  border-radius: 6px
}

.a-btn.arrow-left {
  position: relative
}

.a-btn.arrow-left:before {
  position: absolute;
  top: 50%;
  left: 15px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome;
  font-size: 100%
}

.a-btn.arrow-left.arrow-normal:before {
  font-size: 100%
}

.a-btn.border-r-none {
  border-radius: 0
}

.a-btn.has-subtxt {
  line-height: 1.2
}

.a-btn.icon-check {
  padding: 0 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1.4
}

.a-btn.icon-check:before {
  content: '\f05d';
  font-family: FontAwesome;
  font-size: 300%;
  padding-right: 15px
}

@media only screen and (max-width: 767px) {
  .a-btn.icon-check {
    font-size: 16px;
    padding: 5px 10px
  }
}

.a-btn__number {
  font-size: 150%;
  line-height: 1;
  margin-left: 0.5em
}

.a-img-btn {
  display: inline-block;
  background-repeat: no-repeat
}

.a-img-btn.push-text, .a-img-btn.btn-answer {
  text-indent: -9999px
}

.a-img-btn.duplex-sprite:hover, .a-img-btn.btn-answer:hover {
  background-position: bottom left
}

.a-img-btn.btn-answer {
  width: 82px;
  height: 24px;
  background-image: url(/gtec/junior/sample/images/btn-answer_001.png)
}

.a-title {
  line-height: 1.333
}

.a-title.size-48-24 {
  font-size: 48px
}

@media only screen and (max-width: 767px) {
  .a-title.size-48-24 {
    font-size: 24px
  }
}

.a-title.size-40 {
  font-size: 40px
}

@media only screen and (max-width: 767px) {
  .a-title.size-40 {
    font-size: 20px
  }
}

.a-title.size-36 {
  font-size: 36px
}

@media only screen and (max-width: 767px) {
  .a-title.size-36 {
    font-size: 24px
  }
}

.a-title.size-36-20 {
  font-size: 36px
}

@media only screen and (max-width: 767px) {
  .a-title.size-36-20 {
    font-size: 20px
  }
}

.a-title.size-36-21 {
  font-size: 36px
}

@media only screen and (max-width: 767px) {
  .a-title.size-36-21 {
    font-size: 21px
  }
}

.a-title.size-36-18 {
  font-size: 36px
}

@media only screen and (max-width: 767px) {
  .a-title.size-36-18 {
    font-size: 18px
  }
}

.a-title.size-34 {
  font-size: 34px
}

@media only screen and (max-width: 767px) {
  .a-title.size-34 {
    font-size: 18px
  }
}

.a-title.size-32 {
  font-size: 32px
}

@media only screen and (max-width: 767px) {
  .a-title.size-32 {
    font-size: 20px
  }
}

.a-title.size-30-21 {
  font-size: 30px
}

@media only screen and (max-width: 767px) {
  .a-title.size-30-21 {
    font-size: 21px
  }
}

.a-title.size-28 {
  font-size: 28px
}

@media only screen and (max-width: 767px) {
  .a-title.size-28 {
    font-size: 20px
  }
}

.a-title.size-28-16 {
  font-size: 28px
}

@media only screen and (max-width: 767px) {
  .a-title.size-28-16 {
    font-size: 16px
  }
}

.a-title.size-26-16 {
  font-size: 26px
}

@media only screen and (max-width: 767px) {
  .a-title.size-26-16 {
    font-size: 16px
  }
}

.a-title.size-20 {
  font-size: 20px
}

@media only screen and (max-width: 767px) {
  .a-title.size-20 {
    font-size: 16px
  }
}

.a-title.size-20-18 {
  font-size: 20px
}

@media only screen and (max-width: 767px) {
  .a-title.size-20-18 {
    font-size: 18px
  }
}

.a-title.size-24-18 {
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-title.size-24-18 {
    font-size: 18px
  }
}

.a-title.size-24-16 {
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-title.size-24-16 {
    font-size: 16px
  }
}

.a-title.size-24-15 {
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-title.size-24-15 {
    font-size: 15px
  }
}

.a-title.size-24-14 {
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-title.size-24-14 {
    font-size: 14px
  }
}

.a-title.size-24-12 {
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .a-title.size-24-12 {
    font-size: 12px
  }
}

.a-title.size-21-16 {
  font-size: 21px
}

@media only screen and (max-width: 767px) {
  .a-title.size-21-16 {
    font-size: 16px
  }
}

.a-title.size-18 {
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-title.size-18 {
    font-size: 15px
  }
}

.a-title.size-18-14 {
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-title.size-18-14 {
    font-size: 14px
  }
}

.a-title.size-18-13 {
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-title.size-18-13 {
    font-size: 13px
  }
}

.a-title.size-18-12 {
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .a-title.size-18-12 {
    font-size: 12px
  }
}

.a-title.size-16-12 {
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .a-title.size-16-12 {
    font-size: 12px
  }
}

.a-title.size-14 {
  font-size: 14px
}

@media only screen and (max-width: 767px) {
  .a-title.size-14 {
    font-size: 10px
  }
}

.a-title.size-32-24 {
  font-size: 32px
}

@media only screen and (max-width: 767px) {
  .a-title.size-32-24 {
    font-size: 24px
  }
}

.a-title.size-36-24 {
  font-size: 36px
}

@media only screen and (max-width: 767px) {
  .a-title.size-36-24 {
    font-size: 24px
  }
}

.a-title.bold {
  font-weight: bold
}

.a-title.center {
  text-align: center
}

.a-title.blue {
  color: #005fa4
}

.a-title.white {
  color: #ffffff
}

.a-title.lh-normal {
  line-height: 1.75
}

.a-title.lh-2 {
  line-height: 2
}

.a-label {
  display: inline-block
}

.a-label.blue {
  background-color: #005fa4;
  color: #ffffff
}

.a-label.yellow {
  background-color: #fcc800;
  color: #005fa4
}

.a-label.yellow-2 {
  background-color: #fcc800;
  color: red
}

.a-label.red {
  background-color: #ea545d;
  color: #fff
}

.a-label.red-2 {
  background-color: #bd1a2d;
  color: #fff
}

.a-label.lightblue {
  background-color: #5dc1d0;
  color: #fff
}

.a-label.blue-2 {
  background-color: #1073ae;
  color: #ffffff
}

.a-label.dark-blue {
  background-color: #1c3358;
  color: #ffffff
}

.a-label.gray {
  background-color: #eee
}

.a-label.font-yellow {
  background-color: #005fa4;
  color: #fcc800
}

.a-label.font-red {
  color: #e60012
}

.a-label.type-1 {
  border-radius: 12px;
  border: 1px solid #000000
}

.a-label.type-2 {
  font-weight: bold;
  font-size: 18px;
  padding: 5px 16px;
  border-radius: 8px 8px 0 0
}

@media only screen and (max-width: 767px) {
  .a-label.type-2 {
    font-size: 14px;
    padding: 3px 10px;
    border-radius: 6px 6px 0 0
  }
}

.a-label.type-3 {
  padding: 12px;
  border-radius: 6px;
  text-align: center;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.type-3 {
    padding: 8px 36px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .a-label.type-3 {
    padding: 5px 12px;
    font-size: 12px
  }
}

.a-label.type-4 {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.type-4 {
    padding: 2px 0;
    border-radius: 10px;
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .a-label.type-4 {
    border-radius: 3px;
    font-size: 10px
  }
}

.a-label.type-5 {
  padding: 8px;
  text-align: center;
  font-weight: bold;
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.type-5 {
    min-width: 150px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .a-label.type-5 {
    min-width: 100px;
    font-size: 12px
  }
}

.a-label.type-6 {
  border-radius: 6px;
  text-align: left;
  font-weight: bold;
  color: #ee0000;
  line-height: 1.5
}

.a-label.type-6 .a-label__small {
  font-size: 0.8em
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.type-6 {
    padding: 15px 35px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .a-label.type-6 {
    padding: 5px 12px;
    font-size: 12px
  }
}

.a-label.type-5.-junior1 {
  background-color: #95c51b
}

.a-label.type-5.-junior2 {
  background-color: #00a43e
}

.a-label.type-5.-juniorplus {
  background-color: #007130
}

.a-label.type-5.-core {
  background-color: #e79100
}

.a-label.type-5.-basic {
  background-color: #c8152d
}

.a-label.type-5.-advanced {
  background-color: #007aba
}

.a-label.type-5.-gtec {
  background-color: #005fa4
}

.a-label.type-5.-cbt {
  background-color: #1c3358
}

.a-label.type-5.-academic {
  background-color: #b80074
}

.a-label.type-5.-business {
  background-color: #7c8595
}

.a-label.type-5.-gjo {
  background-color: #399
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.size-1 {
    padding: 5px 10px
  }
}

@media only screen and (max-width: 767px) {
  .a-label.size-1 {
    padding: 2px 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.size-2 {
    padding: 14px
  }
}

.a-label.size-3 {
  width: 75px;
  padding: 2px 0;
  text-align: center;
  font-weight: normal
}

@media only screen and (min-width: 768px), tv, print {
  .a-label.size-3 {
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .a-label.size-3 {
    font-size: 10px
  }
}

.a-label.size-4 {
  padding: 2px 17px
}

.a-link {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  color: inherit;
  font-family: inherit
}

.a-link:hover {
  text-decoration: underline
}

.a-link.normal {
  text-decoration: underline
}

.a-link.ul {
  width: auto;
  margin-right: auto;
  border-bottom: 1px solid #005fa4
}

.a-link:before, .a-link:after {
  text-decoration: none !important
}

.a-link.arrow-l {
  position: relative;
  padding-left: 15px
}

.a-link.arrow-l:before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome
}

.a-link.arrow-r {
  position: relative;
  padding-right: 15px
}

.a-link.arrow-r:before {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome
}

.a-link.arrow-r-pc {
  position: relative;
  padding-right: 15px
}

@media only screen and (min-width: 768px), tv, print {
  .a-link.arrow-r-pc:before {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    content: '\f105';
    font-family: FontAwesome
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-link.arrow-circle:before {
    display: inline-block;
    content: '\f138';
    font-family: FontAwesome
  }
}

@media only screen and (max-width: 767px) {
  .a-link.arrow-circle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media only screen and (max-width: 767px) {
  .a-link.arrow-circle:after {
    display: inline-block;
    content: '\f138';
    font-family: FontAwesome
  }
}

.a-link.arrow-l-circle:before {
  margin-right: 0.2em;
  display: inline-block;
  content: '\f138';
  font-family: FontAwesome
}

@media only screen and (max-width: 767px) {
  .a-link.arrow-l-circle {
    vertical-align: middle
  }
}

@media only screen and (max-width: 767px) {
  .a-link.-sp-block {
    display: block
  }
}

.a-link.text-blue {
  color: #005fa4
}

.a-link.blue:before {
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .a-link.blue:after {
    color: #005fa4
  }
}

.a-link.white:before {
  color: white
}

@media only screen and (max-width: 767px) {
  .a-link.white:after {
    color: white
  }
}

.a-link.yellow-box {
  background-color: #fcc800
}

.a-link.gray-box {
  background-color: #e3e3e3
}

.a-link.gjo {
  background-color: #339999
}

.a-link.brank-link {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .a-link.brank-link {
    padding-right: 38px
  }
}

@media only screen and (max-width: 767px) {
  .a-link.brank-link {
    padding-right: 10px
  }
}

.a-link.brank-link:after {
  position: absolute;
  margin-left: 18px;
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
  content: '\f24d';
  font-family: FontAwesome
}

@media only screen and (max-width: 767px) {
  .a-link.brank-link:after {
    margin-left: 5px
  }
}

.a-link.brank-link.blue-icon:after {
  color: #005fa4
}

.a-link.brank-link.word-break {
  word-break: break-all
}

.a-link.link-under-line {
  text-decoration: underline
}

.a-link__inner {
  text-decoration: underline
}

.a-link__text {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .a-link__text {
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .a-link__text {
    font-size: 12px
  }
}

.a-link__small {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .a-link__small {
    font-size: 11px
  }
}

@media only screen and (max-width: 767px) {
  .a-link__small {
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-link__fa {
    margin-right: 10px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .a-link__fa {
    margin-right: 5px;
    font-size: 12px
  }
}

.a-txt.yellow {
  color: #ffea00
}

.a-txt.dark-yellow {
  color: #fcc800
}

.a-txt.red {
  color: #e60012
}

.a-txt.blue {
  color: #005fa4
}

.a-txt.white {
  color: #ffffff
}

.a-txt.gray-1 {
  color: #808080
}

.a-txt.gray-2 {
  color: #3e3e3e
}

.a-txt.green-1 {
  color: #4c8380
}

.a-txt.default {
  color: #000;
  font-weight: normal
}

.a-txt.space-1 {
  margin: 0 -5px;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.a-txt.small {
  font-size: 10px
}

.a-txt.little-small {
  font-size: 12px
}

.a-txt.normal {
  font-size: 14px
}

.a-txt.block {
  display: block
}

.a-txt.box-border {
  border: 1px solid #000;
  display: inline-block
}

.a-txt.palt-txt {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

.a-txt.vertical-rl-txt {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

.a-txt.horizontal-tb {
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb
}

.a-txt.rotate90-txt {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  white-space: nowrap
}

.a-txt.underline {
  text-decoration: underline
}

.a-txt.font-type1 {
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.a-txt.lh-normal {
  line-height: 1.75
}

.a-txt.lh-1_2 {
  line-height: 1.2
}

.a-txt.lh-2 {
  line-height: 2
}

.a-txt.ti-0 {
  text-indent: 0
}

.a-txt.link-txt {
  color: #005fa4
}

.a-txt.has-indent {
  display: block;
  padding-left: 1em;
  text-indent: -1em
}

.a-txt.has-indent-brackets {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .a-txt.has-indent-brackets {
    padding-left: 1.4em;
    text-indent: -1.4em
  }
}

@media only screen and (max-width: 767px) {
  .a-txt.has-indent-brackets {
    padding-left: 1.3em;
    text-indent: -1.3em
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-txt.has-indent-brackets.type-2 {
    padding-left: 1.4em;
    text-indent: -2em
  }
}

@media only screen and (max-width: 767px) {
  .a-txt.has-indent-brackets.type-2 {
    padding-left: 1.2em;
    text-indent: -1.8em
  }
}

.a-tab-link {
  display: block;
  border-radius: 6px 6px 0 0;
  border: 2px solid #005fa4;
  background-color: #ffffff;
  color: #005fa4;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.a-tab-link:hover {
  opacity: .7
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link {
    border-bottom: none
  }
}

.a-tab-link.is-active {
  background-color: #005fa4;
  color: #fff;
  cursor: default
}

.a-tab-link.is-active:hover {
  opacity: 1
}

.a-tab-link.type-1 {
  padding: 17px 10px 20px
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-1 {
    padding: 8px 5px 8px;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none
  }
}

.a-tab-link.type-1 .a-tab-link__logo {
  text-align: center;
  position: relative;
  max-width: 204px;
  margin: auto;
  overflow: hidden
}

.a-tab-link.type-1 .a-tab-link__logo:before {
  display: block;
  padding-top: 13.75%;
  content: ""
}

.a-tab-link.type-1 .a-tab-link__logo img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.a-tab-link.type-1.is-active .a-tab-link__logo img {
  top: auto;
  bottom: 0
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-1 .a-tab-link__text {
    margin-bottom: 7px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-1 .a-tab-link__text {
    width: 200%;
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
    -webkit-transform: translateX(-25%) scale(0.5);
    -ms-transform: translateX(-25%) scale(0.5);
    transform: translateX(-25%) scale(0.5)
  }
}

.a-tab-link.type-4 {
  padding: 36px 10px 32px
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-4 {
    padding: 16px 5px 16px;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none
  }
}

.a-tab-link.type-4 .a-tab-link__logo {
  text-align: center;
  position: relative;
  max-width: 204px;
  margin: auto;
  overflow: hidden
}

.a-tab-link.type-4 .a-tab-link__logo:before {
  display: block;
  padding-top: 13.73%;
  content: ""
}

.a-tab-link.type-4 .a-tab-link__logo img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.a-tab-link.type-4.is-active .a-tab-link__logo img {
  top: auto;
  bottom: 0
}

.a-tab-link.type-2 {
  padding: 15px 5px
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-2 {
    border-bottom: none
  }
}

.a-tab-link.type-2 .a-tab-link__logo {
  text-align: center;
  position: relative;
  max-width: 102px;
  margin: auto;
  overflow: hidden
}

.a-tab-link.type-2 .a-tab-link__logo:before {
  display: block;
  padding-top: 13.75%;
  content: ""
}

.a-tab-link.type-2 .a-tab-link__logo img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.a-tab-link.type-2.is-active .a-tab-link__logo img {
  top: auto;
  bottom: 0
}

.a-tab-link.type-5 {
  padding: 14px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-5 {
    font-size: 10px;
    padding: 15px 3px 16px
  }
}

.a-tab-link.type-5 .a-tab-link__text {
  margin-right: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 15px 5px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-6 {
    padding: 7px 5px;
    border-bottom: none
  }
}

.a-tab-link.type-6 .a-tab-link__text {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  display: block
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-6 .a-tab-link__text {
    width: 200%;
    font-size: 16px;
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
    -webkit-transform: translateX(-25%) scale(0.5);
    -ms-transform: translateX(-25%) scale(0.5);
    transform: translateX(-25%) scale(0.5)
  }
}

.a-tab-link.type-6 .a-tab-link__logo {
  text-align: center;
  position: relative;
  overflow: hidden
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-6 .a-tab-link__logo {
    width: 102px;
    margin: 0 -15px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-6 .a-tab-link__logo {
    max-width: 102px;
    margin: auto
  }
}

.a-tab-link.type-6 .a-tab-link__logo:before {
  display: block;
  padding-top: 13.75%;
  content: ""
}

.a-tab-link.type-6 .a-tab-link__logo img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.a-tab-link.type-6.is-active .a-tab-link__logo img {
  top: auto;
  bottom: 0
}

.a-tab-link.type-3 {
  padding: 12px 0 18px
}

.a-tab-link.type-3 .a-tab-link__logo {
  font-size: 10px;
  line-height: 1
}

.a-tab-link.type-3 .a-tab-link__text {
  font-size: 12px
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-3 {
    border-radius: 6px
  }
}

.a-tab-link.type-7 {
  padding: 25px 0
}

.a-tab-link.type-7 .a-tab-link__logo {
  text-align: center;
  position: relative;
  max-width: 102px;
  margin: auto;
  overflow: hidden
}

.a-tab-link.type-7 .a-tab-link__logo:before {
  display: block;
  padding-top: 13.75%;
  content: ""
}

.a-tab-link.type-7 .a-tab-link__logo img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-7 {
    border-radius: 6px
  }
}

.a-tab-link.type-7.central {
  border-radius: 0;
  border: 0;
  background-color: transparent;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  padding: 9px 0 13px;
  font-weight: bold
}

.a-tab-link.type-7.central img {
  top: auto;
  bottom: 0
}

.a-tab-link.type-7.central .a-tab-link__logo {
  margin-top: 2px
}

.a-tab-link.type-7.central:hover {
  background-color: #017bd4
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-8 {
    padding: 15px 0
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-8 {
    border-radius: 6px;
    padding: 7.5px 0
  }
}

.a-tab-link.type-8 .a-tab-link__text {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 1;
  display: block
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-8 .a-tab-link__text {
    font-size: 10px
  }
}

.a-tab-link.type-8 .a-tab-link__logo {
  text-align: center;
  position: relative;
  max-width: 102px;
  margin: auto;
  overflow: hidden
}

.a-tab-link.type-8 .a-tab-link__logo:before {
  display: block;
  padding-top: 13.75%;
  content: ""
}

.a-tab-link.type-8 .a-tab-link__logo img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.a-tab-link.type-8.is-active .a-tab-link__logo img {
  top: auto;
  bottom: 0
}

.a-tab-link.type-9 {
  padding: 13.5px;
  font-size: 18px;
  color: #000
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-9 {
    font-size: 12px;
    padding: 7.5px 2px;
    border-bottom: none
  }
}

.a-tab-link.type-9.is-active {
  color: #fff
}

@media screen and (max-width: 414px) {
  .a-tab-link.type-9.-pr-teacher {
    font-size: 10px;
    padding: 1px 0;
    min-height: 36px;
    margin-bottom: -1px
  }
}

@media screen and (max-width: 414px) {
  .a-tab-link.type-9.-pr-teacher.-line-1 {
    padding-top: 7.5px;
    padding-bottom: 7.5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-10 {
    padding: 3px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-10 {
    padding: 1px 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-10.-fs-score {
    padding: 15px 3px
  }
}

.a-tab-link.type-10.acc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding-top: 5px;
  padding-bottom: 5px;
  border-radius: 0;
  border: none;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f2f2f2));
  background-image: -webkit-linear-gradient(#fff, #f2f2f2);
  background-image: linear-gradient(#fff, #f2f2f2)
}

.a-tab-link.type-10.acc:after {
  position: absolute;
  right: 15px;
  content: "\f107";
  font-family: FontAwesome;
  font-size: 20px;
  line-height: 24px
}

.a-tab-link.type-10.acc.is-active {
  background-image: none
}

.a-tab-link.type-10.acc.is-active:after {
  content: "\f106"
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-10.acc {
    display: none
  }
}

.a-tab-link.type-10.acc .m-tab-box__number {
  margin-left: 10px
}

.a-tab-link.type-11 {
  font-size: 18px;
  padding: 15px 0
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-11 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 50px;
    padding: 0 10px;
    font-size: 14px;
    line-height: 1.2
  }
}

.a-tab-link.type-12 {
  padding: 29px;
  border-radius: 6px 6px 0 0;
  border: 2px solid #005fa4;
  border-bottom: none;
  color: #005fa4;
  font-size: 18px
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-12 {
    padding-left: 100px;
    background-repeat: no-repeat;
    background-position: 18px center;
    text-align: left
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-12 {
    border-radius: 4px 4px 0 0;
    display: block;
    padding: 5px 0;
    text-align: center;
    font-size: 15px
  }
}

.a-tab-link.type-12.is-active {
  color: #fff
}

.a-tab-link.type-12 .a-tab-link__text-sub {
  font-size: 12px
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-12 .a-tab-link__text-sub {
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-12.listen {
    background-image: url(/gtec/junior/common/images/icon_listen_blue.png)
  }
  .a-tab-link.type-12.listen.is-active {
    background-image: url(/gtec/junior/common/images/icon_listen_white.png)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-12.speak {
    background-image: url(/gtec/junior/common/images/icon_spreak_blue.png)
  }
  .a-tab-link.type-12.speak.is-active {
    background-image: url(/gtec/junior/common/images/icon_spreak_white.png)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-12.read {
    background-image: url(/gtec/junior/common/images/icon_read_blue.png)
  }
  .a-tab-link.type-12.read.is-active {
    background-image: url(/gtec/junior/common/images/icon_read_white.png)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-12.write {
    background-image: url(/gtec/junior/common/images/icon_write_blue.png)
  }
  .a-tab-link.type-12.write.is-active {
    background-image: url(/gtec/junior/common/images/icon_write_white.png)
  }
}

.a-tab-link.type-13 {
  color: #9d9d9d;
  border: 2px solid #9d9d9d;
  background-color: #ffffff;
  height: 100%
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-13 {
    padding: 15px 0;
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-13 {
    padding: 7.5px 0;
    border-bottom: none;
    font-size: 14px
  }
}

.a-tab-link.type-13.-simple {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.a-tab-link.type-13 .a-tab-link__text {
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1;
  display: block
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-13 .a-tab-link__text {
    width: 200%;
    font-size: 16px;
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
    -webkit-transform: translateX(-25%) scale(0.5);
    -ms-transform: translateX(-25%) scale(0.5);
    transform: translateX(-25%) scale(0.5)
  }
}

.a-tab-link.type-13.is-active.-junior1 {
  background-color: #95c51b;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-junior2 {
  background-color: #00a43e;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-juniorplus {
  background-color: #007130;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-core {
  background-color: #e79100;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-basic {
  background-color: #c8152d;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-advanced {
  background-color: #007aba;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-gtec {
  background-color: #005fa4;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-cbt {
  background-color: #1c3358;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-academic {
  background-color: #b80074;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-business {
  background-color: #7c8595;
  color: #ffffff
}

.a-tab-link.type-13.is-active.-gjo {
  background-color: #399;
  color: #ffffff
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-13.-product {
    padding: 13px 0;
    border-width: 1px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-13.-product .a-tab-link__text {
    margin-bottom: 0;
    font-size: 20px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-13.-sp-small {
    font-size: 11px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-13.-sp-small .a-tab-link__text {
    line-height: 1.2
  }
}

.a-tab-link.type-14 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.5;
  height: 100%;
  border-bottom: none
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-14 {
    padding: 14px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-14 {
    padding: 7px;
    font-size: 14px
  }
}

.a-tab-link.type-14 .a-tab-link__text-sub {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .a-tab-link.type-14 .a-tab-link__text-sub {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .a-tab-link.type-14 .a-tab-link__text-sub {
    font-size: 10px
  }
}

.a-totop {
  width: 45px;
  height: 45px;
  border-radius: 5px;
  background-color: #999;
  color: #fff;
  text-decoration: none;
  position: fixed;
  bottom: 25px;
  right: 25px;
  text-align: center;
  padding: 10px;
  visibility: hidden;
  opacity: 0;
  z-index: 1000;
  font-size: 2.5em
}

.a-totop.is-active {
  visibility: visible;
  opacity: 1
}

@media only screen and (min-width: 768px), tv, print {
  .a-totop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media only screen and (max-width: 767px) {
  .a-totop {
    padding: 0;
    width: 46px;
    height: 46px;
    right: 5px;
    font-size: 2em;
    line-height: 40px
  }
}

.a-totop:before {
  font-family: FontAwesome;
  content: "\f106";
  margin: 0 0 3px 2px;
  font-size: 32px
}

.a-totop:hover {
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s
}

.a-totop__txt {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block
}

.a-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.a-photo.radius-4 {
  border-radius: 4px
}

.a-photo.radius-6 {
  border-radius: 6px
}

@media only screen and (max-width: 767px) {
  .a-photo.w-100-sp {
    width: 100%
  }
}

.a-table.bg-blue-1 {
  background-color: #42a3f2;
  color: #ffffff
}

.a-table.bg-blue-2 {
  background-color: #005fa4;
  color: #ffffff
}

.a-table.bg-blue-3 {
  background-color: #034a84;
  color: #ffffff
}

.a-table.bg-gray-1 {
  background-color: #f2f2f2
}

.a-table.bg-blue-4 {
  background-color: #ecfdff
}

.a-table.bg-blue-5 {
  background-color: #dbf1ff
}

.a-table.bg-gray-2 {
  background-color: #dae6f0
}

.a-table.bg-gray-3 {
  background-color: #eeeeee
}

.a-table.bg-blue-6 {
  background-color: #004986
}

.a-table.bg-green-1 {
  background-color: #007130
}

.a-table.bg-brown-1 {
  background-color: #834e00
}

.a-table.bg-gray-4 {
  background-color: #7d7d7d
}

.a-table.bg-gray-5 {
  background-color: #9d9d9d
}

.a-table.bg-gray-6 {
  background-color: #eeeeee
}

.a-table.border-b-none {
  border-bottom: 0
}

.a-table.border-radius-top-left {
  border-radius: 4px 0 0 0
}

.a-table.center {
  text-align: center
}

.a-panel.gray-1 {
  background-color: #f2f2f2
}

.a-panel.gray-2 {
  background-color: #eee
}

.a-panel.gray-3 {
  background-color: #d2d2d2
}

.a-panel.white {
  background-color: #ffffff
}

.a-panel.rad-4 {
  border-radius: 4px
}

.a-panel.rad-6 {
  border-radius: 4px
}

.a-panel.has-border {
  border: 1px solid #898989
}

@media only screen and (max-width: 767px) {
  .a-scrollcont {
    width: 100%;
    overflow-x: scroll
  }
}

@media only screen and (max-width: 767px) {
  .a-scrollcont__cont {
    width: 1500px
  }
}

.a-notice {
  margin-top: 15px;
  margin-bottom: 15px;
  display: block;
  font-size: 12px;
  padding-left: 15px;
  text-indent: -15px
}

@media only screen and (max-width: 767px) {
  .a-notice {
    font-size: 10px;
    padding-left: 12px;
    text-indent: -12px
  }
}

.a-scroll-link {
  color: #222;
  text-decoration: none !important
}

@media only screen and (max-width: 767px) {
  .a-scroll-link {
    padding: 20px 0 10px;
    display: block;
    text-decoration: none !important
  }
  .a-scroll-link.fixed {
    padding-top: 40px;
    position: fixed;
    z-index: 10;
    width: 100%;
    bottom: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(241, 241, 241, 0)), color-stop(40%, #f1f1f1), to(#f1f1f1));
    background: -webkit-linear-gradient(top, rgba(241, 241, 241, 0) 0%, #f1f1f1 40%, #f1f1f1 100%);
    background: linear-gradient(to bottom, rgba(241, 241, 241, 0) 0%, #f1f1f1 40%, #f1f1f1 100%)
  }
}

.a-scroll-link__title {
  font-size: 30px;
  font-family: "Vollkorn", serif;
  text-align: center;
  font-weight: 400;
  padding-bottom: 57px;
  background: url(/gtec/common/images/history/ico-arrow_down_001.png) center bottom no-repeat;
  animation: historyHead 0.5s ease-in-out 0s infinite alternate;
  -webkit-animation: historyHead 0.5s ease-in-out 0s infinite alternate;
  margin-bottom: 55px;
  line-height: 22.75px
}

@media only screen and (max-width: 767px) {
  .a-scroll-link__title {
    font-size: 17px;
    padding-bottom: 20px;
    background-size: 27px auto;
    margin-bottom: 0
  }
}

.a-btnbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.a-btnbox.-right-btn {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

.a-btnbox.-type-2 {
  display: block;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .a-btnbox.-type-2 {
    padding: 25px;
    background-color: #f2f2f2
  }
}

@media only screen and (max-width: 767px) {
  .a-btnbox.-type-2 {
    padding: 20px 10px
  }
}

.a-btnbox.-type-2.-bg-light-gray {
  background-color: #f2f2f2
}

.a-btnbox__txt {
  padding-right: 10px
}

@media only screen and (max-width: 767px) {
  .a-btnbox__txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.a-btnbox.-type-2 .a-btnbox__txt {
  margin-bottom: 30px
}

@media only screen and (min-width: 768px), tv, print {
  .a-btnbox.-type-2 .a-btnbox__txt {
    font-size: 18px
  }
}

.a-btnbox.-type-2 .a-btnbox__txt.-size-1 {
  font-size: 14px
}

@media only screen and (min-width: 768px), tv, print {
  .a-btnbox.-type-2 .a-btnbox__btn {
    width: 310px;
    margin: 0 auto
  }
}

@media only screen and (max-width: 767px) {
  .a-btnbox.-type-2 .a-btnbox__btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.a-balloon__txt {
  position: absolute;
  display: none;
  z-index: 100
}

.a-balloon.baloon-line.triangular.yellow .a-balloon__txt {
  background-color: #fcc800;
  font-size: 12px;
  border-radius: 12px;
  border: none;
  -webkit-box-shadow: 2px 2px 0px 0px #ccc;
  box-shadow: 2px 2px 0px 0px #ccc;
  padding: 6px;
  width: 140%;
  margin-left: -20%
}

.a-balloon.baloon-line.triangular.yellow .a-balloon__arrow:before {
  display: none
}

.a-balloon.baloon-line.triangular.yellow .a-balloon__arrow:after {
  border-color: #fcc800 transparent transparent transparent
}

.a-balloon {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .a-balloon:hover {
    opacity: 1
  }
  .a-balloon:hover .a-balloon__txt {
    display: block
  }
}

.a-balloon.baloon-line .a-balloon__txt {
  border: 1px solid #005fa4;
  background-color: #ffffff;
  color: #005fa4;
  font-size: 16px;
  letter-spacing: 0.1em;
  padding: 3px;
  border-radius: 20px
}

.a-balloon.triangular .a-balloon__arrow {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block
}

.a-balloon.triangular .a-balloon__arrow:before {
  border-width: 14px 7px 0 7px;
  border-color: #005fa4 transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  display: block
}

.a-balloon.triangular .a-balloon__arrow:after {
  top: -2px;
  border-width: 14px 7px 0 7px;
  border-color: #ffffff transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .a-balloon.triangular.-etc-link:hover {
    opacity: 1
  }
  .a-balloon.triangular.-etc-link:hover .a-balloon__txt {
    display: none
  }
}

.a-balloon.triangular.-etc-link .a-balloon__arrow {
  display: none
}

@media only screen and (min-width: 768px), tv, print {
  .a-balloon.triangular.is-active.-etc-link {
    opacity: 1
  }
  .a-balloon.triangular.is-active.-etc-link .a-balloon__txt {
    display: block
  }
}

.a-balloon.triangular.is-active.-etc-link .a-balloon__arrow {
  display: block
}

.a-line.yellow-line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #fcc800));
  background: -webkit-linear-gradient(transparent 70%, #fcc800 0%);
  background: linear-gradient(transparent 70%, #fcc800 0%)
}

.a-arrowhead {
  position: relative;
  color: #ffffff;
  padding: 0;
  text-align: center;
  font-size: 14px
}

@media only screen and (max-width: 767px) {
  .a-arrowhead {
    font-size: 10px
  }
}

.a-arrowhead.junior1 {
  background-color: #95c51b
}

.a-arrowhead.junior1:before {
  border-color: transparent #95c51b transparent transparent
}

.a-arrowhead.junior1:after {
  border-color: transparent transparent transparent #95c51b
}

.a-arrowhead.junior2 {
  background-color: #00a43e
}

.a-arrowhead.junior2:before {
  border-color: transparent #00a43e transparent transparent
}

.a-arrowhead.junior2:after {
  border-color: transparent transparent transparent #00a43e
}

.a-arrowhead.juniorplus {
  background-color: #007130
}

.a-arrowhead.juniorplus:before {
  border-color: transparent #007130 transparent transparent
}

.a-arrowhead.juniorplus:after {
  border-color: transparent transparent transparent #007130
}

.a-arrowhead.core {
  background-color: #e79100
}

.a-arrowhead.core:before {
  border-color: transparent #e79100 transparent transparent
}

.a-arrowhead.core:after {
  border-color: transparent transparent transparent #e79100
}

.a-arrowhead.basic {
  background-color: #c8152d
}

.a-arrowhead.basic:before {
  border-color: transparent #c8152d transparent transparent
}

.a-arrowhead.basic:after {
  border-color: transparent transparent transparent #c8152d
}

.a-arrowhead.advanced {
  background-color: #007aba
}

.a-arrowhead.advanced:before {
  border-color: transparent #007aba transparent transparent
}

.a-arrowhead.advanced:after {
  border-color: transparent transparent transparent #007aba
}

.a-arrowhead.gtec {
  background-color: #005fa4
}

.a-arrowhead.gtec:before {
  border-color: transparent #005fa4 transparent transparent
}

.a-arrowhead.gtec:after {
  border-color: transparent transparent transparent #005fa4
}

.a-arrowhead.cbt {
  background-color: #1c3358
}

.a-arrowhead.cbt:before {
  border-color: transparent #1c3358 transparent transparent
}

.a-arrowhead.cbt:after {
  border-color: transparent transparent transparent #1c3358
}

.a-arrowhead.academic {
  background-color: #b80074
}

.a-arrowhead.academic:before {
  border-color: transparent #b80074 transparent transparent
}

.a-arrowhead.academic:after {
  border-color: transparent transparent transparent #b80074
}

.a-arrowhead.business {
  background-color: #7c8595
}

.a-arrowhead.business:before {
  border-color: transparent #7c8595 transparent transparent
}

.a-arrowhead.business:after {
  border-color: transparent transparent transparent #7c8595
}

.a-arrowhead.gjo {
  background-color: #399
}

.a-arrowhead.gjo:before {
  border-color: transparent #399 transparent transparent
}

.a-arrowhead.gjo:after {
  border-color: transparent transparent transparent #399
}

.a-arrowhead.-arrow-motion:before {
  border-width: 20px 15px 20px 0;
  content: "";
  margin: auto;
  position: absolute;
  margin-top: -7px;
  left: -15px;
  width: 0;
  height: 0;
  border-style: solid
}

@media only screen and (max-width: 767px) {
  .a-arrowhead.-arrow-motion:before {
    border-width: 15px 10px 15px 0;
    left: -10px
  }
}

.a-arrowhead.-arrow-motion:after {
  border-width: 20px 0px 20px 15px;
  content: "";
  margin: auto;
  position: absolute;
  margin-top: -32px;
  right: -15px;
  width: 0;
  height: 0;
  border-style: solid
}

@media only screen and (max-width: 767px) {
  .a-arrowhead.-arrow-motion:after {
    border-width: 15px 0px 15px 10px;
    right: -10px;
    margin-top: -24px
  }
}

@media only screen and (max-width: 767px) {
  .a-arrowhead.wide {
    padding: 2px 0;
    font-size: 12px
  }
  .a-arrowhead.wide:before {
    border-width: 20px 10px 20px 0;
    margin-top: -9px
  }
  .a-arrowhead.wide:after {
    border-width: 20px 0px 20px 10px;
    margin-top: -30px
  }
}

.a-arrowhead__txt {
  overflow: hidden;
  display: block;
  white-space: nowrap;
  position: relative;
  z-index: 3
}

.a-speach-balloon {
  background-repeat: no-repeat;
  display: block;
  position: relative;
  background-image: url(/gtec/junior/images/img_balloon.png);
  background-size: contain
}

@media only screen and (min-width: 768px), tv, print {
  .a-speach-balloon {
    width: 230px;
    height: 146px
  }
}

@media only screen and (max-width: 767px) {
  .a-speach-balloon {
    width: 176px;
    height: 115px
  }
}

.a-speach-balloon.-wide {
  background-image: url(/gtec/junior/images/balloon_wide.png)
}

@media only screen and (min-width: 768px), tv, print {
  .a-speach-balloon.-wide {
    width: 696px;
    height: 158px
  }
}

@media only screen and (max-width: 767px) {
  .a-speach-balloon.-wide {
    width: calc(100vw - 30px);
    height: 22.7vw
  }
}

.a-speach-balloon.-type-3 {
  background-image: url(/gtec/common/images/speach-balloon/type-3.png);
  width: 219px;
  height: 120px
}

.a-speach-balloon.-type-4 {
  background-image: url(/gtec/common/images/speach-balloon/type-4.png);
  width: 146px;
  height: 97px
}

.a-speach-balloon.-type-5 {
  background-image: url(/gtec/common/images/speach-balloon/type-5.png);
  width: 161px;
  height: 90px
}

.a-speach-balloon.-type-6 {
  background-image: url(/gtec/common/images/speach-balloon/type-6.png);
  width: 129px;
  height: 96px
}

.a-speach-balloon.-type-7 {
  background-image: url(/gtec/common/images/speach-balloon/type-7.png);
  width: 174px;
  height: 108px
}

.a-speach-balloon__inner {
  position: absolute;
  top: -5px;
  left: 0;
  right: 8px;
  bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.a-speach-balloon.-type-4 .a-speach-balloon__inner {
  bottom: 5px;
  right: 0
}

.a-speach-balloon.-type-5 .a-speach-balloon__inner {
  bottom: 0px;
  right: 0
}

.a-speach-balloon.-type-7 .a-speach-balloon__inner {
  bottom: 0px;
  right: 0
}

.a-speach-balloon__txt {
  color: #005fa4;
  font-weight: 600
}

.a-speach-balloon.-normal .a-speach-balloon__txt {
  text-align: left
}

@media only screen and (min-width: 768px), tv, print {
  .a-speach-balloon.-normal .a-speach-balloon__txt {
    letter-spacing: -0.05em;
    font-size: 20px;
    line-height: 1.3
  }
}

@media only screen and (max-width: 767px) {
  .a-speach-balloon.-normal .a-speach-balloon__txt {
    font-size: 18px;
    line-height: 1.3;
    padding: 0 0 0 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-speach-balloon.-wide .a-speach-balloon__txt {
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .a-speach-balloon.-wide .a-speach-balloon__txt {
    font-size: 12px
  }
}

.a-speach-balloon.-type-3 .a-speach-balloon__txt, .a-speach-balloon.-type-4 .a-speach-balloon__txt, .a-speach-balloon.-type-5 .a-speach-balloon__txt, .a-speach-balloon.-type-6 .a-speach-balloon__txt, .a-speach-balloon.-type-7 .a-speach-balloon__txt {
  font-size: 16px
}

.a-cell.bg-gray-1 {
  background-color: #f2f2f2
}

.a-cell.bg-gray-2 {
  background-color: #dae6f0
}

.a-cell.bg-gray-3 {
  background-color: #eeeeee
}

.a-cell.bg-gray-4 {
  background-color: #7d7d7d
}

.a-cell.bg-gray-5 {
  background-color: #9d9d9d
}

.a-cell.bg-gray-6 {
  background-color: #eeeeee
}

.a-cell.bg-gray-7 {
  background-color: #f2f2f2
}

.a-cell.bg-gray-8 {
  background-color: #707070
}

.a-cell.bg-bluegreen {
  background-color: #339999
}

@media only screen and (max-width: 767px) {
  .a-cell.-sp-top-aline {
    vertical-align: top
  }
}

.a-cell.-top-aline {
  vertical-align: top
}

.a-cell.bg-junior1 {
  background-color: #95c51b
}

.a-cell.bg-junior2 {
  background-color: #00a43e
}

.a-cell.bg-juniorplus {
  background-color: #007130
}

.a-cell.bg-blue {
  background-color: #005fa4
}

.a-cell.bg-junior1 {
  background-color: #95c51b
}

.a-cell.bg-junior2 {
  background-color: #00a43e
}

.a-cell.bg-juniorplus {
  background-color: #007130
}

.a-cell.bg-core {
  background-color: #e79100
}

.a-cell.bg-basic {
  background-color: #c8152d
}

.a-cell.bg-advanced {
  background-color: #007aba
}

.a-cell.bg-gtec {
  background-color: #005fa4
}

.a-cell.bg-cbt {
  background-color: #1c3358
}

.a-cell.bg-academic {
  background-color: #b80074
}

.a-cell.bg-business {
  background-color: #7c8595
}

.a-cell.bg-gjo {
  background-color: #399
}

.a-zoom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  border: 2px solid #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .a-zoom {
    width: 60px;
    height: 60px;
    border-radius: 6px
  }
  .a-zoom>img {
    margin-left: 4px
  }
}

@media only screen and (max-width: 767px) {
  .a-zoom {
    width: 30px;
    height: 30px;
    border-radius: 3px
  }
  .a-zoom>img {
    width: 16px;
    margin-left: 2px;
    height: auto
  }
}

@media only screen and (max-width: 767px) {
  .a-zoom.icon-sp45 {
    width: 45px;
    height: 45px
  }
  .a-zoom.icon-sp45>img {
    width: 28px
  }
}

.a-box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 150px;
  height: 150px;
  font-weight: bold;
  font-size: 16px;
  border-width: 2px;
  border-style: solid;
  text-align: center
}

.a-box.-white {
  background-color: #fff;
  border-color: #005fa4;
  color: #005fa4
}

.a-box.-blue {
  background-color: #005fa4;
  border-color: #fff;
  color: #fff
}

.a-box.-yellow {
  background-color: #fcc800;
  border-color: #005fa4;
  color: #005fa4
}

.a-box__upper {
  padding: 3px;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-color: inherit
}

.a-box__lower {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-preferred-size: 120px;
  flex-basis: 120px;
  height: 120px;
  line-height: 1.5
}

.a-pict {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .a-pict img {
    width: auto;
    max-width: 100%
  }
}

@media screen and (min-width: 410px) {
  .a-pict img {
    max-width: 375px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .a-pict img {
    width: 375px
  }
}

.a-pict span {
  font-size: 16px;
  line-height: 1.2;
  color: #005fa4;
  font-weight: bold;
  margin-left: 5px;
  margin-right: 5px;
  letter-spacing: 0.1em
}

.a-alert {
  padding: 10px 20px;
  background-color: #fcc800
}

.a-alert__head {
  color: #005ea4;
  font-size: 16px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .a-alert__head {
    line-height: 1.4
  }
}

.a-alert__head:before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 22px;
  margin-right: 5px;
  background-image: url(../images/icon_alert.png);
  background-repeat: no-repeat
}

.a-alert__text {
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .a-alert__text {
    margin-top: 10px;
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .a-img.-size-01 {
    height: 14px;
    width: auto
  }
}

.a-img.-va-pattern-01 {
  vertical-align: -2px !important
}

@media only screen and (max-width: 767px) {
  .a-img.-va-pattern-01 {
    vertical-align: -1px !important
  }
}

.m-gnav {
  border-top: 1px solid #005fa4;
  border-bottom: 5px solid #005fa4;
  background-color: #fff
}

@media only screen and (max-width: 767px) {
  .m-gnav {
    display: none
  }
}

.m-gnav.base .m-gnav__item a:hover {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-gtec_about .m-gnav.base .m-gnav__item.gtec_about a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-merit .m-gnav.base .m-gnav__item.merit a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-lineup .m-gnav.base .m-gnav__item.lineup a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-schools .m-gnav.base .m-gnav__item.schools a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-voice .m-gnav.base .m-gnav__item.voice a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-policy .m-gnav.base .m-gnav__item.policy a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-en .m-gnav.base .m-gnav__item.en a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.pg-lnav-select .m-gnav.base .m-gnav__item.select a {
  margin-left: -1px;
  margin-right: -1px;
  background-color: #338dd5
}

.m-gnav.under .m-gnav__list {
  padding-top: 0
}

.m-gnav.under .m-gnav__item:hover {
  opacity: 0.7
}

.m-gnav.under .m-gnav__item a {
  color: #005fa4;
  -webkit-transition-property: opacity;
  transition-property: opacity
}

.m-gnav.under .m-gnav__item a .m-gnav__txt {
  color: #005fa4;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1;
  display: block
}

.m-gnav.under .m-gnav__item a .m-gnav__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.m-gnav.under .m-gnav__item.is-active a {
  background-color: #005fa4;
  color: #fff
}

.pg-lnav-junior .m-gnav.under .m-gnav__item.junior {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-junior .m-gnav.under .m-gnav__item.junior a {
  color: #fff
}

.pg-lnav-junior .m-gnav.under .m-gnav__item.junior a .m-gnav__txt {
  color: #fff
}

.pg-lnav-junior .m-gnav.under .m-gnav__item.junior a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-fs .m-gnav.under .m-gnav__item.fs {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-fs .m-gnav.under .m-gnav__item.fs a {
  color: #fff
}

.pg-lnav-fs .m-gnav.under .m-gnav__item.fs a .m-gnav__txt {
  color: #fff
}

.pg-lnav-fs .m-gnav.under .m-gnav__item.fs a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-overview .m-gnav.under .m-gnav__item.overview {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-overview .m-gnav.under .m-gnav__item.overview a {
  color: #fff
}

.pg-lnav-overview .m-gnav.under .m-gnav__item.overview a .m-gnav__txt {
  color: #fff
}

.pg-lnav-overview .m-gnav.under .m-gnav__item.overview a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-question .m-gnav.under .m-gnav__item.question {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-question .m-gnav.under .m-gnav__item.question a {
  color: #fff
}

.pg-lnav-question .m-gnav.under .m-gnav__item.question a .m-gnav__txt {
  color: #fff
}

.pg-lnav-question .m-gnav.under .m-gnav__item.question a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-score .m-gnav.under .m-gnav__item.score {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-score .m-gnav.under .m-gnav__item.score a {
  color: #fff
}

.pg-lnav-score .m-gnav.under .m-gnav__item.score a .m-gnav__txt {
  color: #fff
}

.pg-lnav-score .m-gnav.under .m-gnav__item.score a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-sample .m-gnav.under .m-gnav__item.sample {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-sample .m-gnav.under .m-gnav__item.sample a {
  color: #fff
}

.pg-lnav-sample .m-gnav.under .m-gnav__item.sample a .m-gnav__txt {
  color: #fff
}

.pg-lnav-sample .m-gnav.under .m-gnav__item.sample a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-voice .m-gnav.under .m-gnav__item.voice {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-voice .m-gnav.under .m-gnav__item.voice a {
  color: #fff
}

.pg-lnav-voice .m-gnav.under .m-gnav__item.voice a .m-gnav__txt {
  color: #fff
}

.pg-lnav-voice .m-gnav.under .m-gnav__item.voice a .m-gnav__img {
  bottom: 0;
  top: auto
}

.pg-lnav-product .m-gnav.under .m-gnav__item.product {
  margin-left: -1px;
  background-color: #005fa4
}

.pg-lnav-product .m-gnav.under .m-gnav__item.product a {
  color: #fff
}

.pg-lnav-product .m-gnav.under .m-gnav__item.product a .m-gnav__txt {
  color: #fff
}

.pg-lnav-product .m-gnav.under .m-gnav__item.product a .m-gnav__img {
  bottom: 0;
  top: auto
}

.m-gnav.under .m-gnav__item:first-child {
  -ms-flex-preferred-size: 325px;
  flex-basis: 325px;
  max-width: 325px
}

.m-gnav.under .m-gnav__item:first-child>a {
  padding-top: 13px;
  padding-bottom: 14px
}

@media only screen and (max-width: 767px) {
  .m-gnav.en-score {
    display: block
  }
}

.m-gnav.gjo {
  border-bottom-color: #339999
}

.m-gnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 2px
}

.m-gnav.en-score .m-gnav__list {
  background-color: #005fa4
}

@media only screen and (max-width: 767px) {
  .m-gnav.en-score .m-gnav__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.m-gnav.central .m-gnav__list {
  padding-top: 0;
  background-color: #005fa4
}

.m-gnav__item {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.m-gnav__item:after {
  position: absolute;
  top: 10px;
  bottom: 10px;
  right: 0;
  width: 1px;
  background-color: #005fa4;
  content: ""
}

.m-gnav.central .m-gnav__item:after {
  content: none
}

.m-gnav__item a {
  display: block;
  padding: 20px 0;
  color: #fff;
  text-align: center;
  text-decoration: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  letter-spacing: 1px
}

.m-gnav__item.is-active:after {
  content: none
}

.m-gnav__item.is-active a {
  background-color: #fff;
  color: #005fa4
}

.m-gnav.en-score .m-gnav__item:not(:last-child):after {
  background-color: #fff
}

@media only screen and (max-width: 767px) {
  .m-gnav.en-score .m-gnav__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.m-gnav.central .m-gnav__item {
  border-right: 1px solid #fff
}

.m-gnav.central .m-gnav__item:last-child {
  border-right: none
}

.m-gnav__item:first-child:before {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 1px;
  background-color: #2687d6;
  content: ""
}

.m-gnav.central .m-gnav__item:first-child:before {
  content: none
}

.m-gnav.central .m-gnav__item:first-child {
  color: #fff;
  -ms-flex-preferred-size: 330px;
  flex-basis: 330px;
  max-width: 330px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.05em
}

@media only screen and (min-width: 768px), tv, print {
  .m-gnav__item.item-2 .m-gnav__balloon-txt {
    top: -48px;
    left: 0;
    right: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-gnav__item.item-3 .m-gnav__balloon-txt {
    top: -48px;
    left: -40px;
    right: -40px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-gnav__item.item-4 .m-gnav__balloon-txt {
    top: -48px;
    left: -60px;
    right: -60px
  }
}

.m-gnav.under.gjo .m-gnav__item {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

.m-gnav.under.gjo .m-gnav__item:first-child {
  padding: 5px 0;
  background-color: #339999;
  text-align: center;
  color: #fff;
  font-size: 12px
}

@media only screen and (min-width: 768px), tv, print {
  .m-gnav.under.gjo .m-gnav__item:first-child {
    -ms-flex-preferred-size: 260px;
    flex-basis: 260px;
    max-width: 260px
  }
  .m-gnav.under.gjo .m-gnav__item:first-child:hover {
    opacity: 1
  }
}

.m-gnav.under.gjo .m-gnav__item:first-child:after {
  display: none
}

.m-gnav.under.gjo .m-gnav__item:first-child .m-gnav__txt {
  display: block;
  margin-bottom: 5px
}

@media only screen and (min-width: 768px), tv, print {
  .m-gnav.under.gjo .m-gnav__item:nth-child(4) .m-gnav__balloon-txt {
    top: -48px
  }
}

.m-gnav.under.gjo .m-gnav__item:hover {
  opacity: 1
}

.m-gnav.under.gjo .m-gnav__item:hover .m-gnav__item__inner {
  opacity: 0.7
}

.m-gnav.under.gjo .m-gnav__item:hover .m-gnav__balloon-txt {
  opacity: 1
}

.m-gnav.under.gjo .m-gnav__item a {
  letter-spacing: -0.5px
}

.m-gnav__imgbox {
  text-align: center;
  position: relative;
  max-width: 102px;
  margin: auto;
  overflow: hidden;
  display: block
}

.m-gnav__imgbox:before {
  display: block;
  padding-top: 13.75%;
  content: ""
}

.m-gnav.gjo .m-gnav__imgbox {
  max-width: none
}

.m-gnav.gjo .m-gnav__imgbox:before {
  display: none
}

.m-breadcrumb {
  padding: 8px 0;
  background-color: #f0f0f0
}

@media only screen and (max-width: 767px) {
  .m-breadcrumb {
    display: none
  }
}

.m-breadcrumb ul li {
  display: inline-block;
  line-height: 24px
}

.m-breadcrumb ul li a {
  color: #005fa4
}

.m-breadcrumb ul li:after {
  font-size: 12px;
  content: " > "
}

.m-breadcrumb ul li:last-child:after {
  content: none
}

.m-breadcrumb.under {
  padding: 4px 0;
  background-color: #fff
}

.m-breadcrumb.under ul li {
  color: #262626;
  font-size: 12px
}

.m-breadcrumb.under ul li a {
  color: inherit;
  text-decoration: none
}

.m-breadcrumb.under ul li a:hover {
  text-decoration: underline
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05 {
    padding: 30px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05+.m-feature-05 {
    border-top: 1px solid #dcdcdc
  }
}

.m-feature-05__mainimage {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__mainimage {
    margin: 15px 0 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__mainimage {
    margin: 0 0 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__title-profile {
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__title-profile {
    margin-bottom: 15px
  }
}

.m-feature-05__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (max-width: 767px) {
  .m-feature-05__box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__tile {
    margin-bottom: 30px
  }
}

.m-feature-05__lead {
  margin-bottom: 15px
}

.m-feature-05__avatar {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__avatar {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 440px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__avatar {
    margin: 0 auto 25px;
    width: 80%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__imgbox {
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__imgbox {
    margin-bottom: 8px
  }
}

.m-feature-05__img {
  border-radius: 50%
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__img {
    width: 320px
  }
}

.m-feature-05__name {
  display: block;
  margin-bottom: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__name {
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__name {
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__contents {
    min-width: 0;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 520px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__contents {
    width: 100%
  }
}

.m-feature-05__profile {
  border-bottom: 2px dashed #005fa4;
  width: 100%
}

.m-feature-05__profile th, .m-feature-05__profile td {
  border-top: 2px dashed #005fa4;
  vertical-align: top
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-05__profile th, .m-feature-05__profile td {
    padding: 15px 0;
    height: 80px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-05__profile th, .m-feature-05__profile td {
    padding: 10px 0
  }
}

.m-feature-05__profile th {
  text-align: left
}

.m-feature-05__profile__inner th {
  padding-right: 15px
}

.m-feature-05__profile__inner th, .m-feature-05__profile__inner td {
  padding-top: 0;
  padding-bottom: 0;
  border-top: none;
  height: auto
}

@media only screen and (max-width: 767px) {
  .m-feature-05+.m-feature-05 {
    margin-top: 5px;
    border-top: 1px solid #dcdcdc
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06 {
    padding-bottom: 40px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__titlebox {
    margin: 40px 0 0
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__titlebox {
    padding: 28px 0 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__contents {
    margin: 17px 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__box {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__box:first-child {
    padding-right: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__box:last-child {
    padding-left: 20px
  }
}

.m-feature-06__box-contets {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__box-contets {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    -webkit-transition: opacity 0.8s, left 0.8s;
    transition: opacity 0.8s, left 0.8s;
    opacity: 0;
    position: relative;
    left: 30px
  }
  .m-feature-06__box-contets.is-active {
    opacity: 1;
    left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__box-contets {
    padding: 13px 0 8px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__box-contets:first-child {
    padding-right: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__box-contets:last-child {
    padding-left: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__listbox {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
  }
}

.m-feature-06__btnbox>a {
  font-size: 16px;
  width: 320px;
  margin: 0 auto
}

@media only screen and (max-width: 767px) {
  .m-feature-06__btnbox>a {
    width: 100%
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__btnbox {
    margin-bottom: 18px
  }
}

.m-feature-06+.m-feature-06 {
  border-top: 1px solid #e4e4e4
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__link-list>ul {
    width: 575px;
    margin: auto;
    margin-bottom: 35px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__link-list>ul {
    margin-bottom: 22px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__link-list>ul>li {
    padding: 0;
    -ms-flex-preferred-size: 135px;
    flex-basis: 135px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__link-list>ul>li {
    padding: 0
  }
}

.m-feature-06__link-list>ul>li>a {
  font-size: 16px;
  line-height: 1;
  display: block;
  text-align: center;
  letter-spacing: 0.1em;
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__link-list>ul>li>a {
    width: 135px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__link-list>ul>li>a {
    font-size: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 14.5px 13px;
    text-decoration: none
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__link-list>ul>li>a:hover {
    text-decoration: none
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-06__link-list>ul>li>a:after {
    padding-right: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__link-list>ul>li.item-3 {
    -ms-flex-preferred-size: 170px;
    flex-basis: 170px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__link-list>ul>li.item-3>a {
    width: 170px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-06__unit {
    -webkit-transition: opacity 0.8s, top 0.8s;
    transition: opacity 0.8s, top 0.8s;
    opacity: 0;
    position: relative;
    top: 30px
  }
  .m-feature-06__unit.is-active {
    opacity: 1;
    top: 0
  }
}

.m-feature-07 {
  border: 1px solid #e5e5e5;
  padding: 20px
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-07 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 45px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-07__picture {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-07__picture.-has-add-img {
    position: relative;
    max-width: 308px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-07__content {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    margin-left: 40px
  }
}

.m-feature-07__title {
  margin-top: 10px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5
}

@media only screen and (max-width: 767px) {
  .m-feature-07__title {
    margin-top: 20px;
    font-size: 18px
  }
}

.m-feature-07__desc {
  margin-top: 20px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .m-feature-07__desc {
    margin-top: 10px;
    font-size: 12px
  }
}

.m-feature-07__annotation {
  margin-top: 20px;
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em
}

@media only screen and (max-width: 767px) {
  .m-feature-07__annotation {
    margin-top: 10px;
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-07__picture__add-img {
    position: relative;
    left: -50px;
    top: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-07__picture__add-img {
    position: absolute;
    right: 0;
    bottom: -50px
  }
}

.m-feature-07__add-img {
  margin-top: 15px
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-07__add-img {
    width: 200px
  }
}

@media only screen and (max-width: 767px) {
  .m-feature-07__add-img {
    max-width: 310px;
    margin: 30px auto
  }
}

.m-feature-08 {
  background-color: #f2f2f2;
  padding: 30px 0;
  border-radius: 5px
}

.m-feature-08__heading {
  text-align: center;
  font-size: 16px;
  padding: 0 15px
}

@media only screen and (max-width: 767px) {
  .m-feature-08__heading {
    font-size: 12px
  }
}

.m-feature-08__buttons {
  margin-top: 20px;
  width: 100%
}

@media only screen and (min-width: 768px), tv, print {
  .m-feature-08__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.m-feature-08__buttons>li {
  -ms-flex-preferred-size: 33.3333333%;
  flex-basis: 33.3333333%;
  padding: 0px 10px
}

@media only screen and (max-width: 767px) {
  .m-feature-08__buttons>li {
    padding-top: 5px
  }
}

.m-block-01 {
  overflow: hidden
}

.m-block-01.type-01 {
  padding: 11px 10px
}

@media only screen and (max-width: 767px) {
  .m-block-01.type-01 {
    padding: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-block-01__inner {
    overflow: hidden
  }
}

.m-block-01__thumb {
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-block-01__thumb>img {
    width: 100%
  }
}

.m-title-01 {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-01 {
    margin-bottom: 45px
  }
}

.m-title-01__title {
  color: #005fa4;
  margin-bottom: 20px;
  letter-spacing: 0.075em
}

@media only screen and (max-width: 767px) {
  .m-title-01__title {
    line-height: 1.55;
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-01__sub-title {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-01__sub-title {
    font-size: 13px;
    line-height: 1.3;
    margin: 0 0 13px
  }
}

.m-title-01__thumb {
  position: absolute;
  top: -80px;
  right: 80px;
  text-align: right
}

@media only screen and (max-width: 767px) {
  .m-title-01__thumb {
    top: -45px;
    right: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-01__thumb>img {
    width: 140px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-01__thumb>img {
    width: 75px
  }
}

.m-title-01__txt {
  font-size: 20px;
  line-height: 1.5;
  padding: 10px 0 5px
}

@media only screen and (max-width: 767px) {
  .m-title-01__txt {
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: 0.1em;
    padding: 8px 0 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-02 {
    margin-bottom: 32px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-02 {
    text-align: center;
    width: 100%;
    padding: 25px 0 0
  }
}

.m-title-02__label {
  width: 75px;
  padding: 2px 0;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-title-02__label {
    width: 57px;
    font-size: 10px
  }
}

.m-title-02__title {
  line-height: 1.5
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-02__title {
    padding: 8px 0
  }
}

@media only screen and (max-width: 767px) {
  .m-title-02__title {
    margin: 21px 0;
    line-height: 1.35
  }
}

.m-title-03 {
  position: relative;
  padding: 5px 0 5px 28px;
  font-size: 28px;
  border-bottom: 1px solid #dcdcdc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .m-title-03 {
    padding-left: 15px;
    font-size: 18px;
    line-height: 1.35
  }
}

.m-title-03:before {
  position: absolute;
  left: 0;
  top: 0.5em;
  bottom: 0.5em;
  content: "";
  display: inline-block;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 6px;
  background-color: #005fa4;
  border-radius: 3px;
  margin-right: 22px
}

@media only screen and (max-width: 767px) {
  .m-title-03:before {
    margin-right: 10px
  }
}

.m-title-04__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04__title {
    letter-spacing: 0.075em;
    line-height: 1.45;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
}

@media only screen and (max-width: 767px) {
  .m-title-04__title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04__img {
    width: 20%
  }
}

@media only screen and (max-width: 767px) {
  .m-title-04__img {
    width: 31%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04__img-big {
    width: 39%
  }
}

@media only screen and (max-width: 767px) {
  .m-title-04__img-big {
    width: 64%
  }
}

.m-title-04__label {
  margin-left: 10px;
  padding: 0 10px;
  letter-spacing: 0.075em
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04__label {
    display: block;
    font-size: 13px;
    line-height: 1.7
  }
}

@media only screen and (max-width: 767px) {
  .m-title-04__label {
    font-size: 11px;
    line-height: 1.8
  }
}

.m-title-04__desc {
  letter-spacing: 0.075em
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04__desc {
    display: block;
    font-size: 24px;
    line-height: 1.25;
    margin-top: 17px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-04__desc {
    font-size: 14px;
    line-height: 1.7;
    margin: 20px 0;
    display: block
  }
}

.m-title-04.top-sub-ttl .m-title-04__title {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04.top-sub-ttl .m-title-04__title {
    width: 192px;
    margin: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-title-04.top-sub-ttl .m-title-04__title {
    margin: 0 auto;
    text-align: center
  }
}

.m-title-04.top-sub-ttl .m-title-04__title>img {
  width: 100%
}

@media only screen and (max-width: 767px) {
  .m-title-04.top-sub-ttl .m-title-04__title>img {
    width: 31%
  }
}

.m-title-04.top-sub-ttl .m-title-04__label {
  display: block;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-title-04.top-sub-ttl .m-title-04__label {
    margin: 0 auto 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-04.top-sub-ttl .m-title-04__label {
    margin: 0 auto 10px
  }
}

.m-title-05 {
  padding: 5px 0;
  font-size: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .m-title-05 {
    font-size: 14px;
    line-height: 1.7;
    position: relative;
    padding-left: 10px
  }
}

.m-title-05:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 16px;
  background-color: #005fa4;
  border-radius: 3px;
  margin-right: 12px
}

@media only screen and (max-width: 767px) {
  .m-title-05:before {
    position: absolute;
    left: 0px;
    top: 10px;
    height: 14px
  }
}

.m-title-06 {
  margin-bottom: 15px
}

.m-title-06.-panel-box {
  margin-top: 30px
}

@media only screen and (max-width: 767px) {
  .m-title-06.-panel-box {
    margin-top: 0
  }
}

.m-title-06__icon {
  margin-right: 15px;
  width: 40px;
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .m-title-06__icon {
    margin-right: 10px
  }
}

.m-title-06__text {
  margin-right: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #005fa4;
  letter-spacing: 1px
}

@media only screen and (max-width: 767px) {
  .m-title-06__text {
    margin-right: 5px;
    font-size: 16px
  }
}

.m-title-06__sub {
  font-size: 12px;
  font-weight: bold;
  color: #818181
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-06__sub {
    letter-spacing: 1px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-06__sub {
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-06__desc {
    padding-left: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-06__desc {
    padding-left: 0;
    padding-top: 10px;
    display: block
  }
}

.m-title-07 {
  color: #005fa4;
  line-height: 1.5;
  letter-spacing: 0.075em;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-07 {
    font-size: 24px;
    padding-bottom: 18px;
    border-bottom: 5px solid #005fa4
  }
}

@media only screen and (max-width: 767px) {
  .m-title-07 {
    font-size: 18px;
    padding-bottom: 9px;
    border-bottom: 3px solid #005fa4
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-07.title-1 {
    margin-top: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-07.title-1 {
    margin-top: 40px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-07.en-score {
    line-height: 1.4;
    letter-spacing: 0;
    padding-bottom: 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-07.en-score {
    line-height: 1.4;
    letter-spacing: 0;
    padding-bottom: 5px
  }
}

.m-title-07.-junior1 {
  color: #95c51b;
  border-bottom-color: #95c51b
}

.m-title-07.-junior2 {
  color: #00a43e;
  border-bottom-color: #00a43e
}

.m-title-07.-juniorplus {
  color: #007130;
  border-bottom-color: #007130
}

.m-title-07.-core {
  color: #e79100;
  border-bottom-color: #e79100
}

.m-title-07.-basic {
  color: #c8152d;
  border-bottom-color: #c8152d
}

.m-title-07.-advanced {
  color: #007aba;
  border-bottom-color: #007aba
}

.m-title-07.-gtec {
  color: #005fa4;
  border-bottom-color: #005fa4
}

.m-title-07.-cbt {
  color: #1c3358;
  border-bottom-color: #1c3358
}

.m-title-07.-academic {
  color: #b80074;
  border-bottom-color: #b80074
}

.m-title-07.-business {
  color: #7c8595;
  border-bottom-color: #7c8595
}

.m-title-07.-gjo {
  color: #399;
  border-bottom-color: #399
}

.m-title-07.-no-border {
  border-bottom: 0px;
  padding-bottom: 0px
}

.m-title-07__label {
  vertical-align: text-bottom
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-07__label {
    margin-left: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-07__label {
    margin-left: 15px
  }
}

.m-title-08 {
  color: #005fa4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-08 {
    padding: 55px 0 25px;
    font-size: 28px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-08 {
    padding: 20px 30px 20px;
    font-size: 18px
  }
}

.m-title-08.-has-subtitle {
  display: block
}

@media only screen and (max-width: 767px) {
  .m-title-08.-has-subtitle {
    font-size: 17px
  }
}

.m-title-08__txt {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-08__subtitle {
    margin-bottom: 10px;
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-08__subtitle {
    margin-bottom: 5px;
    font-size: 12px
  }
}

.m-title-09 {
  color: #005fa4;
  font-weight: bold;
  position: relative;
  line-height: 1.5em;
  padding-left: 1.5em
}

.m-title-09:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.25em;
  height: 1em;
  width: 1em;
  background-color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-09 {
    font-size: 18px;
    margin: 30px auto 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-09 {
    font-size: 14px;
    margin: 30px 15px 15px
  }
}

.m-title-09.-txt-black {
  color: #000
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-09.-sp-noindent {
    margin-left: 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-09.-sp-noindent {
    margin-left: 0;
    margin-right: 0
  }
}

.m-title-09__desc {
  display: block;
  color: #000;
  font-weight: normal
}

@media only screen and (min-width: 768px), tv, print {
  .m-title-09__desc {
    margin-top: 10px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-title-09__desc {
    margin-top: 5px;
    font-size: 12px
  }
}

.m-stripe {
  background-repeat: repeat-x;
  text-align: center
}

.m-stripe.-bg-blue {
  background-color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-bg-blue {
    background-image: url(/gtec/common/images/bg_title_blue_pc.png)
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-bg-blue {
    background-image: url(/gtec/common/images/bg_title_blue_sp.png);
    background-size: 12px auto
  }
}

.m-stripe.-bg-yellow {
  background-color: #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-bg-yellow {
    background-image: url(/gtec/common/images/bg_title_yellow_pc.png)
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-bg-yellow {
    background-image: url(/gtec/common/images/bg_title_yellow_sp.png);
    background-size: 12px auto
  }
}

.m-stripe.-bg-lightgray {
  display: block;
  background-color: #f2f2f2
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-bg-lightgray {
    background-image: url(/gtec/common/images/bg_title_lightblue_pc.png)
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-bg-lightgray {
    background-image: url(/gtec/common/images/bg_title_lightblue_sp.png);
    background-size: 13px auto
  }
}

.m-stripe.-bg-lightgray-plain {
  display: block;
  background-color: #f2f2f2
}

.m-stripe.-bg-navy {
  display: block;
  background-color: #1c3358;
  background-image: url(/gtec/common/images/bg_title_navy_pc.png)
}

@media only screen and (max-width: 767px) {
  .m-stripe.-bg-navy {
    background-size: 13px auto
  }
}

.m-stripe.-bg-red {
  display: block;
  background-color: #a72259
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-bg-red {
    background-image: url(/gtec/common/images/bg_title_red_pc.png)
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-bg-red {
    background-image: url(/gtec/common/images/bg_title_red_sp.png);
    background-size: 13px auto
  }
}

.m-stripe.-bg-brown {
  display: block;
  background-color: #9c4e2c
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-bg-brown {
    background-image: url(/gtec/common/images/bg_title_brown_pc.png)
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-bg-brown {
    background-image: url(/gtec/common/images/bg_title_brown_sp.png);
    background-size: 13px auto
  }
}

.m-stripe.-bg-bluegreen {
  background-color: #339999;
  background-image: url(/gtec/junior/gjo/common/images/bg_about.png)
}

.m-stripe.-top-border {
  border-top: 8px solid #00589a
}

@media only screen and (max-width: 767px) {
  .m-stripe.-top-border {
    border-top-width: 4px
  }
}

.m-stripe.-has-triangle {
  position: relative
}

.m-stripe.-has-triangle:after {
  z-index: 100;
  bottom: -20px;
  border-width: 20px 30px 0 30px;
  border-color: #005fa4 transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid
}

@media only screen and (max-width: 767px) {
  .m-stripe.-has-triangle:after {
    bottom: -10px;
    border-width: 10px 15px 0 15px
  }
}

.m-stripe.-has-triangle.-bg-blue:after {
  border-color: #005fa4 transparent transparent transparent
}

.m-stripe.-has-triangle.-bg-yellow:after {
  border-color: #fcc800 transparent transparent transparent
}

.m-stripe.-has-triangle.-bg-lightgray:after {
  border-color: #f2f2f2 transparent transparent transparent
}

.m-stripe.-has-triangle.-bg-navy:after {
  border-color: #1c3358 transparent transparent transparent
}

.m-stripe.-has-triangle.-bg-red:after {
  border-color: #a72259 transparent transparent transparent
}

.m-stripe.-has-triangle.-bg-brown:after {
  border-color: #9c4e2c transparent transparent transparent
}

.m-stripe.-has-triangle.-bg-bluegreen:after {
  border-color: #339999 transparent transparent transparent
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-has-triangle.-triangle-type-2:after {
    bottom: -35px;
    border-width: 45px 40px 0 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-has-triangle.-triangle-type-2:after {
    bottom: -15px;
    border-width: 25px 25px 0 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-has-triangle.-triangle-type-3:after {
    bottom: -25px;
    border-width: 25px 40px 0 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-has-triangle.-triangle-type-3:after {
    bottom: -15px;
    border-width: 15px 25px 0 25px
  }
}

.m-stripe.-has-label {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-1 {
    padding-top: 60px;
    padding-bottom: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-1 {
    padding-top: 15px;
    padding-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-2 {
    padding-top: 50px;
    padding-bottom: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-2 {
    padding-top: 25px;
    padding-bottom: 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-3 {
    padding: 55px 0 64px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-3 {
    padding: 25px 0 40px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-4 {
    padding: 60px 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-4 {
    padding: 30px 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-5 {
    margin-left: -20px;
    margin-right: -20px;
    min-height: auto
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-5 {
    min-height: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-6 {
    padding: 22px;
    background-position: 0 -80px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-6 {
    padding: 17px;
    background-position: 0 -20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-7 {
    padding: 22px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-7 {
    padding: 17px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-8 {
    padding: 60px 0 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-8 {
    padding: 30px 25px
  }
}

.m-stripe__heading {
  border-bottom: none;
  text-align: center;
  color: #212121;
  line-height: 1.3;
  padding-top: 0.3em;
  padding-bottom: 0.3em
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__heading {
    font-size: 23px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__heading {
    font-size: 14px;
    line-height: 1.4
  }
}

.m-stripe.-bg-blue .m-stripe__heading {
  color: #fff
}

.m-stripe__heading.-strong {
  display: inline-block;
  border-bottom: 10px solid #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__heading.-strong {
    font-size: 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__heading.-strong {
    font-size: 20px;
    border-width: 6px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-strong.-size-type-4 .m-stripe__heading.-strong {
    font-size: 36px
  }
}

@media only screen and (max-width: 767px) {
  .m-strong.-size-type-4 .m-stripe__heading.-strong {
    border-bottom-width: 6px;
    font-size: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-size-type-6 .m-stripe__heading.-strong, .m-stripe.-size-type-7 .m-stripe__heading.-strong {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-size-type-6 .m-stripe__heading.-strong, .m-stripe.-size-type-7 .m-stripe__heading.-strong {
    font-size: 18px
  }
}

.m-stripe__heading.-blue40 {
  color: #005fa4;
  font-size: 40px;
  letter-spacing: 0.075em;
  line-height: 1.25
}

@media only screen and (max-width: 767px) {
  .m-stripe__heading.-blue40 {
    font-size: 20px
  }
}

.m-stripe__heading.-white40 {
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__heading.-white40 {
    font-size: 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__heading.-white40 {
    font-size: 20px
  }
}

.m-stripe__heading.-sp-large {
  padding-left: 15px;
  padding-right: 15px;
  font-weight: 600
}

@media only screen and (max-width: 767px) {
  .m-stripe__heading.-sp-large {
    font-size: 16px
  }
}

.m-stripe.-bg-navy .m-stripe__heading, .m-stripe.-bg-red .m-stripe__heading, .m-stripe.-bg-brown .m-stripe__heading {
  color: #fff;
  font-weight: normal
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__em {
    font-size: 31px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__em {
    font-size: 16px
  }
  .m-stripe__heading.-sp-large .m-stripe__em {
    font-size: 18px
  }
}

.m-stripe__em.-blue {
  color: #005FA4
}

.m-stripe__sub {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__sub {
    margin: 10px 0
  }
  .m-stripe__sub.-large {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__sub {
    margin: 5px 0 10px
  }
  .m-stripe__sub.-large {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px
  }
  .m-stripe__sub.-sp-left {
    text-align: left
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__sub.-top-footer {
    text-align: left
  }
}

.m-stripe__btn {
  margin-left: auto;
  margin-right: auto
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__btn {
    width: 310px
  }
  .m-stripe__btn.-abroad {
    width: 375px
  }
  .m-stripe__btn.-abroad2 {
    width: 442px
  }
  .m-stripe__btn.-abroad3 {
    width: 732px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__btn {
    max-width: 300px;
    width: calc( 100vw - 75px)
  }
}

.m-stripe__txt {
  color: #ffffff;
  text-align: justify
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe__txt {
    font-size: 16px;
    margin-top: 40px
  }
  .m-stripe__txt.-pc-center {
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe__txt {
    font-size: 14px;
    letter-spacing: 0.075em;
    line-height: 1.5;
    margin-top: 20px
  }
}

.m-stripe.-has-label .m-stripe__label {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .m-stripe.-has-label .m-stripe__label {
    right: 50px;
    top: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-stripe.-has-label .m-stripe__label {
    right: 10px;
    top: 15px
  }
}

@media only screen and (max-width: 374px) {
  .m-stripe.-has-label .m-stripe__label {
    position: static;
    margin-left: 5px
  }
}

.m-ordered-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.m-ordered-title.-blue-number {
  margin-bottom: 50px
}

@media only screen and (max-width: 767px) {
  .m-ordered-title.-blue-number {
    margin-bottom: 20px
  }
}

.m-ordered-title__number {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 75px;
  height: 75px;
  margin-right: 15px;
  border-radius: 50%;
  background-color: #fcc800;
  color: #005fa4;
  font-size: 36px;
  line-height: 75px;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-ordered-title__number {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-size: 20px;
    line-height: 40px
  }
}

.m-ordered-title.-border-white .m-ordered-title__number {
  line-height: 1.75
}

@media only screen and (min-width: 768px), tv, print {
  .m-ordered-title.-border-white .m-ordered-title__number {
    width: 92px;
    height: 92px;
    border: 6px solid #fff;
    font-size: 37px;
    line-height: 80px
  }
}

@media only screen and (max-width: 767px) {
  .m-ordered-title.-border-white .m-ordered-title__number {
    width: 36px;
    height: 36px;
    border: 3px solid #fff;
    font-size: 14px;
    line-height: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-ordered-title.-number-small .m-ordered-title__number {
    width: 56px;
    height: 56px;
    font-size: 26px;
    line-height: 56px
  }
}

@media only screen and (max-width: 767px) {
  .m-ordered-title.-number-small .m-ordered-title__number {
    width: 28px;
    height: 28px;
    font-size: 14px;
    line-height: 28px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-ordered-title.-number-middle .m-ordered-title__number {
    width: 60px;
    height: 60px;
    font-size: 28px;
    line-height: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-ordered-title.-number-middle .m-ordered-title__number {
    width: 30px;
    height: 30px;
    font-size: 14px;
    line-height: 30px
  }
}

.m-ordered-title.-blue-number .m-ordered-title__number {
  font-size: 18px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  background-color: #005fa4;
  color: #fff
}

.m-ordered-title__title {
  color: #005fa4;
  font-size: 30px;
  line-height: 1.25;
  font-weight: bold;
  letter-spacing: 0.075em
}

@media only screen and (max-width: 767px) {
  .m-ordered-title__title {
    font-size: 16px
  }
}

.m-ordered-title.-light .m-ordered-title__title {
  font-weight: normal;
  letter-spacing: 0
}

.m-ordered-title.-centered .m-ordered-title__title {
  text-align: center
}

.m-ordered-title.-blue-number .m-ordered-title__title {
  font-size: 18px;
  color: #000;
  font-weight: normal;
  letter-spacing: 0.05em
}

@media only screen and (max-width: 767px) {
  .m-ordered-title.-blue-number .m-ordered-title__title {
    font-size: 14px;
    text-align: left
  }
}

.m-modal {
  display: none
}

.m-modal__box {
  max-width: 690px;
  padding: 20px;
  text-align: left
}

.m-modal__box.center {
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-modal.-img .m-modal__box {
    max-width: none;
    width: 90vh;
    height: 80vh
  }
}

.m-news {
  margin: 25px 0 0
}

@media only screen and (max-width: 767px) {
  .m-news {
    margin: 12px 0 0
  }
}

.m-news.-important {
  margin-top: 0;
  margin-left: auto;
  margin-right: auto
}

.m-news__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.m-news__heading {
  letter-spacing: 0.05em
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__heading {
    line-height: 28px;
    font-size: 20px;
    padding: 20px;
    min-width: 15%
  }
}

@media only screen and (max-width: 767px) {
  .m-news__heading {
    font-size: 16px;
    padding: 12px 0px 12px 15px;
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__items {
    min-width: 85%
  }
}

@media only screen and (max-width: 767px) {
  .m-news__items {
    min-width: calc(100vw - 80px);
    max-width: calc(100vw - 80px)
  }
}

.m-news__item {
  display: block;
  margin-bottom: 15px
}

.m-news.kv-news .m-news__item {
  margin-bottom: 0
}

.m-news__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__inner {
    padding: 13px 0 13px 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-news__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 7px 22px 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-news.kv-news .m-news__inner {
    padding: 20px 20px 20px 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-news.kv-news .m-news__inner {
    padding: 12px 15px
  }
}

.m-news__link {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .m-news__link {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.m-news__link:hover .m-news__txt {
  text-decoration: underline
}

.m-news__date {
  color: #000000;
  margin-right: 10px
}

@media only screen and (max-width: 767px) {
  .m-news__date {
    margin-right: 15px;
    font-size: 12px;
    line-height: 1.4;
    vertical-align: middle
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-news.kv-news .m-news__date {
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: normal;
    padding-right: 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-news.kv-news .m-news__date {
    font-size: 10px;
    margin-right: 65px
  }
}

a.m-news__txt {
  color: #3a97d1
}

.m-news__txt {
  overflow-wrap: break-word
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__txt {
    max-width: 770px;
    -ms-flex-preferred-size: 770px;
    flex-basis: 770px
  }
}

.m-news__txt a {
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .m-news__txt {
    display: block;
    width: 100%;
    font-size: 12px
  }
}

.m-news.importance .m-news__txt {
  color: #303030;
  font-size: 13px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-align: justify
}

@media only screen and (max-width: 767px) {
  .m-news.importance .m-news__txt {
    font-size: 12px;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em
  }
}

.m-news.importance.kv-news .m-news__txt {
  font-weight: normal;
  color: #212121;
  letter-spacing: 0em
}

.m-news.-grade .m-news__txt {
  color: #fff
}

.m-news.-grade .m-news__txt a {
  color: #fff
}

.m-news__label {
  padding: 0 22px;
  font-size: 12px;
  text-align: center;
  margin-right: 10px;
  background-color: #005fa4;
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__label {
    max-width: 90px;
    -ms-flex-preferred-size: 90px;
    flex-basis: 90px
  }
}

@media only screen and (max-width: 767px) {
  .m-news__label {
    width: 70px;
    padding: 1px;
    line-height: 1.4;
    vertical-align: middle;
    font-size: 10px
  }
}

.m-news.kv-news .m-news__label {
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  max-width: none;
  margin-right: 0;
  padding: 2px 5px
}

@media only screen and (max-width: 767px) {
  .m-news.kv-news .m-news__label {
    width: auto;
    padding: 1px 5px
  }
}

.m-news__title {
  color: #db0101;
  letter-spacing: 0.075em;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__title>i {
    padding-right: 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-news__title>i {
    padding-right: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-news__title {
    font-size: 16px;
    -ms-flex-preferred-size: 310px;
    flex-basis: 310px;
    max-width: 310px
  }
}

@media only screen and (max-width: 767px) {
  .m-news__title {
    font-size: 14px;
    margin-bottom: 5px
  }
}

.m-news.kv-news .m-news__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .m-news.kv-news .m-news__title {
    -ms-flex-item-align: start;
    align-self: flex-start
  }
}

.m-news.-grade .m-news__title {
  text-align: center;
  color: #fff
}

@media only screen and (max-width: 767px) {
  .m-tab.acc .m-tab__panel {
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    -webkit-transition-property: height, visibility;
    transition-property: height, visibility;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s
  }
  .m-tab.acc .m-tab__panel.is-active {
    -webkit-transition-duration: 0.7s;
    transition-duration: 0.7s;
    height: auto;
    visibility: visible
  }
}

.m-tab__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.m-tab__item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  overflow: hidden
}

.m-tab__item+.m-tab__item {
  margin-left: 10px
}

@media only screen and (max-width: 767px) {
  .m-tab__item+.m-tab__item {
    margin-left: 5px
  }
}

.m-tab__panel {
  display: none;
  padding: 40px;
  background-color: #005fa4
}

@media only screen and (max-width: 767px) {
  .m-tab__panel {
    padding: 20px 0
  }
}

.m-tab__panel.is-active {
  display: block
}

@media only screen and (max-width: 767px) {
  .m-tab.sp-slide-menu .m-tab__panel {
    display: block
  }
}

@media only screen and (max-width: 767px) {
  .m-tab__panel.no-padding-y-sp {
    padding: 0;
    margin-left: 15px;
    margin-right: 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab__panel+.m-tab__panel.no-padding-y-sp {
    border-top: 1px solid #ccc
  }
}

.m-tab__inner {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-1 .m-tab__item {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 180px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-1 {
    background-color: #f2f2f2;
    padding: 10px
  }
}

.m-tab.type-1 .m-tab__item+.m-tab__item {
  margin-left: 6px
}

.pg-gnav-junior .m-tab.type-1 .m-tab__item.junior a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior .m-tab.type-1 .m-tab__item.junior a img {
  top: auto;
  bottom: 0
}

.pg-gnav-fs .m-tab.type-1 .m-tab__item.fs a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs .m-tab.type-1 .m-tab__item.fs a img {
  top: auto;
  bottom: 0
}

@media only screen and (max-width: 767px) {
  .m-tab.type-2 {
    padding: 0 16px
  }
}

.m-tab.type-2 .m-tab__item+.m-tab__item {
  margin-left: 10px
}

@media only screen and (max-width: 767px) {
  .m-tab.type-2 .m-tab__item+.m-tab__item {
    margin-left: 5px
  }
}

.pg-gnav-junior .m-tab.type-2 .m-tab__item.junior a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-junior .m-tab.type-2 .m-tab__item.junior a img {
  top: auto;
  bottom: 0
}

.pg-gnav-fs .m-tab.type-2 .m-tab__item.fs a {
  background-color: #005fa4;
  color: #fff
}

.pg-gnav-fs .m-tab.type-2 .m-tab__item.fs a img {
  top: auto;
  bottom: 0
}

.m-tab.type-3 .m-tab__list {
  border-bottom: 2px solid #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-3 .m-tab__list {
    padding: 0 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-3 .m-tab__list {
    padding: 0 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-3 .m-tab__item+.m-tab__item {
    margin-left: 8px
  }
}

.m-tab.type-3 .m-tab__panel {
  background-color: transparent
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-3 .m-tab__panel {
    padding: 0
  }
}

.m-tab.type-3.-type-question .m-tab__list {
  border-bottom: 2px solid #9d9d9d
}

.m-tab.type-3.-type-question .m-tab__item {
  margin-bottom: -2px
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-3.-product {
    margin: 85px 0 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-3.-product {
    margin: 40px 0 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-3.-product .m-tab__list {
    padding: 0 42px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-3.-product .m-tab__list {
    border-width: 1px;
    padding: 0 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-3.-product .m-tab__item {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-3.-product .m-tab__item+.m-tab__item {
    margin-left: 115px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-3.-product .m-tab__item+.m-tab__item {
    margin-left: 25px
  }
}

.m-tab.type-4 .m-tab__list {
  padding: 0 60px
}

@media only screen and (max-width: 767px) {
  .m-tab.type-4 .m-tab__list {
    padding: 0
  }
}

.m-tab.type-4 .m-tab__panel {
  background-color: #ffffff;
  padding: 0
}

.m-tab.type-4 .m-tab__panelbox {
  border-top: 2px solid #005fa4
}

@media only screen and (max-width: 767px) {
  .m-tab.type-4 .m-tab__panelbox {
    position: relative;
    top: -2px
  }
}

.m-tab.type-4 .m-tab__item+.m-tab__item {
  margin-left: 4px
}

@media only screen and (max-width: 767px) {
  .m-tab.type-4.sp-slide-menu .m-tab__panelbox {
    border-top: 0
  }
}

.m-tab.type-5 {
  position: relative;
  padding: 0 15px
}

@media only screen and (max-width: 767px) {
  .m-tab.type-5 {
    padding: 0 5px
  }
}

.m-tab.type-5:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #005fa4;
  content: ""
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-5 {
    padding: 0 20px
  }
}

.m-tab.type-5 .m-tab__item {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: calc(25% - 20px);
  margin: 0
}

@media only screen and (max-width: 767px) {
  .m-tab.type-5 .m-tab__item {
    width: calc(25% - 5px)
  }
}

.m-tab.type-5 .m-tab__item:nth-child(2) {
  width: 50%
}

.m-tab.type-6 .m-tab__panel {
  background-color: transparent;
  padding: 0
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-7 {
    margin: 85px auto 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-7 {
    margin: 40px auto 30px
  }
}

.m-tab.type-7>.m-tab__box>.m-tab__list {
  border-bottom: 2px solid #9d9d9d
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-7>.m-tab__box>.m-tab__list {
    padding: 0 150px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-7>.m-tab__box>.m-tab__list {
    border-width: 1px;
    padding: 0 25px
  }
}

.m-tab.type-7>.m-tab__box>.m-tab__list>.m-tab__item {
  margin-bottom: -2px
}

@media only screen and (max-width: 767px) {
  .m-tab.type-7>.m-tab__box>.m-tab__list>.m-tab__item {
    margin-bottom: -1px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-7>.m-tab__box>.m-tab__list>.m-tab__item+.m-tab__item {
    margin-left: 70px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab.type-7>.m-tab__box>.m-tab__list>.m-tab__item+.m-tab__item {
    margin-left: 25px
  }
}

.m-tab.type-7>.m-tab__panelbox>.m-tab__panel {
  background-color: transparent
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab.type-7>.m-tab__panelbox>.m-tab__panel {
    padding: 0
  }
}

.m-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.m-list>li {
  padding-right: 12px
}

.m-list>li>a {
  color: #ffffff;
  text-decoration: none;
  display: block;
  line-height: 1
}

.m-list>li>a:hover {
  text-decoration: underline
}

.m-list>li:last-child {
  padding-right: 0
}

.m-list li+li {
  border-left: 1px solid #ffffff;
  padding-left: 12px
}

.m-list.type-1>li>a {
  letter-spacing: 0.1em
}

@media only screen and (max-width: 767px) {
  .m-list.type-1>li>a {
    letter-spacing: -0.1em
  }
}

.m-list.type-1.blue>li {
  border-color: #005fa4
}

.m-list.type-1.blue>li>a {
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .m-list.type-2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
  }
}

.m-list.type-2>li>a {
  color: #808080
}

@media only screen and (max-width: 767px) {
  .m-list.type-2>li {
    border-left: 1px solid #808080;
    border-right: 1px solid #808080;
    padding: 0 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.type-2 li+li {
    border-left: 1px solid #808080
  }
}

@media only screen and (max-width: 767px) {
  .m-list.type-3>li {
    padding-right: 6px
  }
}

.m-list.type-3>li>a {
  font-size: 12px;
  color: #000
}

@media only screen and (max-width: 767px) {
  .m-list.type-3>li>a {
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.type-3>li>a {
    line-height: 14px
  }
}

.m-list.type-3>li>a:hover {
  color: #666
}

.m-list.type-3>li+li {
  border-left: 1px solid #cdcdcd
}

@media only screen and (max-width: 767px) {
  .m-list.type-3>li+li {
    padding-left: 6px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.type-3.central-sub>li {
    padding-right: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.type-3.central-sub>li>a {
    font-size: 14px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.type-3.central-sub>li:last-child {
    padding-right: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.type-3.central-sub>li+li {
    padding-left: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-list.central>li {
    padding: 0 2.5px
  }
}

.m-list.central>li>a {
  color: #005fa4;
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: bold;
  vertical-align: middle;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.m-list.central>li>a:hover {
  opacity: .7
}

.m-list.central>li>a:before {
  right: 9px;
  margin-top: 0px
}

.m-list.central>li>a:hover {
  text-decoration: none
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.central>li>a {
    border-radius: 0 0 8px 8px;
    padding: 10px 29px 10px 15px;
    width: 144px
  }
}

@media only screen and (max-width: 767px) {
  .m-list.central>li>a {
    border-radius: 0 0 4px 4px;
    padding: 12px 19px 8px 10px;
    width: 120px
  }
}

@media screen and (max-width: 349px) {
  .m-list.central>li>a {
    width: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.central>li>a>img {
    height: 20px;
    width: auto;
    margin-right: 8px
  }
}

@media only screen and (max-width: 767px) {
  .m-list.central>li>a>img {
    width: 14px;
    margin-right: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.gjo>li>a {
    width: 150px
  }
}

@media only screen and (max-width: 767px) {
  .m-list.gjo>li>a {
    width: 135px
  }
}

@media screen and (max-width: 349px) {
  .m-list.gjo>li>a {
    width: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.gjo>li>a.size-1 {
    padding: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-list.gjo>li>a.size-1 {
    padding: 10px 15px 10px 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.gjo>li>a.size-2 {
    padding: 5px 10px 8px 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-list.gjo>li>a.size-2 {
    padding: 5px 15px 5px 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list.central .m-list__school>a {
    font-size: 16px;
    padding-top: 16px;
    width: 180px;
    text-align: right
  }
  .m-list.central .m-list__school>a:hover {
    text-decoration: underline
  }
  .m-list.central .m-list__school>a:before {
    margin-top: 2px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-02__item {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 33.3333%;
    margin-bottom: 1px;
    padding: 10px 30px
  }
  .m-list-02__item:not(:nth-child(3n)) {
    border-right: 1px dotted #ccc
  }
}

@media only screen and (max-width: 767px) {
  .m-list-02__item {
    padding: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-list-02__item+.m-list-02__item {
    border-top: 1px dotted #ccc
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-04__item {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 130px;
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-list-04__item+.m-list-04__item {
    border-top: 1px dotted #ccc
  }
}

.m-list-04__link {
  position: relative;
  padding-left: 15px;
  color: #005fa4;
  font-size: 16px;
  text-decoration: none
}

@media only screen and (max-width: 767px) {
  .m-list-04__link {
    display: block;
    padding: 10px;
    font-size: 14px
  }
}

.m-list-04__link:hover {
  text-decoration: underline
}

.m-list-04__link:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-left: 6px solid #005fa4;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  content: ""
}

@media only screen and (max-width: 767px) {
  .m-list-04__link:before {
    left: auto;
    right: 5px
  }
}

.m-list-05__link {
  display: inline-block;
  position: relative;
  padding-left: 15px;
  color: #005fa4;
  font-size: 16px;
  text-decoration: none
}

@media only screen and (max-width: 767px) {
  .m-list-05__link {
    font-size: 14px
  }
}

.m-list-05__link:hover {
  text-decoration: underline
}

.m-list-05__link:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-left: 6px solid #005fa4;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  content: ""
}

.m-list-05__link.external:after {
  margin-left: 20px;
  content: "\f08e";
  font-family: FontAwesome
}

.m-list-05.-sitemap .m-list-05__link {
  line-height: 2
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-05.-sitemap .m-list-05__link {
    padding-left: 20px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-list-05.-sitemap .m-list-05__link {
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-05.-sitemap .m-list-05__link:before {
    border-left-width: 10px;
    border-top-width: 8px;
    border-bottom-width: 8px
  }
}

.m-list-06>li:before {
  content: "・";
  display: inline-block;
  width: 15px;
  height: 10px
}

.m-list-06 .m-list-06__normal:before {
  display: none
}

.m-list-06.left-blank>li {
  padding-left: 15px
}

.m-list-06.left-blank>li:before {
  margin-left: -15px
}

@media only screen and (max-width: 767px) {
  .m-list-06.size-type-1>li {
    font-size: 12px;
    line-height: 1.25
  }
}

@media only screen and (max-width: 767px) {
  .m-list-06.size-type-1 li+li {
    margin-top: 15px
  }
}

.m-list-06__etc {
  margin-left: 105px
}

@media only screen and (max-width: 767px) {
  .m-list-06__etc {
    margin-left: 70px
  }
}

.m-list-07 {
  list-style-type: decimal;
  list-style-position: inside
}

.m-list-07.type-2 {
  text-indent: -25px;
  padding-left: 25px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .m-list-07.type-2 {
    font-size: 14px;
    text-indent: -15px;
    padding-left: 15px
  }
}

.m-list-07.type-2>li+li {
  margin-top: 5px
}

.m-list-07.type-2 .m-list-07__desc {
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .m-list-07.type-2 .m-list-07__desc {
    font-size: 12px
  }
}

.m-list-07.type-3 {
  text-indent: -15px;
  padding-left: 15px;
  font-size: 14px
}

.m-list-07.type-3>li+li {
  margin-top: 5px
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-08 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-08>li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 4px 15px;
    font-size: 18px
  }
  .m-list-08>li:not(:last-child) {
    border-right: 2px dotted #fff
  }
  .m-list-08>li a:before {
    padding-right: 8px
  }
}

@media only screen and (max-width: 767px) {
  .m-list-08>li {
    padding: 10.5px 15px;
    border-bottom: 1px solid #fff;
    font-size: 16px
  }
  .m-list-08>li a:after {
    padding-right: 8px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-08.border-span-pc-bottom-sp li+li {
    border-left: 1px solid #a3a3a3
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-08.border-span-pc-bottom-sp li:not(:last-child) {
    border-right: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-list-08.border-span-pc-bottom-sp li {
    border-bottom: 1px solid #c4c4c4
  }
}

.m-list-09>li {
  position: relative;
  padding-left: 15px
}

.m-list-09>li:before {
  position: absolute;
  left: 0;
  content: "※"
}

.m-list-09 .m-list-09__normal:before {
  display: none
}

.m-list-09.circle>li:before {
  content: "●"
}

.m-list-09.circle.inline-b {
  display: inline-block
}

.m-list-09.asterisk>li {
  padding-left: 10px
}

.m-list-09.asterisk>li:before {
  content: "*"
}

.m-list-09.-small-txt {
  margin-top: 10px
}

@media only screen and (max-width: 767px) {
  .m-list-09.-small-txt {
    margin-top: 5px
  }
}

.m-list-09.-small-txt>li {
  font-size: 67%
}

.m-list-10 {
  padding-left: 2em;
  list-style: disc
}

.m-list-10.type-2 {
  list-style: none;
  text-indent: -2em;
  padding-left: 2em
}

@media only screen and (min-width: 768px), tv, print {
  .m-list-10.type-2 {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-list-10.type-2 {
    font-size: 14px
  }
}

.m-list-icon.type-1>li:before {
  content: "＊";
  display: inline-block;
  color: #005fa4
}

.m-list-icon.type-2>li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 6px
}

@media only screen and (max-width: 767px) {
  .m-list-icon.type-2>li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.m-list-icon.type-2>li:before {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 26px;
  height: 26px;
  margin-right: 10px;
  content: "Q";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
  background-color: #fcc800;
  font-size: 16px;
  color: #0088cc;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-list-icon.type-2>li:before {
    width: 22px;
    height: 22px;
    font-size: 12px;
    -ms-flex-item-align: self-start;
    align-self: self-start
  }
}

.m-list-icon.type-2>li a {
  text-decoration: none;
  font-size: 16px;
  color: #005fa4;
  letter-spacing: 0.1em
}

@media only screen and (max-width: 767px) {
  .m-list-icon.type-2>li a {
    font-size: 12px
  }
}

.m-list-icon.type-2>li a:hover {
  text-decoration: underline
}

.m-list-icon.type-2.-select-page>li {
  font-size: 24px;
  line-height: 1.2;
  color: #005fa4;
  letter-spacing: 0.1em;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .m-list-icon.type-2.-select-page>li {
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-02 {
    margin-bottom: 22px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-02 {
    margin-bottom: 25px
  }
}

.m-cont-02__lead {
  color: #005fa4;
  font-size: 18px;
  line-height: 1.35
}

@media only screen and (max-width: 767px) {
  .m-cont-02__lead {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-02__desc {
    font-size: 14px;
    line-height: 1.7
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-03 {
    padding: 20px 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-03 {
    padding: 18px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-03__list {
    margin-left: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-03__list {
    margin-left: 16px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-03__list>li {
    letter-spacing: 0.025em;
    line-height: 1.65;
    margin-bottom: 10px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-03__list>li {
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 5px;
    font-size: 16px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-03__list>li:before {
    margin-left: -18px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-03__list>li:before {
    margin-left: -16px
  }
}

.m-cont-06 {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-06 {
    padding: 20px 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-06 {
    padding: 18px
  }
}

.m-cont-06__lead {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  margin: 0 0 15px
}

.m-cont-06__remarks {
  margin: 15px 0 0;
  font-size: 0.7rem
}

.m-cont-07 {
  border: 5px solid #005fa4;
  margin-bottom: 20px
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-07 {
    padding: 20px 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-07 {
    text-align: center;
    padding: 18px;
    display: block
  }
}

.m-cont-07__lead {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  margin: 0 0 15px
}

.m-cont-07__remarks {
  margin: 15px 0 0;
  font-size: 0.7rem
}

.m-cont-08 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (max-width: 767px) {
  .m-cont-08 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-08.-online-box {
    padding: 105px 0 100px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-08.-online-box .m-cont-08__imgbox {
    -ms-flex-preferred-size: 440px;
    flex-basis: 440px;
    max-width: 440px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-08__imgbox {
    text-align: center
  }
  .m-cont-08.-online-box .m-cont-08__imgbox {
    width: 190px;
    margin: 0 auto;
    padding: 40px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-08.-online-box .m-cont-08__contents {
    -ms-flex-preferred-size: 520px;
    flex-basis: 520px;
    max-width: 520px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-08__contents {
    padding: 0 15px 20px;
    text-align: justify
  }
}

.m-cont-08__txt {
  font-size: 16px;
  text-align: justify;
  margin-bottom: 45px;
  letter-spacing: 0.075em;
  color: #005fa4
}

.m-cont-08__point {
  font-size: 12px;
  letter-spacing: 0.075em;
  line-height: 2.4;
  color: #005fa4
}

.m-cont-09__txt {
  margin: 10px 0 0
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-09__txt {
    padding: 0 36px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-09__txt {
    padding: 0 30px;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-cont-09__btnbox {
    margin: 35px auto 65px;
    padding: 0 145px
  }
}

@media only screen and (max-width: 767px) {
  .m-cont-09__btnbox {
    margin: 30px auto;
    padding: 0 10px
  }
}

.m-logo__link {
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

@media only screen and (min-width: 768px), tv, print {
  .m-logo__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.m-logo__link:hover {
  opacity: .7
}

.m-logo.en-score .m-logo__link {
  display: block;
  text-align: center
}

.m-logo__txt {
  display: block;
  color: #000;
  font-size: 11px;
  margin-left: 13px
}

@media only screen and (max-width: 767px) {
  .m-logo__txt {
    display: none
  }
}

.m-logo.en-score .m-logo__txt {
  text-align: center;
  font-size: 20px;
  padding: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-logo.en-score .m-logo__txt {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-logo.en-score .m-logo__txt {
    display: block;
    font-size: 12px
  }
}

.m-logo.central .m-logo__txt {
  font-size: 13px
}

@media only screen and (max-width: 767px) {
  .m-logo.central .m-logo__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 10px;
    margin: 0 22px 0 14px
  }
}

@media screen and (max-width: 349px) {
  .m-logo.central .m-logo__txt {
    margin: 0 0 0 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-logo__img {
    vertical-align: middle
  }
}

.m-logo.en-score .m-logo__img {
  margin: 0 auto;
  padding: 10px 0 20px
}

@media only screen and (max-width: 767px) {
  .m-logo.main .m-logo__img {
    width: 64px
  }
}

@media only screen and (max-width: 767px) {
  .m-logo.junior .m-logo__img {
    width: 85px
  }
}

@media only screen and (max-width: 767px) {
  .m-logo.corporate .m-logo__img {
    height: 13px;
    width: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-img-01 {
    padding: 0 5px
  }
}

.m-img-01__title {
  text-align: center;
  display: block;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.4;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .m-img-01__title {
    font-size: 18px;
    margin-top: 5px
  }
}

.m-img-01.wide10 {
  padding: 0 10px
}

.m-img-box {
  position: relative;
  min-height: 340px
}

@media only screen and (max-width: 767px) {
  .m-img-box {
    min-height: 325px;
    width: 343px;
    margin: 35px auto 0
  }
}

.m-img-box__photo-1 {
  position: absolute;
  right: 0;
  top: 0;
  width: 335px
}

@media only screen and (max-width: 767px) {
  .m-img-box__photo-1 {
    width: 82%
  }
}

.m-img-box__photo-2 {
  position: absolute;
  top: 40%;
  left: 18px;
  width: 335px
}

@media only screen and (max-width: 767px) {
  .m-img-box__photo-2 {
    width: 82%;
    left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01 {
    font-size: 12px;
    line-height: 1.25;
    letter-spacing: 0.075em
  }
}

.m-table-01 tr td {
  padding: 15px 20px;
  text-align: center;
  line-height: 2
}

@media only screen and (max-width: 767px) {
  .m-table-01 tr td {
    padding: 12px;
    line-height: 1.5
  }
}

.m-table-01 tr th {
  padding: 15px 20px
}

@media only screen and (max-width: 767px) {
  .m-table-01 tr th {
    padding: 12px 4px
  }
}

.m-table-01__body tr th {
  text-align: left
}

@media only screen and (max-width: 767px) {
  .m-table-01__body tr th {
    text-align: center;
    width: 30%
  }
}

.m-table-01__body tr:first-child td {
  padding: 28px 20px
}

@media only screen and (max-width: 767px) {
  .m-table-01__body tr:first-child td {
    padding: 12px 5px;
    text-align: left
  }
}

.m-table-01__detail {
  font-size: 10px;
  font-weight: normal
}

.m-table-01__name {
  color: #4c8380
}

@media only screen and (max-width: 767px) {
  .m-table-01__table-head-small {
    font-size: 10px
  }
}

.m-table-01.type-1 tr td, .m-table-01.type-1 tr th {
  font-size: 15px;
  line-height: 1.85;
  letter-spacing: 0.1em;
  padding: 30px 20px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-1 tr td, .m-table-01.type-1 tr th {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.075em;
    padding: 10px 7px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-1 tr th {
    padding: 11px 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-1 tr th:nth-child(1) {
    width: 25%
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-1 tr th:nth-child(2) {
    width: 35%
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-1 tr th:nth-child(3) {
    width: 40%
  }
}

.m-table-01.type-1 tr td {
  text-align: left
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-1 tr td {
    vertical-align: baseline
  }
}

.m-table-01.type-1 .m-table-01__head tr th:first-child {
  width: 22%;
  padding: 11px 30px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-1 .m-table-01__head tr th:first-child {
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-1 tr th:first-child {
    padding: 11px 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-2 {
    width: 1500px
  }
}

.m-table-01.type-2 .m-table-01__head tr th {
  background-color: #4c8380
}

.m-table-01.type-2 tr td, .m-table-01.type-2 tr th {
  width: 6%;
  text-align: center;
  padding: 5px;
  line-height: 1.33
}

.m-table-01.type-2 tr th {
  font-weight: bold;
  font-size: 13px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-2 tr th {
    font-size: 13px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-2 tr th:nth-child(2) {
    width: 13%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-2 tr th:nth-child(3) {
    width: 19%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-2 tr th:nth-child(10) {
    width: 13%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-2 tr th:nth-child(11) {
    width: 13%
  }
}

.m-table-01.type-2 .m-table-01__body th {
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-2 .m-table-01__body th {
    font-size: 14px
  }
}

.m-table-01.type-2 .m-table-01__body tr:nth-child(even)>th {
  background-color: #ecf5f6
}

.m-table-01.type-2 .m-table-01__body tr:nth-child(even)>td {
  background-color: #ecf5f6
}

.m-table-01.type-3 {
  width: 100%;
  margin-bottom: 40px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 {
    font-size: 11px;
    margin-bottom: 20px
  }
}

.m-table-01.type-3 .m-table-01__col-1 {
  width: 10%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 .m-table-01__col-1 {
    width: 18%
  }
}

.m-table-01.type-3 .m-table-01__col-2 {
  width: 25%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 .m-table-01__col-2 {
    width: 27%
  }
}

.m-table-01.type-3 .m-table-01__col-3 {
  width: 55%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 .m-table-01__col-3 {
    width: 47%
  }
}

.m-table-01.type-3 .m-table-01__col-4 {
  width: 10%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 .m-table-01__col-4 {
    width: 18%
  }
}

.m-table-01.type-3 th {
  vertical-align: top;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 tbody tr th {
    font-size: 12px
  }
}

.m-table-01.type-3 tbody tr td {
  padding: 15px;
  text-align: left;
  vertical-align: top
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 tbody tr td {
    padding: 10px
  }
}

.m-table-01.type-3 tbody tr td:last-child {
  text-align: center
}

.m-table-01.type-3 tbody tr:first-child td {
  padding: 15px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3 tbody tr:first-child td {
    padding: 10px
  }
}

.m-table-01.type-3.type-en-1 thead>tr>th {
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-1 thead>tr>th {
    word-break: break-all
  }
}

.m-table-01.type-3.type-en-1 thead>tr>th:first-child {
  width: 25%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-1 thead>tr>td {
    word-break: break-all
  }
}

.m-table-01.type-3.type-en-1 tbody>tr>td {
  text-align: center;
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-1 tbody>tr>td {
    word-break: break-all
  }
}

.m-table-01.type-3.type-en-1 tbody>tr>th {
  text-align: left
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-1 tbody>tr>th {
    word-break: break-all
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-3.type-en-2 {
    width: auto
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-2 thead>tr>th {
    word-break: break-all
  }
}

.m-table-01.type-3.type-en-2 tbody>tr>td {
  text-align: left
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-2 tbody>tr>td {
    word-break: break-all
  }
}

.m-table-01.type-3.type-en-2 tbody>tr>td:nth-child(3) {
  width: 25%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.type-en-2 tbody>tr>th {
    word-break: break-all
  }
}

.m-table-01.type-3.-fs-question>tbody>tr>td:nth-child(3), .m-table-01.type-3.-fs-question>tbody>tr>td:nth-child(4) {
  text-align: center
}

.m-table-01.type-3.-fs-question .m-table-01__col-1 {
  width: 15%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question .m-table-01__col-1 {
    width: 18%
  }
}

.m-table-01.type-3.-fs-question .m-table-01__col-2 {
  width: 55%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question .m-table-01__col-2 {
    width: 46%
  }
}

.m-table-01.type-3.-fs-question .m-table-01__col-3 {
  width: 15%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question .m-table-01__col-3 {
    width: 18%
  }
}

.m-table-01.type-3.-fs-question .m-table-01__col-4 {
  width: 15%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question .m-table-01__col-4 {
    width: 18%
  }
}

.m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-1 {
  width: 20%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-1 {
    width: 36%
  }
}

.m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-2 {
  width: 30%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-2 {
    width: 16%
  }
}

.m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-3 {
  width: 12.5%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-3 {
    width: 16%
  }
}

.m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-4 {
  width: 12.5%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-4 {
    width: 16%
  }
}

.m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-5 {
  width: 25%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-question.-has-col-5 .m-table-01__col-5 {
    width: 16%
  }
}

.m-table-01.type-4 {
  border-radius: 0 0 4px 4px;
  border-top: none
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-4 {
    border-radius: 0
  }
}

.m-table-01.type-4 .m-table-01__body>tr>th {
  vertical-align: top;
  text-align: center;
  color: #ffffff;
  letter-spacing: 0.1em
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-4 .m-table-01__body>tr>th {
    line-height: 1.4;
    width: 100px;
    padding: 11px 2px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-4 .m-table-01__body>tr>th {
    width: 19%;
    padding: 7px
  }
}

.m-table-01.type-4 .m-table-01__body>tr>th.m-table-01__table-head {
  vertical-align: middle
}

.m-table-01.type-4 .m-table-01__body>tr>td {
  text-align: left
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-4 .m-table-01__body>tr>td {
    line-height: 1.7;
    letter-spacing: 0.1em;
    padding: 15px 16px;
    vertical-align: top
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-4 .m-table-01__body>tr>td {
    padding: 7px
  }
}

.m-table-01.type-4.cbt td:nth-child(2) {
  width: 260px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-4.cbt td:nth-child(2) {
    width: 19%
  }
}

.m-table-01.type-5 {
  width: 100%;
  margin-bottom: 40px
}

.m-table-01.type-5 thead th {
  width: 12%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-5 thead th {
    width: 22%
  }
}

.m-table-01.type-5 thead th:nth-child(2) {
  width: 64%
}

.m-table-01.type-5 tbody tr:first-child td {
  text-align: center
}

.m-table-01.type-5 tbody tr th {
  text-align: center
}

.m-table-01.type-5 tbody tr td {
  padding: 12px 15px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-5 tbody tr td {
    padding: 5px 8px
  }
}

.m-table-01.type-5 tbody tr td:nth-child(2) {
  text-align: left
}

.m-table-01.type-5 tbody tr td.m-table-01__align-top {
  vertical-align: top
}

.m-table-01.type-6 {
  width: 100%;
  margin-bottom: 35px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-6 {
    width: 960px
  }
}

.m-table-01.type-6 tr th {
  padding: 14px;
  vertical-align: top
}

.m-table-01.type-6 tr th:first-child {
  width: 27%
}

.m-table-01.type-6 tr th:nth-child(2) {
  width: 49%
}

.m-table-01.type-6 tr th:nth-child(3), .m-table-01.type-6 tr th:nth-child(4) {
  width: 12%
}

.m-table-01.type-6 tbody th {
  text-align: left
}

.m-table-01.type-6 tr:first-child td {
  padding: 10px 14px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-6 tr:first-child td:nth-child(3), .m-table-01.type-6 tr:first-child td:nth-child(4) {
    text-align: center
  }
}

.m-table-01.type-6 td {
  padding: 10px 14px;
  vertical-align: top
}

.m-table-01.type-6 td:nth-child(2) {
  text-align: left
}

.m-table-01.type-7 {
  width: 100%;
  margin-bottom: 35px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-7 {
    width: 960px
  }
}

.m-table-01.type-7 tr th {
  padding: 14px;
  vertical-align: top
}

.m-table-01.type-7 tr th:first-child {
  width: 22%
}

.m-table-01.type-7 tr th:nth-child(2) {
  width: 28%
}

.m-table-01.type-7 tr th:nth-child(3), .m-table-01.type-7 tr th:nth-child(4) {
  width: 12%
}

.m-table-01.type-7 tr th:nth-child(5) {
  width: 26%
}

.m-table-01.type-7 tbody th {
  text-align: left
}

.m-table-01.type-7 tr:first-child td {
  padding: 10px 14px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-7 tr:first-child td:nth-child(3), .m-table-01.type-7 tr:first-child td:nth-child(4) {
    text-align: center
  }
}

.m-table-01.type-7 td {
  padding: 10px 14px;
  vertical-align: top
}

.m-table-01.type-7 td:nth-child(2), .m-table-01.type-7 td:nth-child(5) {
  text-align: left
}

.m-table-01.type-7 td .m-table-01__listitem {
  text-indent: -7px;
  padding-left: 7px
}

.m-table-01.type-8 tr th {
  width: 210px;
  background-color: #f2f2f2;
  color: #005fa4;
  font-size: 16px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-8 tr th {
    width: 35px
  }
}

.m-table-01.type-8 tr td {
  padding: 15px 20px;
  text-align: left
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-8 tr td {
    padding: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 {
    width: 100%
  }
}

.m-table-01.type-9 thead th {
  padding: 20px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 thead th {
    padding: 10px 5px
  }
}

.m-table-01.type-9 thead th:first-child {
  width: 25%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 thead th:first-child {
    width: 15%
  }
}

.m-table-01.type-9 thead th:nth-child(2) {
  width: 50%
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 thead th:nth-child(2) {
    width: 60%
  }
}

.m-table-01.type-9 thead th:nth-child(3) {
  width: 25%
}

.m-table-01.type-9 tbody tr th {
  background-color: #f2f2f2;
  text-align: center;
  font-size: 24px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 tbody tr th {
    font-size: 16px
  }
}

.m-table-01.type-9 tbody tr td {
  padding: 10px;
  text-align: left;
  line-height: 1.75
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 tbody tr td {
    line-height: 1.5;
    padding: 10px
  }
}

.m-table-01.type-9 tbody tr td:last-child {
  font-size: 20px;
  text-align: center;
  background-color: #ecf5f6
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-9 tbody tr td:last-child {
    word-break: break-all;
    font-size: 16px
  }
}

.m-table-01.type-10 {
  border-collapse: collapse
}

.m-table-01.type-10 thead tr th {
  border: 1px solid #f2f2f2;
  background-color: #005fa4;
  color: #fff
}

.m-table-01.type-10 tbody tr td, .m-table-01.type-10 tbody tr th {
  padding: 10px;
  border: 1px solid #f2f2f2;
  text-align: left
}

.m-table-01.type-10 tbody tr th .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.m-table-01.type-10 tbody tr th .inner .number {
  min-width: 28px;
  margin-right: 5px
}

.m-table-01.type-3.-fs-register {
  border-collapse: collapse;
  border: 2px solid #c4c4c4
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-3.-fs-register {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-register {
    font-size: 14px
  }
}

.m-table-01.type-3.-fs-register thead th {
  border: 2px solid #c4c4c4
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-01.type-3.-fs-register thead th {
    padding: 10px 20px
  }
}

.m-table-01.type-3.-fs-register tbody tr th, .m-table-01.type-3.-fs-register tbody tr td {
  border: 2px solid #c4c4c4
}

.m-table-01.type-3.-fs-register tbody tr:first-child td {
  padding-left: 25px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-register tbody tr:first-child td {
    padding-left: 15px
  }
}

.m-table-01.type-3.-fs-register tbody tr th {
  vertical-align: middle
}

.m-table-01.type-3.-fs-register tbody tr td {
  padding-left: 25px
}

@media only screen and (max-width: 767px) {
  .m-table-01.type-3.-fs-register tbody tr td {
    padding-left: 15px
  }
}

.m-table-01.type-3.-fs-register tbody tr td:last-child {
  text-align: left
}

.m-table-02 {
  table-layout: fixed;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse
}

@media only screen and (max-width: 767px) {
  .m-table-02 {
    width: auto
  }
}

.m-table-02.table-type-1 {
  width: 660px
}

@media only screen and (max-width: 767px) {
  .m-table-02.table-type-1 {
    width: 100%
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02.table-type-2 {
    width: 100%
  }
}

.m-table-02.-inner-table {
  margin: 10px 0 3px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02.-inner-table {
    width: auto;
    margin-left: 15px
  }
}

.m-table-02__head>tr>th {
  border: 1px solid #d5d3d3
}

.m-table-02.table-type-1 .m-table-02__head>tr>th {
  border: 2px solid #c4c4c4;
  padding: 10px 0
}

.m-table-02.table-type-2 .m-table-02__head>tr>th {
  border: 2px solid #9d9d9d;
  padding: 5px 0px
}

.m-table-02.table-type-2 .m-table-02__head>tr>th:not(:last-child) {
  border-right: 2px solid #fff
}

.m-table-02__head>tr>th:first-child {
  border-right: none
}

.m-table-02__head>tr>th+th {
  border-left: none
}

.m-table-02.table-type-2 .m-table-02__body {
  border-bottom: 2px solid #c4c4c4
}

.m-table-02__body>tr>td {
  border: 1px solid #d5d3d3
}

.m-table-02.table-type-1 .m-table-02__body>tr>td {
  border: 1px solid #eeeeee;
  border-left: 2px solid #c4c4c4;
  border-right: 2px solid #c4c4c4;
  padding: 11px 0
}

.m-table-02.table-type-2 .m-table-02__body>tr>td {
  border: 1px solid #eeeeee;
  border-left: 2px solid #c4c4c4;
  border-right: 2px solid #c4c4c4
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02.table-type-2 .m-table-02__body>tr>td {
    padding: 27px 0
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02.table-type-2 .m-table-02__body>tr>td {
    padding: 30px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02.-inner-table .m-table-02__body>tr>td {
    font-size: 14px;
    line-height: 1.7;
    padding: 6px 15px 6px 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02.-inner-table .m-table-02__body>tr>td {
    padding: 5px 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02.-inner-table .m-table-02__body>tr>td:first-child {
    width: 215px;
    padding: 6px 25px
  }
}

.m-table-02.table-type-1 .m-table-02__body>tr:first-child>td {
  border-top: 2px solid #c4c4c4
}

.m-table-02.table-type-1 .m-table-02__body>tr:last-child>td {
  border-bottom: 2px solid #c4c4c4
}

.m-table-02__arrow-box {
  display: block;
  position: relative
}

.m-table-02__arrow {
  display: block;
  max-width: 10px;
  -webkit-transition: all 1s;
  transition: all 1s
}

.m-table-02.table-type-1 .m-table-02__arrow {
  left: 15px;
  right: 15px
}

.m-table-02.table-type-1 .m-table-02__arrow.is-active {
  max-width: 135px
}

@media only screen and (max-width: 767px) {
  .m-table-02.table-type-1 .m-table-02__arrow.is-active {
    max-width: 60%
  }
}

.m-table-02.table-type-1 .m-table-02__arrow.double-line.is-active {
  max-width: 220px;
  -webkit-transition: all 1s;
  transition: all 1s
}

@media only screen and (max-width: 767px) {
  .m-table-02.table-type-1 .m-table-02__arrow.double-line.is-active {
    max-width: 60%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s
  }
}

.m-table-02.table-type-2 .m-table-02__arrow {
  position: absolute;
  z-index: 100
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02.table-type-2 .m-table-02__arrow {
    top: calc(-50% - 12px)
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02.table-type-2 .m-table-02__arrow {
    top: calc(50% - 13px)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-cbt {
    left: 80px;
    right: -135px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-cbt {
    left: 60%;
    right: -300%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-cbt.is-active {
    max-width: 215px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-cbt.is-active {
    max-width: 120%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-advanced {
    left: 80px;
    right: -290px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-advanced {
    left: 60%;
    right: -300%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-advanced.is-active {
    max-width: 370px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-advanced.is-active {
    max-width: 224%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-basic {
    left: 80px;
    right: -375px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-basic {
    left: 60%;
    right: -300%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-basic.is-active {
    max-width: 450px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-basic.is-active {
    max-width: 300%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-core {
    left: 80px;
    right: -375px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-core {
    left: 60%;
    right: -300%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-02__arrow.-core.is-active {
    max-width: 455px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-02__arrow.-core.is-active {
    max-width: 300%
  }
}

.m-table-03__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%
}

@media only screen and (max-width: 767px) {
  .m-table-03__header {
    display: none
  }
}

.m-table-03__header>li {
  display: block;
  background-color: #9d9d9d;
  color: #ffffff;
  font-weight: bold;
  border-left: 1px solid #cccccc;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__header>li {
    -ms-flex-preferred-size: 227px;
    flex-basis: 227px;
    max-width: 227px;
    padding: 12px
  }
  .m-table-03__header>li:nth-child(2) {
    -ms-flex-preferred-size: 272px;
    flex-basis: 272px;
    max-width: 272px
  }
  .m-table-03__header>li:nth-child(3) {
    -ms-flex-preferred-size: 258px;
    flex-basis: 258px;
    max-width: 258px
  }
  .m-table-03__header>li:nth-child(4) {
    -ms-flex-preferred-size: 203px;
    flex-basis: 203px;
    max-width: 203px
  }
}

.m-table-03.-level-chart .m-table-03__header>li {
  border-left: 0;
  font-size: 30px;
  line-height: 1;
  padding: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart .m-table-03__header>li {
    -ms-flex-preferred-size: 240px;
    flex-basis: 240px;
    max-width: 240px
  }
  .m-table-03.-level-chart .m-table-03__header>li:nth-child(2) {
    -ms-flex-preferred-size: 720px;
    flex-basis: 720px;
    max-width: 720px;
    text-align: left;
    font-size: 18px;
    line-height: 1.7
  }
}

.m-table-03__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__category {
    border-top: 1px solid #ccc
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0 15px;
    border-top: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart .m-table-03__category {
    border-top: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-none-border-top .m-table-03__category {
    border-top: none
  }
}

.m-table-03__category__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 20px;
  color: #ffffff;
  background-color: #005fa4;
  position: relative;
  z-index: 3
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__category__name {
    -ms-flex-preferred-size: 227px;
    flex-basis: 227px;
    min-width: 227px;
    padding: 12px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__name {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #cccccc
  }
  .m-table-03.-level-chart .m-table-03__category__name {
    border: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__name.type-normal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 13px 20px 13px 25px;
    border-radius: 0
  }
}

.m-table-03.-level-chart.-junior1 .m-table-03__header>li {
  background-color: #95c51b
}

.m-table-03.-level-chart.-junior1 .m-table-03__category__name {
  background-color: #95c51b
}

.m-table-03.-level-chart.-junior2 .m-table-03__header>li {
  background-color: #00a43e
}

.m-table-03.-level-chart.-junior2 .m-table-03__category__name {
  background-color: #00a43e
}

.m-table-03.-level-chart.-juniorplus .m-table-03__header>li {
  background-color: #007130
}

.m-table-03.-level-chart.-juniorplus .m-table-03__category__name {
  background-color: #007130
}

.m-table-03.-level-chart.-core .m-table-03__header>li {
  background-color: #e79100
}

.m-table-03.-level-chart.-core .m-table-03__category__name {
  background-color: #e79100
}

.m-table-03.-level-chart.-basic .m-table-03__header>li {
  background-color: #c8152d
}

.m-table-03.-level-chart.-basic .m-table-03__category__name {
  background-color: #c8152d
}

.m-table-03.-level-chart.-advanced .m-table-03__header>li {
  background-color: #007aba
}

.m-table-03.-level-chart.-advanced .m-table-03__category__name {
  background-color: #007aba
}

.m-table-03.-level-chart.-gtec .m-table-03__header>li {
  background-color: #005fa4
}

.m-table-03.-level-chart.-gtec .m-table-03__category__name {
  background-color: #005fa4
}

.m-table-03.-level-chart.-cbt .m-table-03__header>li {
  background-color: #1c3358
}

.m-table-03.-level-chart.-cbt .m-table-03__category__name {
  background-color: #1c3358
}

.m-table-03.-level-chart.-academic .m-table-03__header>li {
  background-color: #b80074
}

.m-table-03.-level-chart.-academic .m-table-03__category__name {
  background-color: #b80074
}

.m-table-03.-level-chart.-business .m-table-03__header>li {
  background-color: #7c8595
}

.m-table-03.-level-chart.-business .m-table-03__category__name {
  background-color: #7c8595
}

.m-table-03.-level-chart.-gjo .m-table-03__header>li {
  background-color: #399
}

.m-table-03.-level-chart.-gjo .m-table-03__category__name {
  background-color: #399
}

.m-table-03__category__grade {
  color: #ffffff;
  font-size: 12px;
  padding: 0 0 3px;
  font-weight: bold;
  text-align: left;
  min-width: 140px
}

.m-table-03__category__grade>span {
  font-size: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__category__grade {
    display: none
  }
  .m-table-03__category__grade.-pc-block {
    display: block;
    font-size: 10px;
    text-align: center
  }
}

.m-table-03__category__logo {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__category__logo {
    line-height: 1
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__logo {
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__title {
    font-size: 18px;
    line-height: 1.35
  }
}

.m-table-03__category__logo__img {
  height: 22px;
  width: auto
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__logo__img {
    height: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__inner {
    position: relative;
    -webkit-transition: all 0.3s linear, opacity 1s ease-out;
    transition: all 0.3s linear, opacity 1s ease-out
  }
  .m-table-03__category__inner.is-close {
    overflow: hidden;
    line-height: 0 !important;
    max-height: 0;
    top: -5px;
    opacity: 0
  }
  .m-table-03__category__inner.is-close * {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 0 !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important
  }
}

.m-table-03__category__main {
  -webkit-transition: 0.5s all ease-in-out;
  transition: 0.5s all ease-in-out;
  border-collapse: collapse;
  border: 1px solid #cccccc;
  margin-top: -1px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__category__main {
    -ms-flex-preferred-size: 733px;
    flex-basis: 733px;
    max-width: 733px;
    margin-bottom: -1px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__main {
    overflow: hidden;
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart .m-table-03__category__main {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    max-width: none;
    width: 100%;
    table-layout: fixed
  }
}

.m-table-03.-type-hardware .m-table-03__category__main {
  margin-top: 0
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-fs-suggestion .m-table-03__category__main {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    max-width: none;
    width: 100%;
    table-layout: fixed
  }
}

.m-table-03.-fs-overview .m-table-03__category__main {
  border-width: 2px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__category__header {
    display: none
  }
}

.m-table-03__category__header>tr>th {
  background-color: #9d9d9d;
  color: #ffffff;
  font-weight: bold;
  border: 1px solid #cccccc
}

@media only screen and (max-width: 767px) {
  .m-table-03__category__header>tr>th {
    padding: 11px
  }
}

.m-table-03__type__name {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  border: 1px solid #cccccc;
  padding: 10px
}

.m-table-03__type.-junior1 .m-table-03__type__name {
  background-color: #95c51b
}

.m-table-03__type.-junior2 .m-table-03__type__name {
  background-color: #00a43e
}

.m-table-03__type.-juniorplus .m-table-03__type__name {
  background-color: #007130
}

.m-table-03__type.-core .m-table-03__type__name {
  background-color: #e79100
}

.m-table-03__type.-basic .m-table-03__type__name {
  background-color: #c8152d
}

.m-table-03__type.-advanced .m-table-03__type__name {
  background-color: #007aba
}

.m-table-03__type.-gtec .m-table-03__type__name {
  background-color: #005fa4
}

.m-table-03__type.-cbt .m-table-03__type__name {
  background-color: #1c3358
}

.m-table-03__type.-academic .m-table-03__type__name {
  background-color: #b80074
}

.m-table-03__type.-business .m-table-03__type__name {
  background-color: #7c8595
}

.m-table-03__type.-gjo .m-table-03__type__name {
  background-color: #399
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__type__name {
    min-width: 272px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__type__name {
    font-size: 12px;
    width: 37%
  }
}

.m-table-03.-level-chart .m-table-03__type__name {
  color: #000000;
  font-size: 18px;
  font-weight: normal
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart .m-table-03__type__name {
    width: 240px;
    border-left: 3px solid #cccccc;
    border-right: 3px solid #cccccc
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03.-level-chart .m-table-03__type__name {
    width: 23%;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-type-hardware .m-table-03__type__name, .m-table-03.-type-os .m-table-03__type__name {
    border: 3px solid #cccccc;
    padding: 10px 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03.-type-hardware .m-table-03__type__name, .m-table-03.-type-os .m-table-03__type__name {
    padding: 10px 2px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart.-type-place .m-table-03__type__name {
    padding: 32px 10px
  }
}

.m-table-03.-fs-overview .m-table-03__type__name {
  border-width: 2px
}

.m-table-03__type__age {
  text-align: center;
  padding: 10px;
  border: 1px solid #cccccc;
  padding: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__type__age {
    min-width: 258px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__type__age {
    width: 33%
  }
}

.m-table-03.-level-chart .m-table-03__type__age {
  text-align: left
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart .m-table-03__type__age {
    -ms-flex-preferred-size: 720px;
    flex-basis: 720px;
    max-width: 720px;
    border-right: 3px solid #cccccc;
    padding: 10px 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03.-level-chart .m-table-03__type__age {
    width: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-type-hardware .m-table-03__type__age, .m-table-03.-type-os .m-table-03__type__age {
    font-size: 16px;
    padding: 10px;
    border: 3px solid #cccccc
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-type-gjo .m-table-03__type__age {
    font-size: 16px
  }
}

.m-table-03.-fs-overview .m-table-03__type__age {
  border-width: 2px
}

.m-table-03__type__entry {
  text-align: center;
  padding: 10px;
  border: 1px solid #cccccc;
  padding: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__type__entry {
    width: 203px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__type__entry {
    width: 30%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-level-chart .m-table-03__type:last-child {
    border-bottom: 3px solid #cccccc
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-type-school .m-table-03__type:first-child td, .m-table-03.-type-school .m-table-03__type:first-child th, .m-table-03.-type-gjo .m-table-03__type:first-child td, .m-table-03.-type-gjo .m-table-03__type:first-child th {
    border-top: 3px solid #cccccc
  }
}

.m-table-03.-fs-overview .m-table-03__type:last-child {
  border-bottom: none
}

.m-table-03__type__time {
  display: inline-block
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__type__time {
    font-size: 18px;
    margin-right: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__type__time {
    font-size: 15px
  }
}

.m-table-03__type__link {
  font-weight: bold;
  color: #005fa4;
  display: block;
  padding: 10px 0
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__type__link {
    font-size: 16px;
    text-align: right;
    padding: 30px 0
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__type__link {
    font-size: 12px
  }
  .m-table-03__type__link>a:before {
    padding-right: 10px
  }
}

.m-table-03__type__remarks {
  display: inline-block;
  vertical-align: top
}

@media only screen and (max-width: 767px) {
  .m-table-03__type__point {
    margin-top: 10px;
    font-size: 10px;
    display: block
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__date {
    text-align: right;
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__strong {
    display: block;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__strong {
    display: block;
    font-size: 14px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__small {
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__small {
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__small.-small-type2 {
    font-size: 12px
  }
}

.m-table-03__head-th {
  padding: 10px;
  background-color: #9a9a9a;
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__head-th {
    font-size: 18px;
    border: 3px solid #cccccc
  }
  .m-table-03.-normal-border .m-table-03__head-th {
    border: 1px solid #cccccc
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__head-th {
    font-size: 14px;
    border: 1px solid #cccccc
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03__col-1 {
    width: 230px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03__col-1 {
    width: 23%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-type-os .m-table-03__col-1 {
    width: 115px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03.-type-os .m-table-03__col-1 {
    width: 15%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-fs-suggestion .m-table-03__col-1 {
    width: 180px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-03.-type-os .m-table-03__col-2, .m-table-03.-type-os .m-table-03__col-3 {
    width: 115px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-03.-type-os .m-table-03__col-2, .m-table-03.-type-os .m-table-03__col-3 {
    width: 15%
  }
}

.m-table-03__notice {
  display: block;
  line-height: 1.3;
  text-indent: -1em;
  padding-left: 1em
}

.m-table-04 {
  table-layout: auto;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse
}

@media only screen and (max-width: 767px) {
  .m-table-04.-fs-cefr {
    table-layout: fixed
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-old-score-1 {
    width: 600px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-old-score-1 {
    width: 87vw
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-old-score-2 {
    width: 900px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-old-score-2 {
    table-layout: fixed
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-skill-score {
    table-layout: fixed
  }
}

.m-table-04__head>tr>th {
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.2;
  padding: 8px 20px;
  border: 1px solid #c7c7c7;
  height: 48px
}

@media only screen and (max-width: 767px) {
  .m-table-04__head>tr>th {
    font-size: 12px;
    padding: 5px 3px;
    white-space: nowrap;
    height: 40px
  }
  .m-table-04.-fs-cefr .m-table-04__head>tr>th {
    font-size: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-gjo .m-table-04__head>tr>th:nth-child(3) {
    width: 200px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-gjo .m-table-04__head>tr>th:nth-child(4) {
    width: 200px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-old-score-2 .m-table-04__head>tr>th {
    padding: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-old-score-2 .m-table-04__head>tr>th {
    padding: 12px 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-old-score-2 .m-table-04__head>tr>th:first-child {
    width: 30%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-old-score-2 .m-table-04__head>tr>th, .m-table-04.-old-score-2 .m-table-04__head>tr td {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-old-score-2 .m-table-04__head>tr>th, .m-table-04.-old-score-2 .m-table-04__head>tr td {
    font-size: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-skill-score .m-table-04__head>tr>th {
    font-size: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-skill-score .m-table-04__head>tr>th:first-child {
    width: 25%
  }
}

.m-table-04__body>tr>td {
  padding: 8px;
  border: 1px solid #c7c7c7;
  height: 58px
}

@media only screen and (max-width: 767px) {
  .m-table-04__body>tr>td {
    padding: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04__body>tr>td.m-table-04__type__graph {
    padding-bottom: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04__body>tr>td.m-table-04__type__entry {
    width: 25%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04.-gjo .m-table-04__body>tr>td {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-gjo .m-table-04__body>tr>td {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-old-score-2 .m-table-04__body>tr>td {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04.-skill-score .m-table-04__body>tr>td {
    font-size: 12px
  }
}

.m-table-04__type__grade {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  vertical-align: middle;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04__type__grade {
    width: 100px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04__type__grade {
    font-size: 16px
  }
}

.m-table-04.-gjo .m-table-04__type__grade {
  font-weight: normal
}

@media only screen and (max-width: 767px) {
  .m-table-04.-skill-score .m-table-04__type__grade {
    font-size: 12px
  }
}

.m-table-04__type__score {
  font-size: 14px;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.25;
  vertical-align: middle
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04__type__score {
    width: 130px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04__type__graph {
    width: 185px;
    position: relative
  }
}

.m-table-04__type__graph-inner {
  position: relative;
  top: 0px;
  left: 0;
  right: 0;
  bottom: 0px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04__type__graph-desc {
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    font-size: 12px;
    text-align: center
  }
}

.m-table-04__type__entry {
  font-size: 14px;
  letter-spacing: 0.05em;
  text-align: left;
  line-height: 1.25;
  vertical-align: middle
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-04__type__entry {
    width: 185px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-04__type__entry {
    text-align: center
  }
}

.m-table-04__type__level {
  font-size: 14px;
  letter-spacing: 0.05em;
  text-align: left;
  line-height: 1.25;
  vertical-align: middle
}

.m-table-05 {
  table-layout: auto;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  border-radius: 4px
}

.m-table-05__head>tr>th {
  background-color: #9d9d9d;
  color: #ffffff;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.2;
  border: 1px solid #c7c7c7;
  height: 48px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-05__head>tr>th {
    font-size: 16px;
    padding: 8px 8px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-05__head>tr>th {
    font-size: 12px;
    padding: 5px 3px;
    height: 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-05__slot {
    display: block;
    margin: auto;
    line-height: 1.2;
    width: 1em
  }
}

.m-table-05__body>tr>th, .m-table-05__body>tr>td {
  border: 1px solid #c7c7c7
}

.m-table-05__body>tr>th {
  background-color: #f2f2f2
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-05__body>tr>th {
    padding: 8px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-05__body>tr>th {
    padding: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-05__body>tr>td {
    padding: 8px 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-05__body>tr>td {
    padding: 5px
  }
}

.m-table-05__body .m-table-05__minutes {
  font-size: 24px
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-05__body .m-table-05__minutes {
    padding-top: 25px;
    padding-bottom: 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-05__body .m-table-05__minutes {
    font-size: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-05__row-time {
    width: 137px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-table-05__minutes__en {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-table-05__minutes__en {
    font-size: 11px
  }
}

.m-table-radius-4 {
  table-layout: fixed;
  width: 100%;
  border: 1px solid #b5b5b5;
  border-radius: 4px;
  border-spacing: 0;
  border-collapse: separate
}

@media only screen and (max-width: 767px) {
  .m-table-radius-4 {
    width: auto
  }
}

.m-table-radius-4__head>tr>th {
  border-left: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5
}

.m-table-radius-4__head>tr>td {
  border-left: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5
}

.m-table-radius-4__body>tr>th {
  border-left: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5
}

.m-table-radius-4__body>tr>td {
  border-left: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5
}

.m-table-radius-4>tr:last-child>td:last-child {
  border-radius: 0 0 4px 0
}

.m-table-radius-4__head>tr>th:last-child {
  border-radius: 0 4px 0 0
}

.m-table-radius-4__head>tr>th:first-child {
  border-radius: 4px 0 0 0;
  border-left: none
}

.m-table-radius-4__body>tr:last-child>th {
  border-left: none;
  border-bottom: none;
  border-radius: 0 0 0 4px
}

.m-table-radius-4__body>tr:last-child>td {
  border-radius: 0 0 4px 0
}

.m-table-radius-4__body>tr>th {
  border-left: none
}

.m-table-radius-4__body>tr:last-child>td {
  border-bottom: none
}

@media only screen and (max-width: 767px) {
  .m-table-radius-4__body.sp-border-radius0>tr:last-child>th {
    border-radius: 0
  }
  .m-table-radius-4__body.sp-border-radius0>tr:last-child>td {
    border-radius: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-nav__main {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 283px
  }
}

.m-nav__sub {
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .m-nav__sub {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    font-size: 24px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-nav__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 2px dotted #fff;
    font-size: 18px
  }
  .m-nav__bottom>a {
    padding: 4px 25px 4px 15px
  }
  .m-nav__bottom a:before {
    display: inline-block;
    content: '\f138';
    font-family: FontAwesome;
    padding-right: 8px
  }
}

@media only screen and (max-width: 767px) {
  .m-nav__bottom {
    font-size: 16px
  }
  .m-nav__bottom>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 8px 15px;
    border-bottom: 1px dotted #fff
  }
  .m-nav__bottom>a:after {
    display: inline-block;
    content: '\f138';
    font-family: FontAwesome;
    padding-right: 8px
  }
}

.m-nav__list-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-nav__list-2 {
    font-size: 16px
  }
  .m-nav__list-2 li {
    line-height: 1
  }
  .m-nav__list-2 li a {
    margin: 0 20px;
    line-height: 1
  }
  .m-nav__list-2 li:first-child {
    border-left: 1px solid #fff
  }
  .m-nav__list-2 li:first-child a {
    margin-left: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-nav__list-2 {
    border-bottom: 1px solid #fff
  }
  .m-nav__list-2 li {
    margin: 0 4px
  }
  .m-nav__list-2 li a {
    padding: 8px 0 8px 10px;
    line-height: 1.2
  }
}

.m-heading-01 {
  background-color: #005fa4
}

.m-heading-01__title {
  color: #ffffff
}

@media only screen and (min-width: 768px), tv, print {
  .m-heading-01__title {
    font-size: 28px;
    padding: 22px 0
  }
}

@media only screen and (max-width: 767px) {
  .m-heading-01__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 25px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-heading-01.-has-subtitle .m-heading-01__title {
    display: block
  }
}

.m-heading-01__main {
  display: inline-block
}

@media only screen and (max-width: 767px) {
  .m-heading-01__main {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%
  }
}

.m-heading-01__sub {
  display: inline-block;
  font-size: 16px
}

@media only screen and (min-width: 768px), tv, print {
  .m-heading-01__sub {
    margin-left: 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-heading-01__sub {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 60%;
    padding-left: 10px;
    font-size: 12px;
    line-height: 1.4
  }
}

@media only screen and (max-width: 767px) {
  .m-heading-01.-has-subtitle .m-heading-01__sub {
    padding-left: 0;
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-history {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 100px;
    margin-bottom: 150px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.step-up {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
  .m-media.step-up .m-media__content {
    width: 560px
  }
}

.m-media.step-up .m-media__annotation {
  margin-top: 5px;
  padding-left: 30px;
  font-size: 12px
}

.m-media.step-up .m-media__section+.m-media__section {
  margin-top: 20px
}

@media only screen and (max-width: 767px) {
  .m-media.step-up .m-media__content {
    margin-top: 20px
  }
}

.m-media.step-up .m-media__title {
  margin-bottom: 0
}

.m-media.step-up .m-media__image {
  position: relative;
  padding-top: 60px
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.step-up .m-media__image {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 200px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.step-up .m-media__image {
    width: 75%;
    max-width: 350px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto
  }
}

.m-media.step-up .m-media__image__new {
  position: absolute;
  left: -30px;
  top: -15px;
  width: 60px
}

@media only screen and (max-width: 767px) {
  .m-media.step-up .m-media__image__new {
    top: -5px;
    left: 0
  }
}

.m-media.step-up .m-media__image__txt {
  margin-top: 15px
}

.m-media.step-up .m-media__image__txt-strong {
  font-weight: bold;
  font-size: 18px
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-text-wide {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-feature-top {
    position: relative
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-feature-top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-pc-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
}

.m-media.-normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about {
    padding: 50px 0 35px
  }
}

.m-media.-row {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-merit {
    padding-bottom: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-merit {
    padding-bottom: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice {
    margin-top: 80px;
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice-result {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-person {
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-person {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__content {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 460px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .-history .m-media__content {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .-text-wide .m-media__content {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    padding-left: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .-feature-top .m-media__content {
    width: 430px;
    padding-top: 80px
  }
}

@media only screen and (max-width: 767px) {
  .-feature-top .m-media__content {
    position: relative;
    padding: 20px 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-normal .m-media__content {
    width: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__content {
    width: 480px;
    padding-top: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-row .m-media__content {
    width: 100%
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-row .m-media__content {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-merit .m-media__content {
    padding-left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-merit .m-media__content {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice .m-media__content {
    margin-left: 165px;
    margin-top: 140px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice .m-media__content {
    margin-left: 10px;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice-result .m-media__content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-right: 40px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice-result .m-media__content {
    margin: 0 15px 15px;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice-result .m-media__content li+li {
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice-result .m-media__content li+li {
    margin-top: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-person .m-media__content {
    padding-top: 30px;
    padding-left: 80px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-person .m-media__content {
    padding-top: 15px;
    padding-left: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__content__balancer {
    text-align: center
  }
  .m-media__content__balancer>* {
    display: inline-block
  }
}

.m-media__desc {
  margin-top: 20px;
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .m-media__desc {
    margin-top: 20px;
    font-size: 12px;
    line-height: 1.5
  }
}

@media only screen and (min-width: 768px), tv, print {
  .-feature-top .m-media__desc {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .-feature-top .m-media__desc {
    font-size: 14px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-normal .m-media__desc {
    font-size: 16px;
    margin-bottom: 34px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-normal .m-media__desc {
    font-size: 10px;
    margin-bottom: 32px
  }
}

.m-media.-about .m-media__desc {
  color: #050505;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__desc {
    padding-bottom: 50px;
    margin-top: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about .m-media__desc {
    font-size: 12px;
    margin-top: 0;
    margin-bottom: 40px;
    padding: 0 10px
  }
}

.m-media.-about .m-media__desc.-txt-box {
  text-align: justify
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__desc.-txt-box {
    width: 430px;
    margin: 0 auto
  }
}

.m-media__title-box.-bg-blue .m-media__desc {
  padding: 0;
  margin: 0;
  color: #c1c2c2;
  text-align: left
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title-box.-bg-blue .m-media__desc {
    padding-left: 14px;
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title-box.-bg-blue .m-media__desc {
    padding-left: 12px;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-merit .m-media__desc {
    margin-top: 0;
    padding-left: 0
  }
}

.m-media__word-block {
  display: inline-block
}

.m-media__btns {
  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
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__btns {
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__btns {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .-feature-top .m-media__btns {
    margin-top: 40px
  }
}

@media only screen and (max-width: 767px) {
  .-feature-top .m-media__btns {
    margin-top: 20px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__btns {
    margin-top: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about .m-media__btns {
    margin: 40px auto;
    display: block
  }
}

.m-media__btn {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  margin-bottom: 20px
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__btn {
    width: 220px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__btn {
    margin-bottom: 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__btn {
    width: calc(50% - 8px)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .-feature-top .m-media__btn {
    width: 310px
  }
}

@media only screen and (max-width: 767px) {
  .-feature-top .m-media__btn {
    width: 300px
  }
}

.m-media.-normal .m-media__btn {
  margin: 0 auto
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-normal .m-media__btn {
    width: 305px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-normal .m-media__btn {
    margin: 0 35px 15px;
    width: auto
  }
}

.m-media.-about .m-media__btn {
  margin: 0 auto
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__btn {
    width: 100%;
    padding: 0 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about .m-media__btn {
    width: 320px
  }
}

@media screen and (max-width: 349px) {
  .m-media.-about .m-media__btn {
    width: 300px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-merit .m-media__btn {
    margin-top: 55px;
    margin-left: 55px;
    width: 420px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__picture {
    margin-top: 15px;
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-history .m-media__picture {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 460px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-history .m-media__picture {
    width: 158px;
    margin: 35px auto 25px auto
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-text-wide .m-media__picture {
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-text-wide.-merit .m-media__picture {
    width: 360px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-feature-top .m-media__picture {
    margin-top: 0
  }
  .m-media.-feature-top .m-media__picture img {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-normal .m-media__picture>img {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__box.-has-balloons .m-media__picture {
    margin-left: 70px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__box.-has-balloons .m-media__picture {
    width: 70%;
    margin-left: 10%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__box.-has-balloons.-fs-top .m-media__picture {
    position: relative;
    width: 200px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__box.-has-balloons.-fs-top .m-media__picture {
    width: 48%
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about .m-media__picture {
    padding: 0px 40px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__picture>img {
    height: 315px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about .m-media__picture>img {
    max-width: 414px;
    height: 240px;
    width: auto
  }
}

@media screen and (max-width: 414px) {
  .m-media.-about .m-media__picture>img {
    width: 100%;
    height: auto
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about.-merit .m-media__picture {
    margin-top: 20px
  }
  .m-media.-about.-merit .m-media__picture>img {
    max-width: 100%;
    height: auto
  }
}

.m-media.-row .m-media__picture {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-row .m-media__picture {
    margin-top: 60px
  }
  .m-media.-row .m-media__picture>img {
    width: 930px;
    height: auto
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-row .m-media__picture {
    margin-top: 45px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice .m-media__picture {
    margin-left: 20px;
    position: relative
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice .m-media__picture {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 40%
  }
}

.m-media.-voice-result .m-media__picture {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice-result .m-media__picture {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-person .m-media__picture {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 330px
  }
  .m-media.-person .m-media__picture>img {
    width: 195px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-person .m-media__picture {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 45%
  }
}

.m-media__ib {
  display: inline-block
}

.m-media__text-block {
  font-weight: bold;
  line-height: 2
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__text-block {
    font-size: 13px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__text-block {
    font-size: 10px
  }
}

.m-media.-voice .m-media__text-block {
  font-weight: normal
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-voice .m-media__text-block {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice .m-media__text-block {
    font-size: 12px;
    line-height: 1.4
  }
}

.m-media.-person .m-media__text-block {
  font-weight: normal;
  line-height: 1.4
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-person .m-media__text-block {
    margin: 20px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-person .m-media__text-block {
    margin: 10px;
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-person .m-media__text-block img {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__text-block+.m-media__text-block {
    margin-bottom: 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__text-block+.m-media__text-block {
    margin-top: 10px
  }
}

.m-media__title {
  margin-bottom: 15px;
  color: #005fa4;
  font-size: 22px;
  line-height: 1.25;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .m-media__title {
    font-size: 16px
  }
}

.m-media.-feature-top .m-media__title {
  margin-bottom: 0;
  text-align: center;
  font-weight: normal
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-feature-top .m-media__title {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-feature-top .m-media__title {
    display: inline-block
  }
}

.m-media.-about .m-media__title {
  letter-spacing: 0.05em;
  width: 100%
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-about .m-media__title {
    padding-bottom: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-about .m-media__title {
    padding-top: 10px;
    padding-bottom: 20px
  }
}

.m-media__title-box.-bg-blue .m-media__title {
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title-box.-bg-blue .m-media__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title-box.-bg-blue .m-media__title {
    padding: 0 0 5px;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-voice .m-media__title {
    margin-bottom: 5px;
    font-size: 12px
  }
}

.m-media__title__sub {
  font-weight: bold;
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title__sub {
    text-align: left;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title__sub {
    font-size: 15px
  }
}

.m-media__title__main {
  display: block;
  font-weight: bold;
  color: #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title__main {
    font-size: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title__main {
    font-size: 30px;
    margin: 5px 0
  }
}

.m-media__mark-notice {
  display: inline-block;
  color: #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__mark-notice {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__mark-notice {
    font-size: 12px;
    vertical-align: middle
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title-box {
    padding-left: 5px;
    padding-right: 5px;
    display: inline-block;
    position: relative;
    text-align: left;
    width: auto;
    margin-left: auto;
    margin-right: auto
  }
}

.m-media__title-box.-bg-blue {
  position: relative;
  background: #005fa4;
  border-radius: 6px
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title-box.-bg-blue {
    padding: 20px 140px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title-box.-bg-blue {
    padding: 14px
  }
  .m-media.-feature-top .m-media__title-box.-bg-blue {
    padding: 14px
  }
}

.m-media__title-box.-point {
  margin-top: 5px;
  line-height: 1.3;
  position: relative
}

.m-media__title-box.-point:before {
  content: "※";
  position: absolute;
  top: 0
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title-box.-point:before {
    left: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title-box.-point:before {
    left: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__title-box.-point {
    padding-left: 70px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__title-box.-point {
    margin-top: 10px;
    padding-left: 15px;
    text-align: left
  }
}

.m-media__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 20px 0 0;
  overflow: hidden;
  padding-bottom: 10px
}

@media only screen and (max-width: 767px) {
  .m-media__box {
    margin: 15px 0 0
  }
}

.m-media__box.-has-balloons {
  overflow: visible
}

@media only screen and (max-width: 767px) {
  .m-media__box.-has-balloons {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__box.-has-balloons.-fs-top {
    margin-top: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__box.-has-balloons.-fs-top {
    position: relative;
    margin-top: 20%
  }
}

.m-media__table {
  margin-left: 20px
}

@media only screen and (max-width: 767px) {
  .m-media__table {
    margin-left: 0
  }
}

.m-media__sub-title {
  font-size: 24px;
  margin-top: 31px
}

@media only screen and (max-width: 767px) {
  .m-media__sub-title {
    font-size: 14px;
    margin-top: 25px
  }
}

.m-media__link {
  display: block
}

.m-media.-photo-sample .m-media__link {
  text-align: center;
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-photo-sample .m-media__link {
    padding: 0 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-photo-sample .m-media__link>img {
    max-width: 414px
  }
}

@media screen and (max-width: 414px) {
  .m-media.-photo-sample .m-media__link>img {
    width: 100%
  }
}

.m-media.-photo-sample.-sample-fs .m-media__link>img {
  border: 1px solid #0e68a9
}

@media only screen and (min-width: 768px), tv, print {
  .m-media.-photo-sample.-score-fs .m-media__link>img {
    height: auto;
    width: 245px
  }
}

@media only screen and (max-width: 767px) {
  .m-media.-photo-sample.-score-fs .m-media__link>img {
    width: 60%
  }
}

.m-media__balloons {
  z-index: 1;
  position: relative
}

.m-media__box.-has-balloons.-fs-top .m-media__balloons {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__box.-has-balloons.-fs-top .m-media__balloons {
    top: -60px;
    left: 120px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__box.-has-balloons.-fs-top .m-media__balloons {
    left: 38%;
    top: -25%
  }
}

.m-media__balloons__item {
  position: absolute;
  overflow: visible;
  opacity: 0;
  margin-top: 30px;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  text-align: center
}

.m-media__box.-has-balloons.-fs-top .m-media__balloons__item {
  position: relative
}

@media only screen and (max-width: 767px) {
  .m-media__box.-has-balloons.-fs-top .m-media__balloons__item {
    top: 0
  }
}

.m-media__balloons__item.is-active {
  opacity: 1;
  margin-top: 0px
}

@media only screen and (max-width: 767px) {
  .m-media__balloons__item {
    top: -150px;
    right: 0px
  }
  .m-media__balloons__item.-type-normal {
    top: -280px;
    right: 0px
  }
}

@media only screen and (max-width: 767px) and (max-width: 349px) {
  .m-media__balloons__item.-type-normal {
    top: -220px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__balloons__item.-item-1 {
    top: 0;
    left: -15px;
    -webkit-transition-delay: 1s;
    transition-delay: 1s
  }
  .m-media__box.-has-balloons.-fs-top .m-media__balloons__item.-item-1 {
    top: 0;
    left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media__balloons__item.-item-1 {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__balloons__item.-item-2 {
    top: 120px;
    left: 155px;
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s
  }
  .m-media__box.-has-balloons.-fs-top .m-media__balloons__item.-item-2 {
    top: 0;
    left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media__balloons__item.-item-2 {
    -webkit-transition-delay: 2.5s;
    transition-delay: 2.5s
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__balloons__item.-item-3 {
    top: 0;
    left: 325px;
    -webkit-transition-delay: 2s;
    transition-delay: 2s
  }
  .m-media__box.-has-balloons.-fs-top .m-media__balloons__item.-item-3 {
    top: 0;
    left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-media__balloons__item.-item-3 {
    -webkit-transition-delay: 4.5s;
    transition-delay: 4.5s
  }
}

.m-media__balloon {
  opacity: 0;
  margin-top: 30px;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__balloon {
    position: absolute;
    top: -50px;
    left: 220px
  }
}

.m-media__balloon.is-active {
  opacity: 1;
  margin-top: 0px
}

.m-media__name {
  display: block;
  font-weight: bold;
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__name {
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__name {
    margin-bottom: 5px
  }
}

.m-media__zoom {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__zoom {
    right: 10px;
    bottom: -10px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__zoom {
    right: 10px;
    bottom: -10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__zoom.-score-type-3 {
    right: 68px;
    bottom: -10px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__zoom.-score-type-3 {
    right: 50px;
    bottom: -10px
  }
}

.m-media__linkbox {
  text-align: center;
  margin-top: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .m-media__linkbox {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-media__linkbox {
    font-size: 14px
  }
}

.m-lead {
  margin: 65px 0 30px
}

@media only screen and (max-width: 767px) {
  .m-lead {
    padding-left: 15px;
    padding-right: 15px;
    margin: 30px 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.has-sp-p0 {
    padding-left: 0;
    padding-right: 0
  }
}

.m-lead__heading {
  font-size: 18px;
  font-weight: bold;
  color: #005fa4;
  margin-bottom: 5px
}

.m-lead__text {
  margin-bottom: 10px;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .m-lead__text {
    font-size: 14px;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead__text.-under-title-09 {
    padding-left: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead__text.-under-title-09 {
    padding-left: 32px;
    padding-right: 15px
  }
}

.m-lead__title {
  font-size: 20px;
  letter-spacing: 0.05em
}

@media only screen and (max-width: 767px) {
  .m-lead__title {
    font-size: 15px
  }
}

.m-lead__subtxt {
  font-size: 14px;
  padding-left: 20px;
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .m-lead__subtxt {
    font-size: 12px;
    display: block;
    padding-left: 0;
    margin-top: 15px
  }
}

.m-lead__sub-title {
  font-size: 18px;
  letter-spacing: 0.05em
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead__sub-title {
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead__sub-title {
    font-size: 12px;
    line-height: 1.5;
    margin: 5px auto 10px;
    padding: 0 20px
  }
}

.m-lead__img {
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .m-lead__img {
    height: 16px
  }
}

.m-lead__notice {
  font-size: 12px
}

@media only screen and (max-width: 767px) {
  .m-lead__graph {
    margin: 0 20px
  }
}

.m-lead__descbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch
}

@media only screen and (max-width: 767px) {
  .m-lead__descbox {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.m-lead__btnbox {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%
}

@media only screen and (max-width: 767px) {
  .m-lead__btnbox {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%
  }
}

.m-lead.type-1 {
  margin: 65px 0 15px
}

@media only screen and (max-width: 767px) {
  .m-lead.type-1 {
    margin: 30px 0 10px
  }
}

.m-lead.type-1 .m-lead__text {
  margin-bottom: 10px;
  margin-top: 20px
}

@media only screen and (max-width: 767px) {
  .m-lead.type-1 .m-lead__text {
    margin-bottom: 5px
  }
}

.m-lead.type-2 {
  margin: 20px 0 25px;
  text-align: center
}

.m-lead.type-2 .m-lead__text {
  margin-bottom: 5px
}

@media only screen and (max-width: 767px) {
  .m-lead.type-2 .m-lead__text {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.type-2 .m-lead__notice {
    font-size: 10px
  }
}

.m-lead.type-3 {
  margin: 0 0 15px
}

.m-lead.type-4 {
  line-height: 2
}

.m-lead.type-5 {
  margin: 65px 0 50px
}

@media only screen and (max-width: 767px) {
  .m-lead.type-5 {
    margin: 30px 0 30px
  }
}

.m-lead.type-5 .m-lead__text {
  margin-top: 20px
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.type-6 .m-lead__text {
    margin-top: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.type-6 .m-lead__notice {
    margin-bottom: 50px
  }
}

.m-lead.type-7 {
  margin: 20px 0 25px
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.type-7 .m-lead__text {
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.type-7 .m-lead__text {
    margin-top: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.type-7 .m-lead__notice {
    margin-bottom: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.type-7 .m-lead__notice {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.type-7 .m-lead__notice .m-lead__btnbox {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.type-7.-top-line {
    border-top: 1px solid #c4c3c3
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.-score-lead {
    margin: 20px auto 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.-score-lead {
    margin: 5px auto 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.has-btn .m-lead__btn {
    margin-top: 40px;
    margin-bottom: 120px;
    width: 640px;
    margin-left: auto;
    margin-right: auto
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.has-btn .m-lead__btn {
    margin-top: 20px;
    margin-bottom: 50px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.has-btn .m-lead__btn.-size-1 {
    width: 305px;
    margin-bottom: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.has-btn .m-lead__btn.-size-1 {
    margin: 30px 15px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead.has-btn .m-lead__btn.-size-2 {
    width: 410px;
    margin-bottom: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-lead.has-btn .m-lead__btn.-size-2 {
    margin: 30px 15px 0
  }
}

.m-lead__check {
  margin: 30px auto
}

@media only screen and (min-width: 768px), tv, print {
  .m-lead__check {
    width: 560px;
    margin: 50px auto
  }
}

.m-intro {
  letter-spacing: 0.075em;
  line-height: 1.33
}

@media only screen and (min-width: 768px), tv, print {
  .m-intro {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-intro {
    font-size: 12px;
    line-height: 1.5
  }
}

.m-intro.intro-1 {
  margin: 12px 0 47px
}

@media only screen and (max-width: 767px) {
  .m-intro.intro-1 {
    margin: 10px 0
  }
}

.m-intro.intro-2 {
  margin: 30px 0;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .m-intro.intro-2 {
    margin: 20px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-img-box-01 {
    padding-top: 10px;
    padding-bottom: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-img-box-01 {
    margin-top: 20px
  }
}

.m-img-box-01.no-margin {
  margin: 0;
  padding: 0
}

.m-img-box-01__title {
  color: #005fa4;
  letter-spacing: 0.075em;
  line-height: 1.55
}

@media only screen and (min-width: 768px), tv, print {
  .m-img-box-01__title {
    font-size: 18px;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-img-box-01__title {
    font-size: 15px;
    margin-bottom: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-img-box-01.title-box .m-img-box-01__title {
    min-height: 42px
  }
  .m-img-box-01.title-box .m-img-box-01__title>span {
    display: block
  }
}

.m-img-box-01__box {
  border: 1px solid #e5e5e5;
  text-align: center;
  padding: 45px
}

@media only screen and (max-width: 767px) {
  .m-img-box-01__box {
    padding: 20px
  }
}

.m-img-box-02 {
  border: 1px solid #e5e5e5;
  padding: 45px
}

@media only screen and (max-width: 767px) {
  .m-img-box-02 {
    padding: 20px
  }
}

.m-img-box-02__img {
  text-align: center
}

.m-img-box-02__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.m-img-box-02.img-center .m-img-box-02__grid {
  -ms-flex-pack: distribute;
  justify-content: space-around
}

.m-img-box-02.img-center .m-img-box-02__item-1 {
  padding: 0 12.5px
}

.m-img-box-02.-en .m-img-box-02__item-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center
}

.m-img-box-02__item-2 {
  margin-left: 25px
}

.m-img-box-02.img-center .m-img-box-02__item-2 {
  padding: 0 12.5px;
  margin-left: 0
}

.m-img-box-02.-en .m-img-box-02__item-2 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center
}

.m-img-box-02__link {
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.m-img-box-02__link:hover {
  opacity: .7
}

.m-img-box-02__annotation {
  margin-top: 25px;
  font-size: 12px
}

.m-img-box-02.img-center .m-img-box-02__text {
  margin-bottom: 20px
}

.m-img-box-03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.m-img-box-03__txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.25;
  letter-spacing: 0.05em
}

@media only screen and (max-width: 767px) {
  .m-img-box-03__txt {
    text-align: left;
    font-size: 14px
  }
}

.m-img-box-03__imgbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 15px
}

.m-tab-box__title {
  color: #005fa4;
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
  font-weight: bold;
  margin-bottom: 8px
}

@media only screen and (max-width: 767px) {
  .m-tab-box__title {
    font-size: 15px;
    margin-top: 20px
  }
}

.m-tab-box__number {
  line-height: 1;
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab-box__number {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab-box__number {
    font-size: 24px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab-box__btn {
    width: 408px;
    margin: 50px auto 25px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab-box__btn {
    margin: 20px 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-tab-box__btn-txt {
    margin-right: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-tab-box__btn-txt {
    display: block
  }
}

.m-tab-box__table-head {
  vertical-align: middle
}

.m-audio__number {
  margin-bottom: 10px
}

.m-audio__player {
  display: block;
  width: 100%
}

@media only screen and (min-width: 768px), tv, print {
  .m-audio__player {
    width: 300px
  }
}

.m-audio__btns {
  margin: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.m-audio__btn {
  background-image: url(../images/bgi-audio_001.png);
  background-repeat: no-repeat;
  background-size: 146px 48px;
  cursor: pointer
}

@media only screen and (max-width: 767px) {
  .m-audio__btn {
    background-size: 100%
  }
}

.m-audio__btn+.m-audio__btn {
  margin-left: 4px
}

.m-audio__choices {
  font-weight: bold;
  font-size: 18px
}

.m-audio__question {
  margin: 5px 0
}

.m-audio__answer {
  margin-top: 20px
}

.m-audio__notice {
  margin-bottom: 15px
}

@media only screen and (max-width: 767px) {
  .m-audio__notice {
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-audio.type-1 .m-audio__btns {
    margin-left: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-audio.type-1 .m-audio__btn>img {
    width: 150px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-audio.type-1 .m-audio__btn:nth-child(2) {
    margin-left: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-audio.type-1 .m-audio__player {
    width: 310px;
    margin-left: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-audio.type-1 .m-audio__notice {
    margin-left: 10px
  }
}

.m-menu-btns {
  margin: 60px 0 50px
}

@media only screen and (min-width: 768px), tv, print {
  .m-menu-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

@media only screen and (max-width: 767px) {
  .m-menu-btns {
    margin: 30px 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-menu-btns.center {
    margin-right: 0;
    margin-left: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-menu-btns.center .m-menu-btns__btn {
    margin: 0 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-menu-btns.center .m-menu-btns__btn {
    margin-right: 0;
    margin-left: 0
  }
}

.m-menu-btns.btn-1 {
  margin: 30px 15px
}

.m-menu-btns__btn {
  margin: 0 50px
}

@media only screen and (min-width: 768px), tv, print {
  .m-menu-btns__btn {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 400px
  }
}

@media only screen and (max-width: 767px) {
  .m-menu-btns__btn {
    margin: 0 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-menu-btns__btn+.m-menu-btns__btn {
    margin-top: 15px
  }
}

.m-graph {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph {
    text-align: center;
    vertical-align: bottom;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.m-graph__item {
  line-height: 1.5;
  width: 40px;
  color: #ffffff;
  letter-spacing: 0.05em
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item {
    padding: 10px 3px 5px;
    font-size: 16px;
    margin-left: 3px;
    margin-right: 3px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: auto;
    padding: 3px 5px;
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 12px;
    line-height: 1.2
  }
}

.m-graph__item.-junior1 {
  background-color: #95c51b
}

.m-graph__item.-junior2 {
  background-color: #00a43e
}

.m-graph__item.-juniorplus {
  background-color: #007130
}

.m-graph__item.-core {
  background-color: #e79100
}

.m-graph__item.-basic {
  background-color: #c8152d
}

.m-graph__item.-advanced {
  background-color: #007aba
}

.m-graph__item.-gtec {
  background-color: #005fa4
}

.m-graph__item.-cbt {
  background-color: #1c3358
}

.m-graph__item.-academic {
  background-color: #b80074
}

.m-graph__item.-business {
  background-color: #7c8595
}

.m-graph__item.-gjo {
  background-color: #399
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l0 {
    height: 0%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l0 {
    width: 0%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l5 {
    height: 5%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l5 {
    width: 5%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l10 {
    height: 10%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l10 {
    width: 10%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l15 {
    height: 15%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l15 {
    width: 15%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l20 {
    height: 20%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l20 {
    width: 20%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l25 {
    height: 25%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l25 {
    width: 25%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l30 {
    height: 30%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l30 {
    width: 30%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l35 {
    height: 35%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l35 {
    width: 35%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l40 {
    height: 40%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l40 {
    width: 40%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l45 {
    height: 45%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l45 {
    width: 45%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l50 {
    height: 50%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l50 {
    width: 50%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l55 {
    height: 55%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l55 {
    width: 55%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l60 {
    height: 60%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l60 {
    width: 60%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l65 {
    height: 65%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l65 {
    width: 65%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l70 {
    height: 70%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l70 {
    width: 70%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l75 {
    height: 75%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l75 {
    width: 75%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l80 {
    height: 80%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l80 {
    width: 80%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l85 {
    height: 85%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l85 {
    width: 85%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l90 {
    height: 90%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l90 {
    width: 90%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l95 {
    height: 95%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l95 {
    width: 95%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-l100 {
    height: 100%
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-l100 {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-1 {
    height: 205px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-high-type-1 {
    margin-right: 24%
  }
}

@media screen and (max-width: 350px) {
  .m-graph__item.-high-type-1 {
    margin-right: 10%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-2 {
    height: 230px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-high-type-2 {
    margin-right: 12%
  }
}

@media screen and (max-width: 350px) {
  .m-graph__item.-high-type-2 {
    margin-right: 7%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-3 {
    height: 280px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-4 {
    height: 150px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-high-type-4 {
    margin-right: 24%
  }
}

@media screen and (max-width: 350px) {
  .m-graph__item.-high-type-4 {
    margin-right: 12%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-5 {
    height: 205px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-high-type-5 {
    margin-right: 16%
  }
}

@media screen and (max-width: 350px) {
  .m-graph__item.-high-type-5 {
    margin-right: 8%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-6 {
    height: 260px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-high-type-6 {
    margin-right: 8%
  }
}

@media screen and (max-width: 350px) {
  .m-graph__item.-high-type-6 {
    margin-right: 4%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-high-type-7 {
    height: 340px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__item.-high-type-7 {
    height: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__item.-width-type-1 {
    width: 30px
  }
}

.m-graph__txt {
  border: 1px solid #ffffff;
  margin: 3px;
  padding: 5px 4px;
  font-size: 14px;
  line-height: 1.3
}

@media only screen and (min-width: 768px), tv, print {
  .m-graph__txt {
    display: block;
    text-align: center;
    white-space: nowrap;
    min-height: 77px
  }
  .m-graph__item.-width-type-1 .m-graph__txt {
    padding: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 12px;
    padding: 1px;
    min-width: 55px
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__score {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right
  }
}

@media only screen and (max-width: 767px) {
  .m-graph__title {
    width: 120px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image {
    margin: 50px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image {
    margin: 25px 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-pc-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-report {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image.-report {
    margin-bottom: 100px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-normal-sample {
    margin: 50px 50px 50px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image+.m-sample-image {
    margin-top: 80px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image+.m-sample-image {
    margin-top: 40px
  }
}

.m-sample-image__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__text {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 400px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__text {
    margin-bottom: 15px;
    font-size: 12px
  }
}

.m-sample-image.-register .m-sample-image__text {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-register .m-sample-image__text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 45px 30px;
    margin: 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image.-register .m-sample-image__text {
    padding: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-normal-sample .m-sample-image__text {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 350px;
    padding-left: 25px
  }
}

.m-sample-image__icon {
  text-align: center;
  margin: 0 15px
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__icon {
    width: 60px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__icon {
    width: 34px
  }
}

.m-sample-image__icon-text {
  font-weight: bold;
  color: #0070cb
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__icon-text {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__icon-text {
    font-size: 12px
  }
}

.m-sample-image__image {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__image {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto
  }
  .m-sample-image__image.--pc600 {
    width: 600px
  }
  .m-sample-image__image .m-sample-image__image__pic600 {
    width: 600px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__image {
    width: 75%;
    margin-left: auto;
    margin-right: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-register .m-sample-image__image {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image.-register .m-sample-image__image {
    margin-bottom: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-report .m-sample-image__image {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 400px;
    margin: 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__image.-double {
    width: 75%;
    max-width: 300px
  }
}

.m-sample-image__icon-zoom {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__icon-zoom {
    right: -10px;
    bottom: -10px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__icon-zoom {
    right: -5px;
    bottom: -5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image.-register .m-sample-image__icon-zoom {
    right: 20px;
    bottom: -15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__image.-double .m-sample-image__icon-zoom {
    right: -5px;
    bottom: -15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__title {
    margin-bottom: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__title {
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__list {
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__list {
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__list li+li {
    margin-top: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__list li+li {
    margin-top: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__image-unit {
    position: absolute
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__image-unit {
    width: 100%
  }
}

.m-sample-image__image-unit .m-sample-image__image__original {
  width: 300px
}

.m-sample-image__image-unit.-item-01 {
  right: 0;
  top: 80px
}

@media only screen and (max-width: 767px) {
  .m-sample-image__image-unit.-item-01 {
    position: relative;
    top: 0;
    right: -20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__image-unit.-item-02 {
    right: 100px;
    top: 120px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__image-unit.-item-02 {
    position: absolute;
    right: 15%;
    top: 20%
  }
}

.m-sample-image__item-title {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-sample-image__item-title {
    margin-bottom: 40px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-sample-image__item-title {
    margin-bottom: 20px;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__item+.m-card-lineup__item {
    margin-top: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__item {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: calc(33.333333% - 4px)
  }
}

.m-card-lineup__content {
  width: auto;
  height: auto
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__content {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__content {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 43%
  }
}

.m-card-lineup__content img {
  margin: 0;
  width: 100%;
  border-left: 2px solid #005fa4;
  border-bottom: 2px solid #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__content img {
    margin-bottom: 5px;
    border-right: 2px solid #005fa4;
    border-radius: 0 0 6px 6px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__content img {
    border-top: 2px solid #005fa4;
    border-radius: 3px 0 0 3px
  }
}

.m-card-lineup__title {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__title {
    min-height: 52px
  }
}

.m-card-lineup__title-small {
  display: block;
  font-weight: bold;
  color: #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__title-small {
    font-size: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__title-small {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__title-small {
    font-weight: normal;
    color: #005fa4;
    font-size: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__item.is-active .m-card-lineup__title-small {
    color: #fcc800
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__logo {
    margin: 15px 0
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__logo {
    margin: 5px 0;
    height: 18px;
    width: auto
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__logo {
    height: 12px
  }
}

.m-card-lineup__titlebox {
  position: relative;
  background-color: #005fa4;
  text-align: center;
  border-top: 2px solid #005fa4;
  border-right: 2px solid #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__titlebox {
    padding: 20px;
    border-left: 2px solid #005fa4;
    border-radius: 6px 6px 0 0
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__titlebox {
    border-bottom: 2px solid #005fa4;
    border-radius: 0 3px 3px 0;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 57%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .m-card-lineup.-sp-simple .m-card-lineup__titlebox {
    width: 100%
  }
}

.m-card-lineup__titlebox:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 6px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome;
  font-size: 200%;
  color: #fff
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__titlebox {
    height: 100%;
    padding: 5px 0;
    border: 1px solid #005fa4;
    border-radius: 4px;
    background-color: transparent
  }
  .m-card-lineup.-sp-simple .m-card-lineup__titlebox:after {
    display: none
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__item.is-active .m-card-lineup__titlebox {
    background-color: #005fa4
  }
}

.m-card-lineup__title-sub {
  color: #fff;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-lineup__title-sub {
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__title-sub {
    font-size: 10px
  }
}

.m-card-lineup__link {
  display: block;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
  text-decoration: none
}

@media only screen and (max-width: 767px) {
  .m-card-lineup__link {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  .m-card-lineup.-sp-simple .m-card-lineup__link {
    display: block
  }
}

.m-card-lineup__link:hover {
  opacity: 0.7
}

@media only screen and (max-width: 767px) {
  .m-card-lineup.-sp-simple .m-card-lineup__link {
    height: 100%
  }
}

.m-card-mypage__content {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 40%;
  height: auto;
  padding: 2px 0 2px 2px
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-mypage__content {
    width: 265px;
    font-size: 18px
  }
}

.m-card-mypage__content img {
  margin: 0;
  width: 100%
}

.m-card-mypage__title {
  text-align: center
}

.m-card-mypage__title-small {
  font-weight: bold;
  color: #fcc800
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-mypage__title-small {
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-mypage__title-small {
    display: block;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-mypage__logo {
    height: 18px;
    width: auto;
    margin-left: 5px;
    vertical-align: -2px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-mypage__logo {
    display: block;
    height: 10px;
    width: auto;
    margin: 5px auto
  }
}

.m-card-mypage__titlebox {
  position: relative;
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 5px 0
}

.m-card-mypage__titlebox:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 6px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '\f105';
  font-family: FontAwesome;
  font-size: 200%;
  color: #fff
}

.m-card-mypage__title-sub {
  color: #fff;
  font-weight: bold;
  line-height: 1.2
}

@media only screen and (min-width: 768px), tv, print {
  .m-card-mypage__title-sub {
    margin-top: 10px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-card-mypage__title-sub {
    font-size: 10px
  }
}

.m-card-mypage__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.m-card-mypage__link:hover {
  opacity: .7
}

.m-card-mypage.-cbt .m-card-mypage__link {
  background-color: #1c3358
}

.m-card-mypage.-business .m-card-mypage__link {
  background-color: #7c8595
}

.m-anchor {
  background-color: #005fa4;
  border-radius: 4px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor {
    display: block;
    padding: 15px 0 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 30px 15px 25px
  }
}

.m-anchor.-junior1 {
  background-color: #95c51b
}

.m-anchor.-junior2 {
  background-color: #00a43e
}

.m-anchor.-juniorplus {
  background-color: #007130
}

.m-anchor.-core {
  background-color: #e79100
}

.m-anchor.-basic {
  background-color: #c8152d
}

.m-anchor.-advanced {
  background-color: #007aba
}

.m-anchor.-gtec {
  background-color: #005fa4
}

.m-anchor.-cbt {
  background-color: #1c3358
}

.m-anchor.-academic {
  background-color: #b80074
}

.m-anchor.-business {
  background-color: #7c8595
}

.m-anchor.-gjo {
  background-color: #399
}

.m-anchor.-blue {
  background-color: #005fa4
}

.m-anchor.-lightgray {
  background-color: #f2f2f2;
  color: #000
}

.m-anchor.-border {
  background-color: transparent;
  border: 2px solid #005fa4;
  color: #005fa4
}

.m-anchor:after {
  display: block;
  font-family: "FontAwesome";
  content: "\f103"
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor:after {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor:after {
    position: absolute;
    right: 15px;
    top: 13px;
    font-size: 18px
  }
}

.m-anchor:hover {
  opacity: 0.7
}

.m-anchor.-score-anchor {
  padding: 29px 0 5px
}

@media only screen and (max-width: 767px) {
  .m-anchor.-score-anchor {
    padding: 4px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.m-anchor.-score-anchor:after {
  line-height: 1;
  margin-top: 6px
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-score-anchor.-level-chart {
    padding: 24px 0 5px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-score-anchor.-sample {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-score-anchor.-grade:after {
    top: 0;
    bottom: 0;
    margin: auto 0;
    height: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-score-anchor.-grade {
    padding: 9px 0 2px
  }
}

.m-anchor.-register {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-register {
    padding: 26px 0 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-register {
    padding: 10px 30px 10px 15px;
    border-radius: 0
  }
}

.m-anchor.-register:after {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-register:after {
    line-height: 1;
    margin-bottom: -15px;
    left: 50%;
    bottom: 25px
  }
}

.m-anchor.-register.-item-01 {
  background-color: #3abdde
}

.m-anchor.-register.-item-02 {
  background-color: #148ad1
}

.m-anchor.-register.-item-03 {
  background-color: #0070cb
}

.m-anchor.-register.-item-04 {
  background-color: #014e8d
}

.m-anchor.-register.-item-05 {
  background-color: #1c3358
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-fs-score {
    padding: 20px 0 0
  }
}

.m-anchor.-fs-score-level {
  background-color: #1c85d2
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-product {
    padding: 15px 0 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-product {
    padding: 10px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.m-anchor.-product:after {
  line-height: 1
}

.m-anchor.-fs-register {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-fs-register {
    padding: 20px 15px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-fs-register {
    padding: 15px 10px
  }
}

.m-anchor.-fs-register:after {
  left: auto;
  bottom: 0;
  margin: auto
}

.m-anchor__number {
  display: inline-block;
  font-weight: bold;
  text-shadow: #005fa4 1px 1px 0px, #005fa4 -1px 1px 0px, #005fa4 1px -1px 0px, #005fa4 -1px -1px 0px;
  line-height: 1.1
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor__number {
    margin-bottom: 15px;
    width: 60px;
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor__number {
    width: 30px;
    font-size: 20px
  }
}

.m-anchor.-register .m-anchor__number {
  display: block;
  margin-bottom: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  text-align: center;
  text-shadow: none
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-register .m-anchor__number {
    margin-right: 20px;
    line-height: 33px;
    width: 42px;
    height: 42px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-register .m-anchor__number {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 32px;
    margin-right: 20px;
    line-height: 25px;
    width: 32px;
    height: 32px;
    font-size: 18px
  }
}

.m-anchor__text {
  line-height: 1.5
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor__text {
    font-size: 20px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor__text {
    text-align: left;
    margin-left: 10px;
    font-size: 14px
  }
  .m-anchor.-score-anchor .m-anchor__text {
    font-size: 12px;
    text-align: center;
    margin-left: 0
  }
}

.m-anchor.-register .m-anchor__text {
  text-align: left;
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-register .m-anchor__text {
    padding-left: 12px
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-register .m-anchor__text {
    margin-left: 0
  }
}

@media only screen and (max-width: 767px) {
  .m-anchor.-sample .m-anchor__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.m-anchor.-fs-register .m-anchor__text {
  padding-left: 0
}

.m-anchor__strong {
  font-size: 24px;
  font-weight: bold;
  display: block
}

@media only screen and (max-width: 767px) {
  .m-anchor__strong {
    font-size: 18px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-level-chart .m-anchor__strong {
    font-size: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-level-chart.-font-smaller .m-anchor__strong {
    font-size: 28px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-grade .m-anchor__strong {
    line-height: 1.2;
    margin-bottom: 3px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-anchor.-fs-score .m-anchor__strong {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 70px
  }
}

.m-anchor__iconbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 100px;
  background-repeat: no-repeat;
  background-position: 18px center
}

@media only screen and (max-width: 767px) {
  .m-anchor__iconbox {
    background-size: contain;
    background-position: left;
    padding-left: 80px
  }
}

.m-anchor__iconbox.-listening {
  background-image: url(/gtec/junior/common/images/icon_listen_white.png)
}

.m-anchor__iconbox.-reading {
  background-image: url(/gtec/junior/common/images/icon_read_white.png)
}

.m-anchor__iconbox.-speaking {
  background-image: url(/gtec/junior/common/images/icon_spreak_white.png)
}

.m-anchor__iconbox.-writing {
  background-image: url(/gtec/junior/common/images/icon_write_white.png)
}

@media only screen and (max-width: 767px) {
  .m-anchor__en {
    padding-left: 20px
  }
}

.m-balloon-square {
  position: relative;
  background-color: #fff;
  border: 1px solid #005fa4;
  border-radius: 6px;
  line-height: 1.4
}

@media only screen and (min-width: 768px), tv, print {
  .m-balloon-square {
    padding: 30px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon-square {
    padding: 12px;
    font-size: 12px
  }
}

.m-balloon-square:before {
  z-index: 1;
  bottom: -30px;
  border-width: 30px 16px 0 16px;
  border-color: #005fa4 transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid
}

.m-balloon-square:after {
  z-index: 2;
  bottom: -28px;
  border-width: 30px 16px 0 16px;
  border-color: #fff transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid
}

.m-balloon-square.-to-left {
  border-width: 2px
}

@media only screen and (max-width: 767px) {
  .m-balloon-square.-to-left {
    width: 212px;
    height: 83px;
    padding: 20px 15px 20px 35px;
    background-color: transparent;
    border: none;
    background-image: url(/gtec/junior/images/bg_balloon_sp.png);
    background-repeat: no-repeat;
    background-size: 212px 83px
  }
}

.m-balloon-square.-to-left:before {
  top: 14px;
  bottom: auto;
  left: -60px;
  right: auto;
  border-width: 0 60px 30px 0;
  border-color: transparent #005fa4 transparent transparent
}

@media only screen and (max-width: 767px) {
  .m-balloon-square.-to-left:before {
    display: none
  }
}

.m-balloon-square.-to-left:after {
  top: 16px;
  bottom: auto;
  left: -52px;
  right: auto;
  border-width: 0 60px 30px 0;
  border-color: transparent #fff transparent transparent
}

@media only screen and (max-width: 767px) {
  .m-balloon-square.-to-left:after {
    display: none
  }
}

.m-balloon-square.-to-top:before {
  bottom: auto;
  top: -80px;
  border-width: 0 50px 80px 50px;
  border-color: transparent transparent #005fa4 transparent
}

@media only screen and (max-width: 767px) {
  .m-balloon-square.-to-top:before {
    border-width: 0 25px 40px 25px
  }
}

.m-balloon-square.-to-top:after {
  bottom: auto;
  top: -78px;
  border-width: 0 50px 80px 50px;
  border-color: transparent transparent #fff transparent
}

@media only screen and (max-width: 767px) {
  .m-balloon-square.-to-top:after {
    border-width: 0 25px 40px 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-balloon-square.-text-large {
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon-square.-text-large {
    font-size: 12px
  }
}

.m-balloon-square__em {
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-balloon-square__em {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon-square__em {
    font-size: 16px
  }
}

.m-balloon-square__text-sub {
  display: block;
  text-align: right;
  margin-top: 10px
}

.m-balloon-square__link {
  display: block;
  text-align: right;
  text-decoration: underline;
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .m-balloon-square__link {
    margin-top: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon-square__link {
    margin-top: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-balloon-square__link:before {
    margin-right: 10px
  }
}

@media only screen and (max-width: 767px) {
  .m-balloon-square__link:before {
    margin-right: 5px
  }
}

.m-accordion__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.m-accordion__title.-open-blue {
  background-color: #ffffff;
  border: 2px solid #005fa4;
  color: #005fa4;
  margin-bottom: -2px
}

.m-accordion__title.-open-blue:before {
  background-color: #005fa4
}

.m-accordion__title.-open-blue:after {
  background-color: #005fa4
}

.m-accordion__title.-open-blue.is-active {
  background-color: #005fa4;
  border: 2px solid transparent;
  color: #ffffff
}

@media only screen and (max-width: 767px) {
  .m-accordion__main {
    position: relative;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    max-height: 1000px
  }
  .m-accordion__main.is-close {
    overflow: hidden;
    line-height: 0 !important;
    max-height: 0;
    top: -5px
  }
}

.m-accordion__grade {
  line-height: 1
}

@media only screen and (max-width: 767px) {
  .m-accordion__grade {
    font-size: 18px;
    font-weight: bold
  }
}

@media only screen and (max-width: 767px) {
  .m-accordion__grade>strong {
    font-size: 24px
  }
}

.m-contact {
  padding: 20px;
  text-align: left
}

@media only screen and (max-width: 767px) {
  .m-contact {
    padding: 10px
  }
}

.m-contact__tel {
  font-size: 30px;
  display: inline-block;
  margin-right: 10px;
  font-weight: bold
}

.m-contact__timebox {
  margin: 10px
}

@media only screen and (max-width: 767px) {
  .m-contact__timebox {
    margin: 10px 0
  }
}

.m-contact__time {
  display: block;
  font-size: 20px
}

@media only screen and (max-width: 767px) {
  .m-contact__time {
    font-size: 12px
  }
}

.m-contact__txt {
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .m-contact__txt {
    font-size: 10px;
    letter-spacing: -0.05em;
    text-align: justify;
    display: inline-block
  }
}

.m-contact__tel-link {
  display: inline-block;
  color: #005fa4;
  text-decoration: underline
}

@media only screen and (max-width: 767px) {
  .m-contact__tel-link {
    font-size: 18px;
    font-weight: bold
  }
}

.m-step {
  padding: 30px 20px
}

.m-step__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px
}

@media only screen and (max-width: 767px) {
  .m-step__item {
    padding: 20px 0
  }
}

.m-step__arrow {
  background-color: #3abdde;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100px;
  height: 60px;
  text-align: center
}

.m-step__arrow:before {
  bottom: -20px;
  border-width: 20px 50px 0 50px;
  border-color: #3abdde transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid
}

.m-step__arrow.-type-color1 {
  background-color: #148ad1
}

.m-step__arrow.-type-color1:before {
  border-color: #148ad1 transparent transparent transparent
}

.m-step__arrow.-type-color2 {
  background-color: #0070cb
}

.m-step__arrow.-type-color2:before {
  border-color: #0070cb transparent transparent transparent
}

.m-step__arrow.-type-color3 {
  background-color: #005fa4
}

.m-step__arrow.-type-color3:before {
  border-color: #005fa4 transparent transparent transparent
}

.m-step__arrow.-type-color4 {
  background-color: #1c3358
}

.m-step__arrow.-type-color4:before {
  border-color: #1c3358 transparent transparent transparent
}

.m-step__arrow-txt {
  font-size: 16px;
  letter-spacing: -0.05em;
  line-height: 1.25
}

@media only screen and (max-width: 767px) {
  .m-step__arrow-txt {
    font-size: 12px
  }
}

.m-step__sub-title {
  font-size: 20px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 50px
}

@media only screen and (max-width: 767px) {
  .m-step__sub-title {
    padding-left: 10px;
    font-size: 14px
  }
}

.m-step__txt {
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .m-step__txt {
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-logo__img {
    width: 210px;
    margin: 0 auto
  }
}

@media only screen and (max-width: 767px) {
  .m-product-logo__img {
    width: 140px;
    margin: 0 auto
  }
}

.m-product-logo__txt {
  letter-spacing: -0.005em
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-logo__txt {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-logo__txt {
    font-size: 12px;
    margin: 40px 20px
  }
}

.m-product-img {
  background-color: #eeeeee
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img {
    padding: 30px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img {
    padding: 15px 20px 30px
  }
}

.m-product-img__title {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__title {
    font-size: 24px;
    margin-bottom: 40px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__title {
    font-size: 18px;
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__main {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__imgbox {
    -ms-flex-preferred-size: 170px;
    flex-basis: 170px;
    max-width: 170px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__imgbox {
    max-width: 255px;
    margin: 0 auto 25px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__img {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__cont {
    -ms-flex-preferred-size: 730px;
    flex-basis: 730px;
    max-width: 730px;
    padding-left: 20px
  }
}

.m-product-img__subttl {
  letter-spacing: 0.005em;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__subttl {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__subttl {
    font-size: 12px
  }
}

.m-product-img__txt {
  letter-spacing: 0.005em
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__txt {
    font-size: 18px;
    margin-bottom: 50px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__txt {
    font-size: 12px;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__btnbox {
    width: 310px;
    margin: 0 auto
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__btnbox {
    width: 245px;
    margin: 0 auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .m-product-img__link {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .m-product-img__link {
    font-size: 14px
  }
}

.m-heading {
  position: relative;
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .m-heading {
    font-size: 14px
  }
}

.m-heading.-check {
  padding-left: 30px
}

.m-heading.-check:before {
  position: absolute;
  left: 0;
  top: 6px;
  width: 24px;
  height: 22px;
  margin-top: -4px;
  margin-right: 15px;
  display: inline-block;
  content: "";
  vertical-align: middle;
  background-image: url(/gtec/fs/product/images/icon_check.png);
  background-repeat: no-repeat
}

@media only screen and (max-width: 767px) {
  .m-heading.-check:before {
    top: 3px
  }
}

.m-heading__main {
  font-weight: bold
}

.m-heading__sub {
  margin-left: 10px;
  font-weight: normal
}

.m-heading__under {
  margin: 10px 0
}

.o-header-top {
  padding: 10px 0 14px;
  border-bottom: 1px solid #c6c6c6
}

@media only screen and (min-width: 768px), tv, print {
  .o-header-top {
    padding: 0;
    border-bottom: 0
  }
}

@media only screen and (max-width: 767px) {
  .o-header-top {
    padding: 0 7.5px 9px 12px
  }
}

@media screen and (max-width: 349px) {
  .o-header-top {
    padding: 0 7.5px 9px 10px
  }
}

.o-header-top__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-header-top__listbox.-gjo-head-top {
    height: 38px
  }
}

@media only screen and (max-width: 767px) {
  .o-header {
    min-height: 35px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-header__inner {
    padding: 10px 0 0
  }
}

@media only screen and (max-width: 767px) {
  .o-header__inner {
    position: relative;
    background-color: #fff;
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1)
  }
  .o-header.is-sp-fixed .o-header__inner {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid #c6c6c6
  }
}

.o-header__menubox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .o-header__menubox {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
}

@media only screen and (max-width: 767px) {
  .o-header__menubox {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.o-header__titlebox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

@media only screen and (min-width: 768px), tv, print {
  .o-header__titlebox {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: center;
    align-self: center;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-header__titlebox {
    text-align: center;
    width: 66.6%;
    padding-left: 15px
  }
}

@media screen and (max-width: 349px) {
  .o-header__titlebox {
    padding-left: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-header__tabbox {
    display: none
  }
}

.o-header__btn-drawer {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 33.3%;
  margin-left: auto;
  border-left: 1px solid #c6c6c6;
  text-align: center
}

.o-header__btn-drawer:before {
  font-family: FontAwesome;
  content: "\f0c9";
  font-size: 20px;
  color: #005fa4;
  vertical-align: middle;
  margin-right: 5px
}

@media only screen and (min-width: 768px), tv, print {
  .o-header__submenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: center;
    align-self: center;
    padding-bottom: 10px
  }
}

.o-kv .slick-dots {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  left: 0;
  right: 0;
  bottom: 20px
}

@media only screen and (max-width: 767px) {
  .o-kv .slick-dots {
    bottom: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv .slick-dots li+li {
    margin-left: 5px
  }
}

.o-kv .slick-dots button {
  padding: 5px;
  border: none;
  outline: none;
  background-color: transparent;
  font-size: 0;
  cursor: pointer
}

.o-kv .slick-dots button:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12)
}

.o-kv .slick-dots .slick-active button:before {
  background-color: #005fa4
}

.o-kv__item {
  position: relative;
  vertical-align: bottom
}

.o-kv__item img {
  width: 100%
}

.o-kv__arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  border: none;
  padding: 20px;
  outline: none;
  background-color: transparent;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer
}

@media only screen and (max-width: 767px) {
  .o-kv__arrow {
    padding: 5px
  }
}

.o-kv__arrow:before {
  color: #fff;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  font-family: FontAwesome;
  font-size: 60px;
  line-height: 1
}

@media only screen and (max-width: 767px) {
  .o-kv__arrow:before {
    font-size: 30px
  }
}

.o-kv.kv-news .o-kv__arrow:before {
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv.kv-news .o-kv__arrow:before {
    font-size: 50px
  }
}

.o-kv.kv-news .o-kv__arrow {
  padding: 0
}

.o-kv__arrow.slick-prev {
  left: 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv.kv-news .o-kv__arrow.slick-prev {
    left: -45px
  }
}

@media only screen and (max-width: 767px) {
  .o-kv.kv-news .o-kv__arrow.slick-prev {
    left: 5px
  }
}

.o-kv__arrow.slick-prev:before {
  content: '\f104'
}

.o-kv__arrow.slick-next {
  right: 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv.kv-news .o-kv__arrow.slick-next {
    right: -45px
  }
}

@media only screen and (max-width: 767px) {
  .o-kv.kv-news .o-kv__arrow.slick-next {
    right: 5px
  }
}

.o-kv__arrow.slick-next:before {
  content: '\f105'
}

.o-kv__copy {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  color: #fff;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-shadow: 0px 1px 20px rgba(0, 0, 0, 0.8);
  line-height: 1.5
}

.o-kv__copy img {
  width: auto
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__copy {
    font-size: 36px;
    margin-top: -32px
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__copy {
    font-size: 24px;
    margin-top: -21px
  }
}

.o-kv__copy.-with-logo {
  top: auto;
  bottom: 20%;
  line-height: 1.4
}

.o-kv__copy.-with-logo2 {
  top: auto;
  bottom: 13%;
  line-height: 1.4
}

@media only screen and (max-width: 767px) {
  .o-kv__copy.-with-logo2 {
    bottom: 10%
  }
}

.o-kv__copy.-low {
  top: auto;
  bottom: 10%
}

.o-kv__copy.-line-2 {
  top: auto;
  bottom: 20%;
  line-height: 1.2
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__copy.-line-2 {
    margin-top: -20px
  }
}

.o-kv__copy__title {
  padding-left: 0.1em
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__copy__title {
    font-size: 36px;
    display: inline-block;
    vertical-align: middle
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__copy__title {
    font-size: 16px;
    display: block
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__copy.-with-logo2 .o-kv__copy__title {
    font-size: 19px
  }
}

.o-kv__copy.-gjo .o-kv__copy__title {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__copy.-gjo .o-kv__copy__title {
    text-align: left;
    margin-left: 20px;
    font-size: 32px
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__copy.-gjo .o-kv__copy__title {
    margin-left: 15px;
    margin-right: 15px;
    font-size: 16px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__copy.-gjo .o-kv__copy__title img {
    display: inline-block;
    vertical-align: baseline;
    margin-right: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__copy.-gjo .o-kv__copy__title img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__copy__logo {
    display: inline-block;
    vertical-align: middle
  }
  .o-kv__copy__logo img {
    height: 35px;
    vertical-align: middle
  }
  .o-kv__copy.-with-logo2 .o-kv__copy__logo {
    margin-top: 10px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center
  }
  .o-kv__copy.-with-logo2 .o-kv__copy__logo img {
    margin-left: auto;
    margin-right: auto;
    height: 76px
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__copy__logo {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto
  }
  .o-kv__copy__logo img {
    display: inline-block;
    height: 30px
  }
  .o-kv__copy.-with-logo2 .o-kv__copy__logo img {
    margin-top: 5px;
    height: 43px
  }
}

.o-kv__sub-copy {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .o-kv__sub-copy {
    font-size: 20px;
    line-height: 1.2
  }
}

@media only screen and (max-width: 767px) {
  .o-kv__sub-copy {
    font-size: 12px;
    line-height: 1.2
  }
}

.o-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.o-grid.flex-start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

.o-grid.type-01 .o-grid__cell {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 310px
}

@media only screen and (max-width: 767px) {
  .o-grid.type-02 {
    display: block;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-02 .o-grid__cell {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-02 .o-grid__cell {
    width: 100%
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-03 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-03 .o-grid__cell {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 460px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-04 .o-grid__cell {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
  .o-grid.type-04 .o-grid__cell+.o-grid__cell {
    margin-left: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-04 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .o-grid.type-04 .o-grid__cell {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: calc(50% - 5px);
    margin-bottom: 10px
  }
}

.o-grid.type-05 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-05>.o-grid__cell {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-05>.o-grid__cell {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-05>.o-grid__cell+.o-grid__cell {
    margin-left: 5px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-06 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-06>.o-grid__cell {
    max-width: 33.33%;
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-06>.o-grid__cell+.o-grid__cell {
    margin-left: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-06.-sp-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.o-grid.type-07 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .o-grid.type-07 {
    margin: 0 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-07>.o-grid__cell {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-07>.o-grid__cell {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-07>.o-grid__cell+.o-grid__cell {
    margin-left: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-08 .o-grid__cell {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
  .o-grid.type-08 .o-grid__cell+.o-grid__cell {
    margin-left: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-08 {
    display: block
  }
  .o-grid.type-08 .o-grid__cell:not(:last-child) {
    margin-bottom: 10px
  }
}

.o-grid.type-09 {
  width: auto;
  min-width: 100%;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-09 {
    margin-left: -15px;
    margin-right: -15px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-09 {
    display: block;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-09 .o-grid__cell {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-09 .o-grid__cell {
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-10 .o-grid__cell {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 286px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-10 .o-grid__cell {
    width: 70%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-11 .o-grid__cell {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-12 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-12 .o-grid__cell {
    width: calc(33.333333% - 8px)
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-12 .o-grid__cell+.o-grid__cell {
    margin-top: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-12.-cell4-pc .o-grid__cell {
    width: calc(25% - 8px)
  }
}

.o-grid.type-13 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-13>.o-grid__cell {
    max-width: 43%;
    -ms-flex-preferred-size: 43%;
    flex-basis: 43%;
    text-align: center;
    padding: 0 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-13>.o-grid__cell {
    max-width: 33%;
    -ms-flex-preferred-size: 33%;
    flex-basis: 33%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-13>.o-grid__cell+.o-grid__cell {
    margin-left: 5px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-14 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-14 .o-grid__cell {
    width: calc(25% - 6px)
  }
  .o-grid.type-14 .o-grid__cell>a {
    height: 100%
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-14 .o-grid__cell+.o-grid__cell {
    margin-top: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-15 .o-grid__cell {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center
  }
  .o-grid.type-15 .o-grid__cell>img {
    height: 280px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-15 .o-grid__cell:first-child {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 40%
  }
}

.o-grid.type-16 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .o-grid.type-16 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-16>.o-grid__cell {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-16>.o-grid__cell {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-16>.o-grid__cell+.o-grid__cell {
    margin-left: 5px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-16>.o-grid__cell+.o-grid__cell {
    margin-top: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-17 {
    -ms-flex-pack: distribute;
    justify-content: space-around
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-17 {
    display: block
  }
}

.o-grid.type-17 .o-grid__cell>img {
  display: block;
  margin-left: auto;
  margin-right: auto
}

@media only screen and (max-width: 767px) {
  .o-grid.type-17 .o-grid__cell+.o-grid__cell {
    margin-top: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-18 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-18 .o-grid__cell.item-1 {
    width: calc(40% - 8px)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-18 .o-grid__cell.item-2 {
    width: calc(60% - 8px)
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-18 .o-grid__cell+.o-grid__cell {
    margin-top: 15px
  }
}

.o-grid.type-19 {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.o-grid.type-20 {
  -ms-flex-pack: distribute;
  justify-content: space-around
}

@media only screen and (max-width: 767px) {
  .o-grid.type-20 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-20 .o-grid__cell {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 400px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-20 .o-grid__cell {
    text-align: center
  }
}

.o-grid.type-21 {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media only screen and (max-width: 767px) {
  .o-grid.type-21 {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-21>.o-grid__cell {
    max-width: 43%;
    -ms-flex-preferred-size: 43%;
    flex-basis: 43%;
    text-align: center;
    padding: 0 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-21>.o-grid__cell {
    padding: 0 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-21 .o-grid__cell+.o-grid__cell {
    margin-top: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-22 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-22>.o-grid__cell {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-grid.type-23 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .o-grid.type-23 .o-grid__cell {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 350px
  }
  .o-grid.type-23 .o-grid__cell+.o-grid__cell {
    margin-left: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-grid.type-23 {
    display: block
  }
  .o-grid.type-23 .o-grid__cell:not(:last-child) {
    margin-bottom: 10px
  }
}

.o-faq {
  margin-top: 10px;
  margin-bottom: 50px
}

.o-faq__title {
  font-size: 16px
}

.o-faq__item {
  position: relative;
  margin-top: 10px
}

.o-faq__q {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  border: 3px solid #9d9d9d;
  background-color: #fff;
  border-radius: 5px;
  z-index: 50;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: streach;
  -ms-flex-pack: streach;
  justify-content: streach;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.o-faq__item.is-active .o-faq__q {
  border-color: #005fa4
}

.o-faq__item.-junior1.is-active .o-faq__q {
  border-color: #95c51b
}

.o-faq__item.-junior2.is-active .o-faq__q {
  border-color: #00a43e
}

.o-faq__item.-juniorplus.is-active .o-faq__q {
  border-color: #007130
}

.o-faq__item.-core.is-active .o-faq__q {
  border-color: #e79100
}

.o-faq__item.-basic.is-active .o-faq__q {
  border-color: #c8152d
}

.o-faq__item.-advanced.is-active .o-faq__q {
  border-color: #007aba
}

.o-faq__item.-gtec.is-active .o-faq__q {
  border-color: #005fa4
}

.o-faq__item.-cbt.is-active .o-faq__q {
  border-color: #1c3358
}

.o-faq__item.-academic.is-active .o-faq__q {
  border-color: #b80074
}

.o-faq__item.-business.is-active .o-faq__q {
  border-color: #7c8595
}

.o-faq__item.-gjo.is-active .o-faq__q {
  border-color: #399
}

.o-faq.-acc-sample .o-faq__q.is-active {
  border-color: #005fa4
}

.o-faq__table {
  display: none
}

.o-faq__item.is-active .o-faq__table {
  display: table;
  margin-top: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__item.is-active .o-faq__table {
    width: 98%
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__item.is-active .o-faq__table {
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__item.-type-gjo-faq .o-faq__table {
    width: 100%
  }
}

.o-faq__q__q {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  color: #9d9d9d;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  text-align: center;
  border-radius: 5px;
  background-color: #ffffff
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__q__q {
    font-size: 30px;
    -ms-flex-preferred-size: 50px;
    flex-basis: 50px;
    max-width: 50px;
    line-height: 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__q__q {
    font-size: 16px;
    padding: 0 10px;
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%
  }
}

.o-faq__item.is-active .o-faq__q__q {
  color: #005fa4
}

.o-faq__item.-junior1.is-active .o-faq__q__q {
  color: #95c51b
}

.o-faq__item.-junior2.is-active .o-faq__q__q {
  color: #00a43e
}

.o-faq__item.-juniorplus.is-active .o-faq__q__q {
  color: #007130
}

.o-faq__item.-core.is-active .o-faq__q__q {
  color: #e79100
}

.o-faq__item.-basic.is-active .o-faq__q__q {
  color: #c8152d
}

.o-faq__item.-advanced.is-active .o-faq__q__q {
  color: #007aba
}

.o-faq__item.-gtec.is-active .o-faq__q__q {
  color: #005fa4
}

.o-faq__item.-cbt.is-active .o-faq__q__q {
  color: #1c3358
}

.o-faq__item.-academic.is-active .o-faq__q__q {
  color: #b80074
}

.o-faq__item.-business.is-active .o-faq__q__q {
  color: #7c8595
}

.o-faq__item.-gjo.is-active .o-faq__q__q {
  color: #399
}

.o-faq.-acc-sample .o-faq__q__q {
  max-width: none;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq.-acc-sample .o-faq__q__q {
    width: 120px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq.-acc-sample .o-faq__q__q {
    width: 80px;
    font-size: 12px
  }
}

.o-faq.-acc-sample .o-faq__q.is-active .o-faq__q__q {
  color: #005fa4
}

.o-faq__q__txt {
  cursor: pointer;
  width: auto;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: #9d9d9d;
  color: #ffffff;
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__q__txt {
    padding: 13px 50px 13px 17px;
    -ms-flex-preferred-size: 910px;
    flex-basis: 910px;
    line-height: 24px;
    font-size: 18px;
    margin-top: -1px;
    margin-bottom: -1px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__q__txt {
    padding: 10px 35px 10px 10px;
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%
  }
}

.o-faq__q__txt:before, .o-faq__q__txt:after {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -1px;
  background-color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__q__txt:before, .o-faq__q__txt:after {
    right: 20px;
    width: 18px;
    height: 3px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__q__txt:before, .o-faq__q__txt:after {
    right: 13px;
    width: 14px;
    height: 2px
  }
}

.o-faq__q__txt:after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}

.o-faq__item.is-active .o-faq__q__txt {
  background-color: #005fa4
}

.o-faq__item.is-active .o-faq__q__txt:before {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg)
}

.o-faq__item.is-active .o-faq__q__txt:after {
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg)
}

.o-faq__item.-junior1.is-active .o-faq__q__txt {
  background-color: #95c51b
}

.o-faq__item.-junior2.is-active .o-faq__q__txt {
  background-color: #00a43e
}

.o-faq__item.-juniorplus.is-active .o-faq__q__txt {
  background-color: #007130
}

.o-faq__item.-core.is-active .o-faq__q__txt {
  background-color: #e79100
}

.o-faq__item.-basic.is-active .o-faq__q__txt {
  background-color: #c8152d
}

.o-faq__item.-advanced.is-active .o-faq__q__txt {
  background-color: #007aba
}

.o-faq__item.-gtec.is-active .o-faq__q__txt {
  background-color: #005fa4
}

.o-faq__item.-cbt.is-active .o-faq__q__txt {
  background-color: #1c3358
}

.o-faq__item.-academic.is-active .o-faq__q__txt {
  background-color: #b80074
}

.o-faq__item.-business.is-active .o-faq__q__txt {
  background-color: #7c8595
}

.o-faq__item.-gjo.is-active .o-faq__q__txt {
  background-color: #399
}

.o-faq.-acc-sample .o-faq__q__txt {
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq.-acc-sample .o-faq__q__txt {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 834px;
    padding: 23px 30px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq.-acc-sample .o-faq__q__txt {
    font-size: 12px
  }
}

.o-faq.-acc-sample .o-faq__q.is-active .o-faq__q__txt {
  background-color: #005fa4
}

.o-faq__a {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 0;
  border-style: solid;
  border-color: #9d9d9d;
  border-left-width: 3px;
  border-right-width: 3px;
  margin-top: -6px;
  border-radius: 0 0 5px 5px;
  position: relative;
  line-height: 0;
  overflow: hidden;
  color: #fff
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__a {
    margin-left: 51px;
    padding: 0 15px 0 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

.o-faq__item.is-active .o-faq__a {
  margin-top: -3px;
  padding-top: 15px;
  padding-bottom: 15px;
  line-height: 1.75;
  border-width: 3px;
  border-color: #005fa4;
  color: #000
}

.o-faq__item.-junior1 .o-faq__a {
  border-color: #95c51b
}

.o-faq__item.-junior2 .o-faq__a {
  border-color: #00a43e
}

.o-faq__item.-juniorplus .o-faq__a {
  border-color: #007130
}

.o-faq__item.-core .o-faq__a {
  border-color: #e79100
}

.o-faq__item.-basic .o-faq__a {
  border-color: #c8152d
}

.o-faq__item.-advanced .o-faq__a {
  border-color: #007aba
}

.o-faq__item.-gtec .o-faq__a {
  border-color: #005fa4
}

.o-faq__item.-cbt .o-faq__a {
  border-color: #1c3358
}

.o-faq__item.-academic .o-faq__a {
  border-color: #b80074
}

.o-faq__item.-business .o-faq__a {
  border-color: #7c8595
}

.o-faq__item.-gjo .o-faq__a {
  border-color: #399
}

.o-faq.-acc-sample .o-faq__a {
  border-color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq.-acc-sample .o-faq__a {
    margin-left: 0;
    padding: 0 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-faq.-acc-sample .o-faq__a {
    margin-left: 0;
    padding: 0 15px
  }
}

.o-faq.-acc-sample .o-faq__a * {
  color: #000
}

.o-faq.-acc-sample .o-faq__a * .o-faq__label {
  color: #fff
}

.o-faq__a__a {
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  color: #005fa4
}

.o-faq__item.-junior1 .o-faq__a__a {
  color: #95c51b
}

.o-faq__item.-junior2 .o-faq__a__a {
  color: #00a43e
}

.o-faq__item.-juniorplus .o-faq__a__a {
  color: #007130
}

.o-faq__item.-core .o-faq__a__a {
  color: #e79100
}

.o-faq__item.-basic .o-faq__a__a {
  color: #c8152d
}

.o-faq__item.-advanced .o-faq__a__a {
  color: #007aba
}

.o-faq__item.-gtec .o-faq__a__a {
  color: #005fa4
}

.o-faq__item.-cbt .o-faq__a__a {
  color: #1c3358
}

.o-faq__item.-academic .o-faq__a__a {
  color: #b80074
}

.o-faq__item.-business .o-faq__a__a {
  color: #7c8595
}

.o-faq__item.-gjo .o-faq__a__a {
  color: #399
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__a__a {
    font-size: 30px;
    position: absolute;
    top: 10px;
    left: 15px;
    line-height: 1
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__a__a {
    font-size: 16px;
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    text-align: center
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__a__txt {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    padding-right: 15px
  }
}

.o-faq__item.is-active .o-faq__a__txt p+p {
  margin-top: 15px
}

@media only screen and (max-width: 767px) {
  .o-faq.-acc-sample .o-faq__a__txt {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    padding: 0
  }
}

.o-faq.-acc-sample .o-faq__a__txt * {
  -webkit-transition: all 0.3s ease-in-out !important;
  transition: all 0.3s ease-in-out !important;
  max-height: 1000vh !important;
  line-height: 1.75 !important
}

.o-faq.-acc-sample .o-faq__item.is-inactive .o-faq__a__txt * {
  line-height: 0 !important;
  max-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  color: transparent;
  background-color: transparent
}

.o-faq__a__img-box {
  display: none
}

.o-faq__item.is-active .o-faq__a__img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (max-width: 767px) {
  .o-faq__item.is-active .o-faq__a__img-box {
    display: block
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-faq__a__txtbox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

@media only screen and (max-width: 767px) {
  .o-faq__a__imgbox {
    text-align: center;
    margin: 20px auto
  }
}

.o-section-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  background-color: transparent
}

@media only screen and (min-width: 768px), tv, print {
  .o-section-02 {
    padding: 40px 0 80px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02 {
    padding: 20px 0;
    border-bottom: 5px solid #00589a
  }
}

.o-section-02.triangle:after {
  bottom: -50px;
  border-width: 51px 82px 0 82px;
  border-color: #005fa4 transparent transparent transparent;
  content: "";
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid
}

@media only screen and (max-width: 767px) {
  .o-section-02.triangle:after {
    bottom: -35px;
    border-width: 36px 55px 0 55px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02__inner {
    width: 100%
  }
}

.o-section-02__header {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-section-02__header {
    margin-bottom: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02__header {
    margin-bottom: 25px
  }
}

.o-section-02__main {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

.o-section-02__txtbox {
  letter-spacing: 0.1em;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (max-width: 767px) {
  .o-section-02__txtbox {
    font-size: 14px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02__box+.o-section-02__box {
    margin-top: 10px;
    border-top: none
  }
}

.o-section-02__panel-gray {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-section-02__panel-gray {
    background-color: #f2f2f2;
    margin-top: 40px;
    padding: 26px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02__panel-gray {
    background-color: transparent;
    margin-top: 20px;
    padding: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-section-02__panel-desc {
    margin-bottom: 30px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02__panel-desc {
    margin-bottom: 8px;
    font-size: 14px
  }
}

.o-section-02__btn {
  margin-left: auto;
  margin-right: auto
}

@media only screen and (min-width: 768px), tv, print {
  .o-section-02__btn {
    width: 310px
  }
}

@media only screen and (max-width: 767px) {
  .o-section-02__btn {
    max-width: 300px
  }
}

.o-school {
  padding-bottom: 30px
}

@media only screen and (max-width: 767px) {
  .o-school {
    padding-bottom: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-school__desc {
    margin-bottom: 10px;
    letter-spacing: 0.075em
  }
}

@media only screen and (max-width: 767px) {
  .o-school__desc {
    line-height: 1.6;
    margin-bottom: 5px
  }
}

.o-school__area-links {
  margin-top: 40px
}

@media only screen and (max-width: 767px) {
  .o-school__area-links {
    display: none
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-school-pref {
    margin-top: 70px
  }
  .o-school-pref:first-child {
    margin-top: 27px
  }
}

@media only screen and (max-width: 767px) {
  .o-school-pref {
    margin-top: 15px;
    border: 1px solid #eee
  }
}

.o-school-pref__title {
  padding-bottom: 5px;
  font-size: 20px;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-school-pref__title {
    border-bottom: 1px dotted #ccc
  }
}

@media only screen and (max-width: 767px) {
  .o-school-pref__title {
    padding: 10px;
    background-color: #eee;
    font-size: 16px;
    font-weight: bold
  }
}

.o-school-area {
  padding-top: 40px
}

@media only screen and (max-width: 767px) {
  .o-school-area {
    padding-top: 20px
  }
}

.o-school-area__title {
  margin-bottom: 10px
}

.o-school-area__desc {
  margin-top: 20px
}

@media only screen and (max-width: 767px) {
  .o-school-area__desc {
    margin: 5px -15px 30px
  }
}

.o-school-item {
  margin-top: 70px
}

@media only screen and (max-width: 767px) {
  .o-school-item {
    margin-top: 15px;
    border: 1px solid #eee
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-school-item__title {
    padding-bottom: 5px;
    border-bottom: 1px solid #005fa4;
    color: #005fa4;
    font-size: 20px;
    font-weight: bold
  }
}

@media only screen and (max-width: 767px) {
  .o-school-item__title {
    padding: 10px;
    background-color: #eee;
    font-size: 16px;
    font-weight: bold
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-school-item__list {
    margin: 15px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap {
    padding-top: 10px
  }
}

.o-sitemap__item {
  margin-top: 20px
}

@media only screen and (max-width: 767px) {
  .o-sitemap__item {
    margin-top: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap__item+.o-sitemap__item {
    margin-top: 70px
  }
}

.o-sitemap__heading {
  padding-bottom: 5px
}

.o-sitemap__heading a {
  color: #005fa4;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none
}

@media only screen and (max-width: 767px) {
  .o-sitemap__heading a {
    font-size: 16px;
    font-weight: normal
  }
}

.o-sitemap__heading a:hover {
  text-decoration: underline
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap__heading>small {
    margin-left: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap__list {
    margin: 15px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-sitemap__list {
    margin-top: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap__list.col-2 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sitemap__list.col-2+.o-sitemap__list.col-2 {
    margin-left: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-sitemap__list.col-2+.o-sitemap__list.col-2 {
    padding-top: 15px;
    border-top: 1px dotted #ccc
  }
}

.o-footer-tab {
  padding-top: 40px
}

@media only screen and (max-width: 767px) {
  .o-footer-tab__tab {
    padding-top: 20px;
    border-bottom: 5px solid #005fa4
  }
}

.o-footer-list {
  background-color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-footer-list {
    padding: 26px 0 25px
  }
}

.o-footer-list.white {
  background-color: #fff;
  border-bottom: 5px solid #0070db;
  color: #070cb0
}

@media only screen and (max-width: 767px) {
  .o-footer-list__inner {
    padding: 0 16px
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-list__box {
    padding: 10px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-footer-list__list {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-list__list {
    font-size: 10px
  }
}

.o-footer-list.type-1 .o-footer-list__list {
  font-size: 14px
}

@media only screen and (min-width: 768px), tv, print {
  .o-footer-link {
    padding: 10px 0;
    background-color: #f2f2f2
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-link {
    padding: 20px 16px
  }
}

.o-footer-link__message {
  color: #808080;
  text-decoration: none;
  display: block;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .o-footer-link__message {
    background-color: #f2f2f2;
    border-radius: 6px;
    font-size: 12px;
    padding: 10px 0 9px
  }
}

.o-footer-link__message:hover {
  text-decoration: underline
}

@media only screen and (min-width: 768px), tv, print {
  .o-footer-copy {
    padding: 10px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-copy {
    border-bottom: 6px solid #005fa4
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-copy.type-1 {
    border-bottom: 3px solid #005fa4
  }
}

.o-footer-copy__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.o-footer-copy__logobox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__logobox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.o-footer-copy__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__list>li {
    margin-bottom: 12px
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__list>li>a {
    font-size: 12px
  }
}

.o-footer-copy__copyright {
  color: #808080
}

@media only screen and (min-width: 768px), tv, print {
  .o-footer-copy__copyright {
    margin-left: 35px
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__copyright {
    font-size: 10px;
    text-align: center;
    margin-bottom: 14px
  }
}

.o-footer-copy__tmr {
  margin-top: 3px;
  color: #808080
}

@media only screen and (min-width: 768px), tv, print {
  .o-footer-copy__tmr {
    font-size: 11px
  }
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__tmr {
    font-size: 10px
  }
}

.o-footer-copy__logo {
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

@media only screen and (max-width: 767px) {
  .o-footer-copy__logo {
    padding-top: 20px;
    margin-bottom: 17px
  }
}

.o-footer-copy__logo:hover {
  opacity: .7
}

@media only screen and (max-width: 767px) {
  .o-content-01__content {
    padding: 0 16px
  }
}

.o-under-kv {
  background-image: url(https://placehold.jp/1400x430.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin-bottom: 30px
}

@media only screen and (min-width: 768px), tv, print {
  .o-under-kv {
    height: 430px
  }
}

.o-under-kv__inner {
  position: relative
}

@media only screen and (max-width: 767px) {
  .o-under-kv__inner {
    padding-top: 72%
  }
}

.o-under-kv__overlay {
  position: absolute;
  left: 0;
  top: 90px
}

@media only screen and (max-width: 767px) {
  .o-under-kv__overlay {
    padding: 0 15px;
    top: 45px
  }
}

.o-under-kv__title {
  font-size: 36px;
  color: #005fa4;
  margin-bottom: 20px
}

@media only screen and (max-width: 767px) {
  .o-under-kv__title {
    font-size: 24px;
    letter-spacing: 0.075em;
    text-shadow: 0 0 5px #fff;
    margin-bottom: 15px
  }
}

.o-under-kv__copy {
  font-size: 28px;
  margin-bottom: 15px;
  line-height: 1.5
}

@media only screen and (max-width: 767px) {
  .o-under-kv__copy {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-under-kv__desc {
    line-height: 1.5
  }
}

.o-under-kv.type-01 {
  background-image: url(/gtec/common/images/voice/img_voice_kv_pc.jpg)
}

@media only screen and (max-width: 767px) {
  .o-under-kv.type-01 {
    background-image: url(/gtec/common/images/voice/img_voice_kv_sp.jpg);
    height: 270px;
    background-position: center;
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-under-kv.type-01 .o-under-kv__inner {
    padding-top: 0
  }
}

.o-under-kv.type-02 {
  background-image: url(/gtec/common/images/lineup/img_lineup_kv_pc.jpg)
}

@media only screen and (max-width: 767px) {
  .o-under-kv.type-02 {
    background-image: url(/gtec/common/images/lineup/img_lineup_kv_sp.jpg);
    height: 270px;
    background-position: center;
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-under-kv.type-02 .o-under-kv__inner {
    padding-top: 0
  }
}

.o-under-kv.type-03 {
  background-image: url(/gtec/common/images/merit/img_merit_kv_pc.jpg)
}

@media only screen and (max-width: 767px) {
  .o-under-kv.type-03 {
    background-image: url(/gtec/common/images/merit/img_merit_kv_sp.jpg);
    height: 270px;
    background-position: center;
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-under-kv.type-03 .o-under-kv__inner {
    padding-top: 0
  }
}

.o-under-kv.schools {
  margin-bottom: 40px;
  background-image: url(/gtec/common/images/schools/img_schools_kv_pc.jpg)
}

@media only screen and (max-width: 767px) {
  .o-under-kv.schools {
    background-image: url(/gtec/common/images/schools/img_schools_kv_sp.jpg);
    margin-bottom: 15px
  }
}

.o-under-kv.schools .o-under-kv__overlay {
  top: 200px
}

@media only screen and (max-width: 767px) {
  .o-under-kv.schools .o-under-kv__overlay {
    top: 40%
  }
}

.o-under-kv.about {
  background-image: url(/gtec/common/images/about/img_about_kv_pc.jpg)
}

@media only screen and (max-width: 767px) {
  .o-under-kv.about {
    background-image: url(/gtec/common/images/about/img_about_kv_sp.jpg);
    height: 270px;
    background-position: center;
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-under-kv.about .o-under-kv__inner {
    padding-top: 0
  }
}

@media only screen and (max-width: 767px) {
  .o-under-kv.about .o-under-kv__copy {
    line-height: 1.45
  }
}

.o-junior-top-02 {
  padding-top: 40px;
  padding-bottom: 60px
}

@media only screen and (max-width: 767px) {
  .o-junior-top-02 {
    padding-top: 30px;
    padding-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-junior-top-02__content {
    margin-top: 25px
  }
}

.o-junior-top-02__item+.o-junior-top-02__item {
  margin-top: 30px
}

@media only screen and (max-width: 767px) {
  .o-junior-top-02__item+.o-junior-top-02__item {
    border-top: 1px solid #005fa4;
    margin-top: 30px;
    padding-top: 35px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-junior-top-02__item+.o-junior-top-02__item .o-junior-top-02__item-inner {
    padding-top: 30px;
    border-top: 1px solid #005fa4
  }
}

.o-table-01 {
  margin: 48px auto 0
}

@media only screen and (max-width: 767px) {
  .o-table-01 {
    margin: 20px 0 0
  }
}

@media only screen and (max-width: 767px) {
  .o-table-01__inner {
    padding: 0 10px 0 15px
  }
}

.o-table-01__thead>tr>th {
  font-size: 16px;
  padding: 7px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__thead>tr>th {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__thead>tr>th:first-child {
  text-align: left
}

.o-table-01.type-4 .o-table-01__thead>tr>th:first-child {
  text-align: center
}

.o-table-01.type-5 .o-table-01__thead>tr>th:first-child {
  text-align: center
}

.o-table-01__tbody>tr>th {
  font-size: 18px;
  line-height: 1.33;
  color: #005fa4;
  padding: 15px;
  vertical-align: top;
  text-align: left
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>th {
    font-size: 11px;
    padding: 10px 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-table-01.type-3 .o-table-01__tbody>tr>th {
    font-size: 14px
  }
}

.o-table-01.type-4 .o-table-01__tbody>tr>th {
  text-align: center;
  vertical-align: middle
}

@media only screen and (min-width: 768px), tv, print {
  .o-table-01.type-4 .o-table-01__tbody>tr>th {
    width: 15%
  }
}

.o-table-01__tbody>tr>td {
  font-size: 16px;
  line-height: 1.5;
  padding: 22px 15px;
  text-align: center
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-1 {
  font-size: 18px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-1 {
    font-size: 11px
  }
  .o-table-01.type-3 .o-table-01__tbody>tr>td.o-table-01__txt-1 {
    word-wrap: break-word
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-2 {
  padding: 20px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-2 {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-3 {
  padding: 17px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-3 {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-4 {
  padding: 14px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-4 {
    font-size: 10px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-5 {
  font-size: 18px;
  line-height: 1.65;
  padding: 14px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-5 {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-6 {
  font-size: 18px;
  line-height: 1.65;
  padding: 17px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-6 {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-7 {
  text-align: left;
  padding: 10px 35px 20px 25px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-7 {
    font-size: 11px;
    padding: 10px 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__txt-8 {
  text-align: left;
  padding: 20px 10px 15px 25px
}

@media only screen and (max-width: 767px) {
  .o-table-01__tbody>tr>td.o-table-01__txt-8 {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__tbody>tr>td.o-table-01__align-l {
  text-align: left
}

.o-table-01__tbody>tr>td.o-table-01__palt {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  min-width: 220px;
  vertical-align: top
}

.o-table-01__tbody>tr>td.o-table-01__palt.o-table-01__palt {
  padding-right: 5px;
  letter-spacing: -0.05em
}

.o-table-01.type-3 .o-table-01__tbody>tr>td {
  vertical-align: top
}

@media only screen and (min-width: 768px), tv, print {
  .o-table-01.type-3 .o-table-01__tbody>tr>td {
    font-size: 14px
  }
}

.o-table-01.type-4 .o-table-01__tbody>tr>td {
  text-align: left;
  vertical-align: top
}

@media only screen and (min-width: 768px), tv, print {
  .o-table-01.type-4 .o-table-01__tbody>tr>td {
    padding: 22px;
    font-size: 14px
  }
}

.o-table-01.type-4 .o-table-01__tbody>tr>td:last-child {
  vertical-align: middle;
  text-align: center
}

.o-table-01.type-5 .o-table-01__tbody>tr>td {
  text-align: left
}

.o-table-01__th-small {
  font-size: 10px;
  letter-spacing: 0.075em
}

.o-table-01__txt-small {
  font-size: 12px;
  letter-spacing: 0.075em
}

@media only screen and (max-width: 767px) {
  .o-table-01__txt-small {
    font-size: 10px
  }
}

.o-table-01__td-small {
  font-size: 10px;
  letter-spacing: 0.075em;
  margin-top: 5px
}

.o-table-01__td-name {
  font-size: 18px;
  line-height: 1.33;
  letter-spacing: 0.075em;
  font-weight: bold;
  margin-bottom: 4px
}

@media only screen and (max-width: 767px) {
  .o-table-01__td-name {
    font-size: 11px
  }
}

.o-table-01__table-title {
  text-indent: 14px
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-title {
    font-size: 10px
  }
}

.o-table-01__table-2 {
  margin: 10px 0 3px;
  margin-left: 15px
}

@media only screen and (min-width: 768px), tv, print {
  .o-table-01__table-2 {
    width: 643px
  }
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-2 {
    margin: 5px 10px 5px 7px
  }
}

.o-table-01__table-2>thead>tr>th {
  font-size: 14px;
  line-height: 1.7;
  color: #141313;
  padding: 6px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-2>thead>tr>th {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__table-2>tbody>tr>td {
  font-size: 14px;
  line-height: 1.7;
  color: #141313;
  padding: 6px 15px
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-2>tbody>tr>td {
    font-size: 11px;
    padding: 5px
  }
}

.o-table-01__table-2-th-1 {
  width: 30%
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-2-th-1 {
    width: 40%
  }
}

.o-table-01__table-2-small {
  font-size: 11px;
  letter-spacing: 0.075em
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-2-small {
    font-size: 10px
  }
}

.o-table-01__table-desc {
  text-indent: 15px;
  margin-bottom: 7px
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-desc {
    text-indent: inherit;
    font-size: 10px
  }
}

.o-table-01__table-2-etc {
  font-size: 12px;
  letter-spacing: 0.075em;
  display: block
}

@media only screen and (max-width: 767px) {
  .o-table-01__table-2-etc {
    font-size: 10px
  }
}

.o-table-01__red {
  color: #fb0018;
  font-size: 12px;
  letter-spacing: 0.07em
}

@media only screen and (max-width: 767px) {
  .o-table-01__red {
    display: block;
    font-size: 10px
  }
}

.o-table-01__list {
  letter-spacing: 0.075em
}

@media only screen and (max-width: 767px) {
  .o-table-01__list {
    font-size: 10px
  }
}

.o-table-01__point {
  font-size: 12px;
  line-height: 1.5;
  margin: 5px 0 0 0;
  letter-spacing: 0.075em
}

@media only screen and (max-width: 767px) {
  .o-table-01__point {
    margin: 5px 0 0;
    font-size: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-table-01.type-3 .o-table-01__table-1 {
    width: 100%
  }
}

.o-table-01.type-4 .o-table-01__table-1 {
  width: auto
}

.o-table-01.type-2 .o-table-01__table-1 {
  width: 100%
}

.o-table-01.type-2 thead tr th {
  padding: 16px 18px;
  font-weight: bold
}

.o-table-01.type-2 tbody tr th {
  padding: 20px 18px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-table-01.type-2 tbody tr th {
    padding: 10px 5px
  }
}

.o-table-01.type-2 tbody tr td {
  padding: 15px 25px;
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .o-table-01.type-2 tbody tr td {
    padding: 5px;
    font-size: 12px
  }
}

.o-table-01.type-2 tbody tr td.o-table-01__course {
  padding: 15px 5px
}

@media only screen and (max-width: 767px) {
  .o-table-01.type-2 tbody tr td.o-table-01__course {
    font-size: 11px;
    padding: 15px 0
  }
}

.o-sample-head__items {
  border-bottom: 2px solid #005fa4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.o-sample-head__items>li {
  margin-bottom: -1px;
  position: relative
}

.o-sample-head__items>li a {
  background-color: transparent
}

@media only screen and (max-width: 767px) {
  .o-sample-head__items>li {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: calc(25% - 3px)
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample-head__btn {
    width: 232px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample {
    margin-bottom: 60px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample {
    margin-bottom: 30px
  }
}

.o-sample.-merit {
  display: none
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample.-merit {
    margin: 60px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample.-merit {
    margin: 15px
  }
}

.o-sample__group-title {
  padding: 30px;
  background-color: #eeeeee;
  font-size: 24px;
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .o-sample__group-title {
    padding: 10px 20px;
    font-size: 15px
  }
}

.o-sample__group-title-sub {
  margin-left: 15px;
  display: inline-block;
  font-size: 12px;
  color: #444545
}

@media only screen and (max-width: 767px) {
  .o-sample__group-title-sub {
    font-size: 10px
  }
}

.o-sample__item {
  padding: 30px
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__item {
    border-left: 1px solid #eeeeee;
    border-right: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__item {
    border: 1px solid #eeeeee;
    padding: 10px 15px 15px;
    margin-bottom: 20px
  }
}

.o-sample.type-1 .o-sample__item.-border-top {
  border: none
}

.o-sample__item.-no-border-bottom {
  border-bottom: none
}

.o-sample.type-1 .o-sample__item+.o-sample__item.-border-top {
  border-top: 1px solid #eeeeee
}

.o-sample__head {
  margin-bottom: 40px
}

@media only screen and (max-width: 767px) {
  .o-sample__head {
    margin-bottom: 15px
  }
}

.o-sample__title-part {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #005fa4;
  line-height: 1.5
}

@media only screen and (max-width: 767px) {
  .o-sample__title-part {
    font-size: 14px
  }
}

.o-sample__title {
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5
}

@media only screen and (max-width: 767px) {
  .o-sample__title {
    font-size: 14px
  }
}

.o-sample__title.box-border {
  padding: 0 5px
}

.o-sample__en {
  display: inline-block;
  margin-right: 20px
}

@media only screen and (max-width: 767px) {
  .o-sample__en {
    margin-right: 15px
  }
}

.o-sample__desc {
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  color: #232323;
  font-size: 18px;
  line-height: 1.5
}

@media only screen and (max-width: 767px) {
  .o-sample__desc {
    font-size: 14px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__desc.type-1 {
    padding-left: 50px
  }
}

.o-sample__desc.has-indent {
  text-indent: -62px;
  padding-left: 62px
}

@media only screen and (max-width: 767px) {
  .o-sample__desc.has-indent {
    text-indent: -48px;
    padding-left: 48px
  }
}

.o-sample__desc__q {
  font-weight: bold;
  line-height: 1.35;
  margin-bottom: 0.75rem
}

.o-sample__desc__q.has-indent {
  padding-left: 30px
}

.o-sample__desc__a {
  font-weight: normal;
  line-height: 1.35;
  margin-bottom: 0.75rem
}

.o-sample__desc__a.has-indent {
  padding-left: 30px
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .o-sample__cont.has-1-col {
    display: block;
    width: 700px;
    margin: 0 auto
  }
  .o-sample__cont.has-1-col-wide {
    display: block;
    width: 800px;
    margin: 0 auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__post-question {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 60%
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__post-question {
    margin-bottom: 20px
  }
}

.o-sample__pq {
  border-radius: 8px;
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__pq {
    border: 20px solid #eeeeee;
    border-width: 35px 15px;
    padding: 25px 20px 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__pq {
    border: 5px solid #eeeeee;
    border-width: 20px 5px;
    padding: 15px 10px 10px;
    margin-bottom: 20px
  }
}

.o-sample__pq__label {
  background-color: #005fa4;
  color: #fff;
  display: inline-block;
  position: absolute;
  font-weight: bold;
  font-size: 14px;
  border-radius: 6px;
  padding: 2px 20px;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__pq__label {
    top: -40px;
    left: 0px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__pq__label {
    top: -35px;
    left: 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__img {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    padding-right: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__img {
    padding: 0 10px;
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__img.text-left {
    padding: 0
  }
}

.o-sample__img.-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__img.-larger {
    width: 80%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__img.-wide {
    width: 100%;
    padding-right: 0;
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__audio {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 20px
  }
  .o-sample__audio.has-post-question {
    width: 40%
  }
}

.o-sample__choices {
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  font-size: 18px;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__choices {
    padding-left: 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__choices {
    font-size: 14px
  }
}

.o-sample__choices.font-normal {
  font-weight: normal
}

.o-sample__choices.list {
  line-height: 1.4
}

@media only screen and (max-width: 767px) {
  .o-sample__choices.list li {
    text-indent: -24px;
    padding-left: 24px
  }
}

.o-sample__item.type-1 .o-sample__head {
  margin-bottom: 20px
}

@media only screen and (max-width: 767px) {
  .o-sample__item.type-1 .o-sample__head {
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__item.type-1 .o-sample__audio {
    width: 100%;
    padding-left: 0
  }
}

.o-sample__item.type-1 .o-sample__desc {
  margin-bottom: 15px
}

@media only screen and (max-width: 767px) {
  .o-sample__item.type-1 .o-sample__desc {
    margin-bottom: 10px
  }
}

.o-sample__item.type-1 .o-sample__desc.long .o-sample__desc-unit {
  margin-bottom: 5px;
  text-indent: 2em
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__item.type-2 .o-sample__text {
    padding-left: 20px
  }
}

.o-sample__item.type-2 .o-sample__choices.list {
  margin: 15px 0 20px
}

.o-sample__item.type-2 .o-sample__text-unit+.o-sample__text-unit {
  margin-top: 30px
}

.o-sample__separator {
  margin: 25px auto;
  border: none;
  border-bottom: 1px dotted #cccccc
}

.o-sample__item-unit+.o-sample__item-unit {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px solid #eee
}

@media only screen and (max-width: 767px) {
  .o-sample__item-unit+.o-sample__item-unit {
    padding-top: 20px;
    margin-top: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__number {
    text-indent: -55px;
    display: inline-block
  }
}

.o-sample__paper {
  margin: 20px 0 40px;
  border: 1px solid #cccccc;
  -webkit-box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1)
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample__paper {
    padding: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-sample__paper {
    padding: 15px
  }
}

.o-sample__heading {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem
}

.o-sample__desc__tlist {
  line-height: 1.35;
  margin-bottom: 20px
}

.o-sample__desc__tlist th {
  padding-right: 10px;
  font-weight: bold
}

.o-sample__desc__tlist th, .o-sample__desc__tlist td {
  vertical-align: top;
  padding-bottom: 5px
}

@media only screen and (min-width: 768px), tv, print {
  .o-sample.type-1 .o-sample__item {
    border-top: 1px solid #eee
  }
}

@media only screen and (max-width: 767px) {
  .o-sample.type-1 .o-sample__item {
    margin-bottom: 0
  }
}

.o-sample.type-1 .o-sample__label {
  margin-top: 30px
}

@media only screen and (max-width: 767px) {
  .o-sample.type-1 .o-sample__label {
    margin-top: 20px
  }
}

.o-sample.type-1 .o-sample__item.-border-top .o-sample__label {
  margin-top: 20px;
  margin-bottom: 30px
}

@media only screen and (max-width: 767px) {
  .o-sample.type-1 .o-sample__item.-border-top .o-sample__label {
    margin-top: 15px;
    margin-bottom: 20px
  }
}

.o-point {
  padding: 0 30px;
  margin-bottom: 15px
}

@media only screen and (max-width: 767px) {
  .o-point {
    padding: 0 15px
  }
}

.o-point__title {
  font-size: 18px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-point__title {
    font-size: 14px
  }
}

.o-point__btn {
  margin: 20px 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-point__btn {
    width: 300px;
    margin-left: -30px
  }
}

@media only screen and (max-width: 767px) {
  .o-point__btn {
    margin-left: -15px;
    margin-right: -15px
  }
}

.o-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.o-pager li {
  padding: 5px 5px
}

.o-pager li a {
  text-decoration: none;
  display: block;
  border: 1px solid #005fa4;
  color: #005fa4;
  border-radius: 5px;
  padding: 10px 10px;
  line-height: 1
}

.o-pager li a.is-active {
  background-color: #005fa4;
  color: #fff
}

.o-pager li.prev {
  margin-right: 10px
}

.o-pager li.next {
  margin-left: 10px
}

.o-contact__content-wrapper {
  border: 1px solid #e5e5e5
}

.o-contact__content {
  padding: 30px;
  text-align: center;
  line-height: 1.35
}

@media only screen and (max-width: 767px) {
  .o-contact__content {
    padding: 15px
  }
}

.o-contact__text-1 {
  font-size: 16px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-contact__text-1 {
    font-size: 14px
  }
}

.o-contact__btn {
  margin-top: 15px
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact__btn {
    width: 400px;
    margin-left: auto;
    margin-right: auto
  }
}

.o-contact__tel {
  margin-top: 40px;
  font-size: 48px;
  font-weight: bold;
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .o-contact__tel {
    margin-top: 20px;
    font-size: 24px
  }
}

.o-contact__tel img {
  margin-right: 10px
}

@media only screen and (max-width: 767px) {
  .o-contact__tel img {
    margin-right: 5px
  }
}

.o-contact__tel.junior img {
  vertical-align: -12px
}

@media only screen and (max-width: 767px) {
  .o-contact__tel.junior img {
    width: 54px;
    vertical-align: -7px
  }
}

.o-contact__tel.gtec {
  margin-top: 10px;
  line-height: 1
}

@media only screen and (max-width: 767px) {
  .o-contact__tel.gtec {
    text-align: center
  }
}

.o-contact__tel.gtec img {
  vertical-align: -7px
}

@media only screen and (max-width: 767px) {
  .o-contact__tel.gtec img {
    width: 31px;
    vertical-align: -3px
  }
}

.o-contact__tel.univ {
  margin-top: 0
}

@media only screen and (max-width: 767px) {
  .o-contact__tel.univ {
    margin-top: 20px
  }
}

.o-contact__tel__dest {
  margin-right: 30px;
  font-size: 24px;
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .o-contact__tel__dest {
    display: block;
    margin-right: 0;
    font-size: 16px
  }
}

.o-contact__text-2 {
  margin-top: 30px;
  font-size: 16px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-contact__text-2 {
    margin-top: 20px;
    font-size: 14px
  }
}

.o-contact__text-3 {
  margin-top: 40px;
  font-size: 24px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-contact__text-3 {
    margin-top: 20px;
    font-size: 18px
  }
}

.o-contact__text-4 {
  font-size: 16px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-contact__text-4 {
    font-size: 14px
  }
}

.o-contact__unit+.o-contact__unit {
  margin-top: 30px;
  border-top: 1px solid #e5e5e5
}

@media only screen and (max-width: 767px) {
  .o-contact__unit+.o-contact__unit {
    margin-top: 20px
  }
}

.o-contact__telbox {
  text-align: center
}

.o-contact__list {
  margin: 0 auto;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact__list {
    width: 500px;
    font-size: 16px
  }
}

.o-score-common__title {
  margin-bottom: 30px
}

@media only screen and (max-width: 767px) {
  .o-score-common__title {
    margin-bottom: 15px
  }
}

@keyframes historyHead {
  0% {
    background-position: center bottom
  }
  100% {
    background-position: center 52px
  }
}

@keyframes yearLineLeft {
  0% {
    left: 0
  }
  100% {
    left: -100%
  }
}

@keyframes yearLineRight {
  0% {
    left: 0
  }
  100% {
    left: 100%
  }
}

@keyframes showCont {
  100% {
    opacity: 1;
    transform: translateX(0);
    -webkit-transform: translateX(0)
  }
}

@-webkit-keyframes historyHead {
  0% {
    background-position: center bottom
  }
  100% {
    background-position: center 52px
  }
}

@-webkit-keyframes yearLineLeft {
  0% {
    left: 0
  }
  100% {
    left: -100%
  }
}

@-webkit-keyframes yearLineRight {
  0% {
    left: 0
  }
  100% {
    left: 100%
  }
}

@-webkit-keyframes showCont {
  100% {
    opacity: 1;
    transform: translateX(0);
    -webkit-transform: translateX(0)
  }
}

.o-history-contents {
  margin: 0 auto;
  overflow: hidden;
  padding-top: 45px
}

.o-history-contents .secBox {
  width: 482px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative
}

.o-history-contents .secBox .num {
  position: absolute;
  border-top: 6px solid #f2f2f2;
  border-bottom: 6px solid #f2f2f2;
  display: table;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 80px;
  height: 92px;
  top: -34px;
  z-index: 1
}

.o-history-contents .secBox .num p {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  border: 3px solid #000;
  border-radius: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 12px;
  background: #f2f2f2
}

.o-history-contents .secBox .num p strong {
  font-size: 22px;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: bold;
  display: inline-block;
  padding-right: 2px
}

.o-history-contents .secBox .year {
  margin-top: -45px;
  font-family: "Vollkorn", serif;
  font-size: 60px;
  font-style: italic;
  padding: 5px 0 30px;
  position: relative;
  line-height: 22.75px
}

.o-history-contents .secBox .year:before, .o-history-contents .secBox .year:after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  bottom: 0;
  left: 0;
  position: absolute
}

.o-history-contents .secBox .year:before {
  background: #000
}

.o-history-contents .secBox .year:after {
  background: #f2f2f2
}

.o-history-contents .secBox .year span {
  opacity: 0;
  display: inline-block
}

.o-history-contents .secBox .txtWrap {
  padding: 30px 0 100px;
  opacity: 0
}

.o-history-contents .secBox .txtWrap h3 {
  font-weight: bold;
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 20px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}

.o-history-contents .secBox .txtWrap h4 {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.25;
  margin-bottom: 10px
}

.o-history-contents .secBox .txtWrap h4:last-child {
  margin-bottom: 0
}

.o-history-contents .secBox .txtWrap .topics {
  margin-bottom: 10px
}

.o-history-contents .secBox .txtWrap .topics span {
  display: inline-block;
  background: #000;
  color: #fff;
  width: 88px;
  line-height: 1;
  padding: 6px 0 4px;
  text-align: center;
  font-family: "Vollkorn", serif;
  font-size: 14px;
  font-style: italic;
  border-radius: 12px
}

.o-history-contents .secBox .txtWrap p {
  font-size: 13px;
  line-height: 1.75
}

.o-history-contents .secBox .txtWrap figure {
  margin: 20px 0 0;
  text-align: center
}

.o-history-contents .secBox .txtWrap figure figcaption {
  text-align: center;
  color: #777;
  font-weight: bold;
  font-size: 14px;
  margin-top: 5px;
  line-height: 1.5
}

.o-history-contents .secBox .txtWrap .txtBox {
  margin-top: 40px
}

.o-history-contents .secBox .txtWrap .txtBox:first-child {
  margin-top: 0
}

.o-history-contents .secBox .txtWrap .attention {
  font-size: 11px;
  color: #999
}

.o-history-contents .secBox .txtWrap .imgRight .txt {
  float: left;
  width: 165px
}

.o-history-contents .secBox .txtWrap .imgRight figure {
  width: 200px;
  float: right;
  margin-top: 0
}

.o-history-contents .secBox .txtWrap .imgRight figure figcaption {
  font-weight: normal;
  font-size: 12px;
  color: #999;
  text-align: left
}

.o-history-contents .secBox .txtWrap .imgLeft {
  display: table;
  width: 100%;
  table-layout: fixed
}

.o-history-contents .secBox .txtWrap .imgLeft .txt, .o-history-contents .secBox .txtWrap .imgLeft figure {
  display: table-cell
}

.o-history-contents .secBox .txtWrap .imgLeft .txt {
  vertical-align: middle
}

.o-history-contents .secBox .txtWrap .imgLeft figure {
  vertical-align: top;
  width: 120px;
  text-align: left
}

.o-history-contents .secBox:last-child {
  padding-bottom: 200px
}

.o-history-contents .secBox.box02 .txtWrap figure {
  margin-left: -25px
}

.o-history-contents .secBox.box06 .txtWrap .imgRight .txt {
  width: 260px
}

.o-history-contents .secBox.box06 .txtWrap .imgRight figure {
  width: 100px
}

.o-history-contents .secBox.box07 .txtWrap figure {
  margin-left: -5px
}

.o-history-contents .secBox.box15 .pic01 figcaption {
  font-size: 12px;
  font-weight: normal;
  text-align: left;
  color: #999;
  margin-top: -20px
}

.o-history-contents .secBox.visible .year span, .o-history-contents .secBox.visible .txtWrap {
  animation: showCont 0.5s ease-out 0.2s forwards;
  -webkit-animation: showCont 0.5s ease-out 0.2s forwards
}

@media only screen and (min-width: 768px), tv, print {
  .o-history-contents .secBox:nth-child(2n) {
    float: left;
    border-right: 4px solid #bbb;
    padding-left: 25px
  }
  .o-history-contents .secBox:nth-child(2n) .num {
    right: -42px
  }
  .o-history-contents .secBox:nth-child(2n) .year span {
    -ms-transform: translateX(40px);
    transform: translateX(40px);
    -webkit-transform: translateX(40px)
  }
  .o-history-contents .secBox:nth-child(2n) .txtWrap {
    padding-right: 75px;
    -ms-transform: translateX(40px);
    transform: translateX(40px);
    -webkit-transform: translateX(40px)
  }
  .o-history-contents .secBox:nth-child(2n+1) {
    float: right;
    border-left: 4px solid #bbb;
    padding-right: 25px
  }
  .o-history-contents .secBox:nth-child(2n+1) .num {
    left: -42px
  }
  .o-history-contents .secBox:nth-child(2n+1) .num.noCont {
    left: -12px;
    top: -5px;
    width: 20px;
    height: 32px
  }
  .o-history-contents .secBox:nth-child(2n+1) .year {
    text-align: right
  }
  .o-history-contents .secBox:nth-child(2n+1) .year span {
    -ms-transform: translateX(-40px);
    transform: translateX(-40px);
    -webkit-transform: translateX(-40px)
  }
  .o-history-contents .secBox:nth-child(2n+1) .txtWrap {
    padding-left: 75px;
    -ms-transform: translateX(-40px);
    transform: translateX(-40px);
    -webkit-transform: translateX(-40px)
  }
  .o-history-contents .secBox.visible:nth-child(2n) .year:after {
    animation: yearLineLeft 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
    -webkit-animation: yearLineLeft 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) forwards
  }
  .o-history-contents .secBox.visible:nth-child(2n+1) .year:after {
    animation: yearLineRight 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
    -webkit-animation: yearLineRight 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) forwards
  }
}

@media only screen and (max-width: 767px) {
  .o-history-contents {
    width: auto;
    padding: 0 15px;
    padding-top: 25px
  }
  .o-history-contents .secBox {
    width: auto;
    border-left: 4px solid #bbb;
    margin-left: 23px
  }
  .o-history-contents .secBox .num {
    border-top: 3px solid #f2f2f2;
    border-bottom: 3px solid #f2f2f2;
    width: 60px;
    height: 66px;
    left: -33px;
    top: 4px
  }
  .o-history-contents .secBox .num p {
    border: 2px solid #000;
    border-radius: 40px;
    font-size: 10px
  }
  .o-history-contents .secBox .num p strong {
    font-size: 16px;
    padding-right: 2px
  }
  .o-history-contents .secBox .num.noCont {
    width: 15px;
    height: 48px;
    border-top-width: 30px;
    top: -1px;
    left: -9px
  }
  .o-history-contents .secBox .year {
    margin-top: 0;
    font-size: 30px;
    padding: 0 0 15px 35px
  }
  .o-history-contents .secBox .year:before, .o-history-contents .secBox .year:after {
    height: 2px;
    bottom: 0
  }
  .o-history-contents .secBox .year span {
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transform: translateX(-10px)
  }
  .o-history-contents .secBox .txtWrap {
    padding: 25px 0 45px 30px;
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
    -webkit-transform: translateX(-10px)
  }
  .o-history-contents .secBox .txtWrap h3 {
    font-size: 15px;
    margin-bottom: 15px
  }
  .o-history-contents .secBox .txtWrap h3 br {
    display: none
  }
  .o-history-contents .secBox .txtWrap h4 {
    font-size: 13px;
    margin-bottom: 5px
  }
  .o-history-contents .secBox .txtWrap h4 br {
    display: none
  }
  .o-history-contents .secBox .txtWrap .topics {
    margin-bottom: 5px
  }
  .o-history-contents .secBox .txtWrap .topics span {
    width: 63px;
    line-height: 1;
    padding: 5px 0 3px;
    font-size: 10px
  }
  .o-history-contents .secBox .txtWrap p {
    font-size: 13px;
    line-height: 1.75
  }
  .o-history-contents .secBox .txtWrap figure img {
    width: 100%;
    height: auto
  }
  .o-history-contents .secBox .txtWrap figure figcaption {
    font-size: 13px
  }
  .o-history-contents .secBox .txtWrap .txtBox {
    margin-top: 30px
  }
  .o-history-contents .secBox .txtWrap .txtBox p {
    font-size: 10px
  }
  .o-history-contents .secBox .txtWrap .attention {
    font-size: 10px
  }
  .o-history-contents .secBox .txtWrap .imgRight .txt {
    float: left;
    width: 70% !important
  }
  .o-history-contents .secBox .txtWrap .imgRight figure {
    width: 25% !important
  }
  .o-history-contents .secBox .txtWrap .imgRight figure figcaption {
    font-size: 10px
  }
  .o-history-contents .secBox .txtWrap .imgLeft figure {
    width: 25% !important;
    padding-right: 5%
  }
  .o-history-contents .secBox:last-child {
    padding-bottom: 50px
  }
  .o-history-contents .secBox.box02 .txtWrap figure {
    margin-left: 0
  }
  .o-history-contents .secBox.box06 .txtWrap .imgRight .txt {
    width: 280px
  }
  .o-history-contents .secBox.box06 .txtWrap .imgRight figure {
    width: 100px
  }
  .o-history-contents .secBox.box07 .txtWrap figure {
    margin-left: 0
  }
  .o-history-contents .secBox.box15 .pic01 figcaption {
    font-size: 10px;
    margin-top: 0;
    text-align: center
  }
  .o-history-contents .secBox.visible .year span, .o-history-contents .secBox.visible .txtWrap {
    animation: showCont 0.5s ease-out 0.2s forwards;
    -webkit-animation: showCont 0.5s ease-out 0.2s forwards
  }
  .o-history-contents .secBox.visible .year:after {
    animation: yearLineRight 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
    -webkit-animation: yearLineRight 0.7s cubic-bezier(0.39, 0.575, 0.565, 1) forwards
  }
  @keyframes historyHead {
    0% {
      background-position: center bottom
    }
    100% {
      background-position: center 27px
    }
  }
  @-webkit-keyframes historyHead {
    0% {
      background-position: center bottom
    }
    100% {
      background-position: center 27px
    }
  }
}

.o-ba {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (max-width: 767px) {
  .o-ba {
    padding: 0 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba.-merit {
    padding: 0
  }
}

.o-ba__build {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  min-width: 50%;
  text-align: center;
  position: relative
}

.o-ba__build.-after:before {
  display: block;
  position: absolute;
  text-align: center;
  width: 200px;
  margin-left: -100px;
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba__build.-after:before {
    content: "▶ ▶ ▶";
    font-size: 24px;
    top: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba__build.-after:before {
    content: "▶";
    font-size: 16px;
    top: 16px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba.-merit .o-ba__build.-after:before {
    top: calc(50% - 20px)
  }
}

@media only screen and (max-width: 767px) {
  .o-ba.-merit .o-ba__build.-after:before {
    top: calc(50% - 14px);
    left: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba.-merit .o-ba__build.-after {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.o-ba__title {
  margin-left: auto;
  margin-right: auto;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 5px;
  border: 3px solid #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba__title {
    width: 308px;
    padding: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba__title {
    padding: 8px 0;
    margin: 0 15px 0
  }
}

.o-ba__build.-before .o-ba__title {
  color: #005fa4
}

@media only screen and (max-width: 767px) {
  .o-ba__build.-before .o-ba__title {
    margin-left: 0
  }
}

.o-ba__build.-after .o-ba__title {
  background-color: #005fa4;
  color: #fff
}

@media only screen and (max-width: 767px) {
  .o-ba__build.-after .o-ba__title {
    margin-right: 0
  }
}

.o-ba__title__a {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba__title__a {
    font-size: 36px;
    margin-bottom: 5px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba__title__a {
    font-size: 18px;
    margin-bottom: 5px
  }
}

.o-ba__title__b {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba__title__b {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba__title__b {
    font-size: 10px
  }
}

.o-ba__test {
  margin-top: 0.8em
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba__test {
    font-size: 26px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba__test {
    font-size: 14px
  }
}

.o-ba__times {
  height: 1em;
  margin-bottom: 5em
}

@media only screen and (min-width: 768px), tv, print {
  .o-ba__times {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .o-ba__times {
    font-size: 10px
  }
}

.o-ba__badge {
  padding-bottom: 2em
}

.o-ba__build.-after .o-ba__badge {
  border-left: 1px solid #005fa4
}

@media only screen and (max-width: 767px) {
  .o-ba__image img {
    width: 90%
  }
}

.o-ba__build.-after .o-ba__image {
  border-left: 1px solid #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (max-width: 767px) {
  .o-steps {
    display: block;
    padding: 0 15px
  }
}

.o-steps__step {
  padding-top: 110px;
  padding-bottom: 40px;
  text-align: center;
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-steps__step {
    -ms-flex-preferred-size: 33.3333333%;
    flex-basis: 33.3333333%;
    min-width: 33.3333333%
  }
}

.o-steps__step:nth-child(n+2):before {
  display: block;
  text-align: center;
  color: #005fa4;
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .o-steps__step:nth-child(n+2):before {
    width: 200px;
    margin-left: -100px;
    content: "▶ ▶ ▶";
    font-size: 20px;
    top: 50%;
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-steps__step:nth-child(n+2):before {
    left: 0;
    right: 0;
    content: "▼";
    font-size: 24px;
    top: -35px;
    -webkit-transform: scaleX(2);
    -ms-transform: scaleX(2);
    transform: scaleX(2)
  }
}

.o-steps__balloon {
  position: absolute;
  overflow: visible;
  opacity: 0;
  margin-top: 30px;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  text-align: center
}

.o-steps__balloon.is-active {
  opacity: 1;
  margin-top: 0px
}

.o-steps__balloon.-pos-1 {
  top: 0px;
  left: 50%;
  margin-left: -155px
}

.o-steps__balloon.-pos-2 {
  top: 10px;
  left: 50%;
  margin-left: -155px;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s
}

.o-steps__balloon.-pos-3 {
  top: 5px;
  left: 50%;
  margin-left: -10px;
  -webkit-transition-delay: 1s;
  transition-delay: 1s
}

.o-steps__balloon.-pos-4 {
  top: 15px;
  left: 50%;
  margin-left: -145px;
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s
}

.o-steps__balloon.-pos-5 {
  top: 0px;
  left: 50%;
  margin-left: -25px;
  -webkit-transition-delay: 2s;
  transition-delay: 2s
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit {
    padding: 30px 55px 50px;
    margin-bottom: 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit {
    padding: 15px 15px 30px;
    margin-bottom: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__heading {
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__heading {
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__balloon {
    width: 335px
  }
}

.o-merit__text {
  color: #005fa4;
  text-align: left
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__text {
    padding-top: 62px;
    padding-left: 75px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__text {
    padding: 0 15px 0 30px;
    font-size: 12px
  }
}

.o-merit__sample {
  background-color: #fff;
  border: 1px solid #c4c3c3;
  margin-bottom: 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__sample {
    margin-top: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__sample {
    margin-top: 45px
  }
}

.o-merit__scene__item {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__scene__item:first-child {
    border-right: 1px solid #005fa4;
    padding-right: 50px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__scene__item:last-child {
    padding-left: 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__scene__item:last-child {
    position: relative;
    bottom: -50px
  }
}

.o-merit__scene__title {
  color: #005fa4;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__scene__title {
    margin-bottom: 40px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__scene__title {
    margin-bottom: 20px;
    font-size: 12px
  }
}

.o-merit__scene__title:before {
  display: inline-block;
  content: "";
  vertical-align: middle;
  background-color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__scene__title:before {
    margin-right: 20px;
    width: 20px;
    height: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__scene__title:before {
    margin-right: 10px;
    width: 10px;
    height: 10px
  }
}

.o-merit__scene__zoom {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .o-merit__scene__zoom {
    right: 10px;
    bottom: 0
  }
}

@media only screen and (max-width: 767px) {
  .o-merit__scene__zoom {
    right: 0;
    bottom: 0
  }
  .o-merit__scene__item:last-child .o-merit__scene__zoom {
    bottom: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox {
    padding: 30px 35px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox {
    padding: 20px 15px 30px
  }
}

.o-zoom-imgbox.-border-type1 {
  border: 1px solid #bfbfbf
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__heading {
    font-size: 18px;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__heading {
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 15px
  }
}

.o-zoom-imgbox__text {
  color: #005fa4;
  text-align: left
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__text {
    padding-top: 50px;
    padding-left: 75px;
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__text {
    padding: 0 15px 0 30px;
    font-size: 12px
  }
}

.o-zoom-imgbox__link {
  position: relative;
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__link__img {
    height: 575px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__glid-cell {
    padding: 0 16%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__glid-cell:first-child {
    padding-left: 8px;
    padding-right: 45px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__glid-cell:last-child {
    padding-right: 8px;
    padding-left: 45px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__glid-cell.-list-box {
    padding: 0 6%
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__glid-cell.-fs-score {
    padding: 0 8%;
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__glid-cell.-fs-score:last-child {
    padding-right: 0
  }
}

.o-zoom-imgbox__glid-cell.-change {
  padding: 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__glid-cell.-change {
    width: 540px;
    margin-left: auto;
    margin-right: auto
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__glid-cell+.o-zoom-imgbox__glid-cell {
    margin-top: 30px
  }
}

.o-zoom-imgbox__glid__title {
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__glid__title {
    font-size: 18px;
    padding-left: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__glid__title {
    font-size: 12px
  }
}

.o-zoom-imgbox__img__title {
  margin: 0;
  font-weight: bold;
  margin-bottom: 5px
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__img__title {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__img__title {
    font-size: 12px
  }
}

.o-zoom-imgbox__img__txt {
  line-height: 1.5em;
  padding-left: 1.5em;
  letter-spacing: -0.05em
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__img__txt {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__img__txt {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__img__txt.-size-14 {
    font-size: 14px
  }
}

.o-zoom-imgbox__zoom {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .o-zoom-imgbox__zoom {
    right: 0;
    bottom: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-zoom-imgbox__zoom {
    right: 0;
    bottom: 15px
  }
}

.o-zoom-imgbox__zoom.-fs-score-zoom {
  right: 0;
  bottom: 0
}

.o-zoom-imgbox__list__txt {
  text-decoration: underline;
  color: #005fa4
}

.o-zoom-imgbox__etc {
  display: inline-block;
  padding-left: 30px
}

.o-zoom-imgbox__box {
  margin-top: 40px;
  padding: 20px
}

.o-result {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-result {
    margin-top: 110px;
    padding: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-result {
    margin-top: 45px;
    padding: 15px
  }
}

.o-result__title {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-result__title {
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-result__title {
    margin-bottom: 15px
  }
}

.o-result__img {
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .o-result__img {
    left: 30px;
    top: -60px
  }
}

@media only screen and (max-width: 767px) {
  .o-result__img {
    width: 50px;
    height: auto;
    left: 10px;
    top: -45px
  }
}

.o-materials {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-materials {
    padding: 20px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .o-materials {
    padding: 10px;
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-materials__heading {
    margin: 0 0 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-materials__heading {
    margin: 0 0 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-materials__main {
    padding-left: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-materials__main {
    padding-left: 20px
  }
}

.o-materials__list {
  position: relative
}

.o-materials__balloon {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .o-materials__balloon {
    position: absolute;
    left: 290px;
    top: 5px
  }
}

@media only screen and (max-width: 767px) {
  .o-materials__balloon {
    width: 190px;
    margin: 10px 0 10px 20vw
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-materials__merit {
    position: absolute;
    right: 60px;
    bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-materials__merit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 20px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-materials__badge {
    margin: 0 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-materials__badge {
    margin: 0 15px
  }
}

.o-additional {
  background-image: url(/gtec/junior/overview/images/bg-dashed.png);
  background-repeat: no-repeat;
  background-position: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-additional {
    padding: 100px
  }
}

@media only screen and (max-width: 767px) {
  .o-additional {
    margin: 0 30px;
    padding-top: 15vw;
    height: 161vw;
    background-image: url(/gtec/junior/overview/images/bg-dashed_sp.png);
    background-size: contain;
    background-position: top center
  }
}

.o-additional__text {
  text-align: center;
  margin-bottom: 30px
}

@media only screen and (min-width: 768px), tv, print {
  .o-additional__text {
    margin-top: 50px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .o-additional__text {
    text-align: left;
    margin: 0 15px 15px;
    font-size: 12px
  }
}

.o-additional__sample {
  position: relative;
  margin-right: auto;
  margin-left: auto
}

@media only screen and (min-width: 768px), tv, print {
  .o-additional__sample {
    width: 320px
  }
}

@media only screen and (max-width: 767px) {
  .o-additional__sample {
    width: 85%
  }
}

.o-additional__sample__zoom {
  position: absolute;
  right: -10px;
  bottom: -10px
}

.o-contact-login {
  position: relative;
  overflow: hidden
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login {
    min-width: 960px;
    min-height: 780px;
    padding: 84px 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login {
    width: 80vw;
    min-width: 280px;
    height: 80vh;
    padding: 30px 0 10px;
    min-height: 390px
  }
}

.o-contact-login.is-page-2-active .o-contact-login__page-1 {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%)
}

.o-contact-login.is-page-2-active .o-contact-login__page-2 {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none
}

.o-contact-login__page-1, .o-contact-login__page-2 {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__page-1 {
    min-width: 960px;
    min-height: 780px;
    padding: 84px 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__page-1 {
    padding: 30px 0 10px;
    min-height: 390px
  }
}

.o-contact-login__page-2 {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%)
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__page-2 {
    min-width: 960px;
    min-height: 780px;
    padding: 84px 0 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__page-2 {
    padding: 40px 0 10px;
    min-height: 390px
  }
}

.o-contact-login__back-btn {
  position: absolute;
  top: 20px;
  left: 10px;
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  padding: 10px;
  background-color: transparent;
  color: #005fa4;
  font-family: inherit;
  font-size: 20px;
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.o-contact-login__back-btn:hover {
  opacity: .7
}

.o-contact-login__back-btn:before {
  margin-right: 10px;
  content: "\f104";
  font-family: FontAwesome
}

@media only screen and (max-width: 767px) {
  .o-contact-login__back-btn {
    top: 0;
    font-size: 16px
  }
}

.o-contact-login__title {
  color: #1c3358;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-bottom: 8px solid #1c3358;
  padding: 0 20px;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__title {
    font-size: 24px;
    padding-bottom: 7px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__title {
    font-size: 14px;
    border-bottom: 4px solid #1c3358
  }
}

.o-contact-login__sub-title {
  letter-spacing: 0.05em;
  padding: 0 20px
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__sub-title {
    font-size: 18px;
    padding-top: 15px;
    padding-bottom: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__sub-title {
    font-size: 12px;
    margin-bottom: 10px;
    letter-spacing: -0.05em
  }
}

.o-contact-login__contents {
  padding: 0 25px
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__contents {
    margin: 0 25px 33px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__contents {
    padding: 20px 5px 15px;
    margin: 0 12px 25px;
    text-align: center
  }
}

.o-contact-login__contents.bg-gray-contents {
  background-color: #eeeeee
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 0;
    padding-left: 40px
  }
}

.o-contact-login__top.-border-blue {
  border-bottom: 1px solid #005fa4
}

.o-contact-login__btn-title {
  color: #005fa4;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__btn-title {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__btn-title {
    font-size: 12px;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__btnbox {
    padding: 0 30px 10px
  }
}

.o-contact-login__under {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .o-contact-login__under {
    padding: 25px 0;
    padding-left: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__under {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

@media only screen and (max-width: 767px) {
  .o-contact-login__link-box {
    font-size: 10px
  }
  .o-contact-login__link-box:first-child {
    padding-right: 10px
  }
}

.o-legacy #read {
  position: relative;
  background-color: #f4f4f4;
  width: 100%;
  min-height: 145px;
  padding: 25px 20px 20px 20px;
  margin-bottom: 20px
}

.o-legacy #read .box {
  height: 214px
}

.o-legacy #read .ttl {
  line-height: 1;
  padding-left: 30px;
  margin-bottom: 10px
}

.o-legacy #read .ttl img {
  width: auto;
  height: 18px
}

.o-legacy #read .pic {
  position: absolute;
  top: 50%;
  height: 214px;
  margin-top: -107px
}

.o-legacy #read .pic img {
  height: 100%;
  width: auto
}

.o-legacy #read .txt {
  margin-top: 7px;
  margin-left: 230px
}

.o-legacy #read .txt h4 {
  margin-bottom: 20px
}

.o-legacy #read .txt p.note {
  font-size: 12px;
  padding-top: 10px
}

.o-legacy .product_pr_fourskill #read {
  margin-bottom: 50px
}

.o-legacy .product_pr_fourskill table {
  width: 100%;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 30px
}

.o-legacy .product_pr_fourskill #main th {
  font-size: 13px !important;
  color: #2c7499 !important;
  background-color: #f4f4f4;
  width: 110px;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
  padding: 8px 10px 5px 10px
}

.o-legacy .product_pr_fourskill #main td {
  font-size: 13px !important;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 8px 10px 5px 10px;
  line-height: 16px
}

.o-legacy .product_pr_fourskill #main .aligntop {
  display: table
}

.o-legacy .product_pr_fourskill #main aligntop_in {
  display: table-cell;
  vertical-align: top !important
}

.o-legacy .product_pr_fourskill #main th {
  background-color: #EEE;
  text-align: center;
  width: 70%
}

.o-legacy .product_pr_fourskill #main th.thema, .o-legacy .product_pr_fourskill #main td.thema {
  background-color: #FFF;
  border-left: 1px solid #ddd;
  width: 30%;
  font-size: 14px
}

.o-legacy .product_pr_fourskill #main th.thema_ttl {
  background-color: #EEE
}

.o-legacy .product_pr_fourskill #main td strong {
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  padding: 4px 8px;
  background-color: #2c7499;
  color: #FFF;
  font-size: 18px;
  line-height: 1em;
  margin-bottom: 15px;
  margin-right: 8px
}

.o-legacy .product_pr_fourskill #main td span {
  font-weight: normal;
  font-size: 14px;
  text-indent: -1em;
  margin-left: 1em;
  display: inline-block;
  *display: inline;
  *zoom: 1
}

.o-legacy .product_pr_fourskill #main td a {
  font-size: 13px
}

.o-legacy .product_pr_fourskill #main td .ttl {
  display: none
}

@media screen and (max-width: 1000px) {
  .o-legacy #read .txt {
    margin-left: 200px
  }
}

@media screen and (max-width: 640px) {
  .o-legacy #main h2 {
    margin-bottom: 15px
  }
  .o-legacy #main h2 img {
    height: 22px;
    width: auto;
    margin-bottom: 10px
  }
  .o-legacy #main h2 span {
    font-size: 12px;
    padding: 5px 8px 3px 8px
  }
  .o-legacy #read {
    padding: 10px;
    margin-bottom: 30px;
    min-height: 0px
  }
  .o-legacy #read .box {
    height: auto
  }
  .o-legacy #read .ttl {
    padding-left: 0
  }
  .o-legacy #read .pic {
    position: static;
    height: 170px;
    text-align: center;
    margin-top: 0px;
    margin-bottom: 10px
  }
  .o-legacy #read .txt {
    margin-left: 0px
  }
  .o-legacy #read .txt h4 {
    margin-bottom: 10px
  }
  .o-legacy #read .txt h4 img {
    height: 40px;
    width: auto
  }
  .o-legacy #read.read_skill3 .txt h4 img {
    height: 64px
  }
  .o-legacy #read .txt p {
    font-size: 13px
  }
}

.o-legacy #contents #main {
  background-color: #FFFFFF;
  box-shadow: 0px 0px 5px #CCC;
  -moz-box-shadow: 0px 0px 5px #CCC;
  -webkit-box-shadow: 0px 0px 5px #CCC;
  margin-bottom: 45px;
  margin-left: 0px;
  padding-top: 46px;
  padding-bottom: 57px;
  padding-left: 20px;
  padding-right: 20px;
  width: auto
}

.o-legacy #contents #main .clearfix:after {
  content: "";
  clear: both;
  display: block;
  height: 0
}

.o-legacy #contents .prepBox h3 {
  background: #666;
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
  padding: 10px 13px;
  margin-bottom: 30px
}

.o-legacy #contents .prepBox h4 {
  position: relative;
  margin-bottom: 15px
}

.o-legacy #contents .prepBox h4 br {
  display: none
}

.o-legacy #contents .prepBox h4:before {
  width: 100%;
  height: 1px;
  background: #ddd;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: 10px
}

.o-legacy #contents .prepBox h4 span {
  display: inline-block;
  background: #fff;
  position: relative;
  z-index: 2;
  font-size: 20px;
  font-weight: bold;
  color: #660000;
  line-height: 1.3;
  padding-right: 10px
}

.o-legacy #contents .prepBox01 {
  margin-bottom: 80px
}

.o-legacy #contents .prepBoxIn .book {
  margin-bottom: 60px
}

.o-legacy #contents .prepBoxIn .book .txt {
  float: left;
  width: 507px;
  font-size: 14px
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBoxIn .book .txt {
    padding: 40px 0 0 40px
  }
}

.o-legacy #contents .prepBoxIn .book .txt h5 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 7px
}

.o-legacy #contents .prepBoxIn .book .txt .mb {
  margin-bottom: 25px
}

.o-legacy #contents .prepBoxIn .book .onlineStore {
  letter-spacing: -0.40em
}

.o-legacy #contents .prepBoxIn .book .onlineStore li {
  display: inline-block;
  margin: 0 8px 8px 0
}

.o-legacy #contents .prepBoxIn .book .pic {
  width: 260px;
  float: right
}

.o-legacy #contents .prepBoxIn .book .pic figure {
  margin: 0
}

.o-legacy #contents .prepBoxIn .book .pic table {
  width: 100%;
  table-layout: fixed;
  border: 1px solid #eee;
  border-top: none
}

.o-legacy #contents .prepBoxIn .book .pic table th, .o-legacy #contents .prepBoxIn .book .pic table td {
  border-top: 1px solid #eee;
  padding: 5px 10px;
  line-height: 1.3
}

.o-legacy #contents .prepBoxIn .book .pic table th {
  background: #666;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 40px
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 {
    margin-left: 30px;
    margin-right: 30px
  }
}

.o-legacy #contents .prepBox02 .lead {
  padding: 0 34px;
  margin-bottom: 45px !important;
  text-align: left !important
}

.o-legacy #contents .prepBox02 .school {
  float: left;
  width: 412px;
  margin-bottom: 50px
}

.o-legacy #contents .prepBox02 .school .courseBox {
  width: 420px;
  background: #eee;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 27px 20px 25px;
  position: relative
}

.o-legacy #contents .prepBox02 .school .courseBox .type {
  position: absolute;
  text-align: center;
  line-height: 1;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  top: -10px;
  left: 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBox02 .school .courseBox .type {
    min-width: 160px;
    padding: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school .courseBox .type {
    min-width: 100px;
    padding: 8px;
    font-size: 12px
  }
}

.o-legacy #contents .prepBox02 .school .courseBox .type:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 0 5px;
  position: absolute;
  top: 0;
  right: -5px
}

.o-legacy #contents .prepBox02 .school .courseBox .type.movie {
  background: #00805d;
  letter-spacing: 0.01em
}

.o-legacy #contents .prepBox02 .school .courseBox .type.movie:after {
  display: none;
  border-color: transparent transparent transparent #023a2b
}

.o-legacy #contents .prepBox02 .school .courseBox .type.live {
  background: #005480;
  border-bottom: 1px solid #033854;
  border-right: 1px solid #033854;
  font-size: 14px
}

.o-legacy #contents .prepBox02 .school .courseBox .type.live:after {
  border-color: transparent transparent transparent #033854
}

.o-legacy #contents .prepBox02 .school .courseBox .type.online {
  background: #755b0c;
  width: 130px
}

.o-legacy #contents .prepBox02 .school .courseBox .type.online:after {
  display: none;
  border-color: transparent transparent transparent #443405
}

.o-legacy #contents .prepBox02 .school .courseBox h5 {
  text-align: center;
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 16px;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBox02 .school .courseBox h5 {
    margin: 30px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school .courseBox h5 {
    margin: 5px 0;
    font-size: 12px
  }
}

.o-legacy #contents .prepBox02 .school .courseBox h5+p {
  line-height: 1.75
}

.o-legacy #contents .prepBox02 .school .courseBox h5 span {
  font-size: 14px;
  font-weight: bold
}

.o-legacy #contents .prepBox02 .school .courseBox table {
  width: 100%;
  table-layout: fixed;
  margin: 20px 0 60px;
  border-collapse: collapse;
  border: 2px solid #898989
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBox02 .school .courseBox table th, .o-legacy #contents .prepBox02 .school .courseBox table td {
    padding: 15px 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school .courseBox table th, .o-legacy #contents .prepBox02 .school .courseBox table td {
    padding: 12px 5px
  }
}

.o-legacy #contents .prepBox02 .school .courseBox table th {
  background: #898989;
  color: #fff;
  font-weight: bold;
  text-align: left;
  border-bottom: 2px solid #cdcdcd
}

.o-legacy #contents .prepBox02 .school .courseBox table th:last-child {
  border-bottom: 1px solid #898989
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBox02 .school .courseBox table th {
    width: 120px;
    font-size: 22px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school .courseBox table th {
    width: 65px;
    font-size: 12px
  }
}

.o-legacy #contents .prepBox02 .school .courseBox table tr:last-child th, .o-legacy #contents .prepBox02 .school .courseBox table tr:last-child td {
  border-bottom: 2px solid #898989
}

.o-legacy #contents .prepBox02 .school .courseBox table td {
  background: #fff;
  border-bottom: 2px solid #898989;
  line-height: 1.5
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBox02 .school .courseBox table td {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school .courseBox table td {
    padding-left: 15px;
    font-size: 12px
  }
}

.o-legacy #contents .prepBox02 .school .courseBox .btn {
  width: 212px;
  text-align: center;
  line-height: 1;
  background: #660000;
  display: block;
  margin: 0 auto;
  color: #fff;
  padding: 12px 0;
  border-radius: 5px
}

.o-legacy #contents .prepBox02 .school .courseBox .btn:hover {
  opacity: 0.7
}

.o-legacy #contents .prepBox02 .school .courseBox .btn span {
  display: inline-block;
  font-weight: bold;
  font-size: 16px;
  background: url(/cbt/images/test-prep/ico-win_white_001.png) right center no-repeat;
  padding-right: 18px
}

.o-legacy #contents .prepBox02 .school .courseBox .btn.end {
  background: #888
}

.o-legacy #contents .prepBox02 .school .courseBox .btn.end:hover {
  opacity: 1
}

.o-legacy #contents .prepBox02 .school .courseBox .btn.end span {
  background: none;
  padding-right: 0
}

.o-legacy #contents .prepBox02 .school .courseBox .plan {
  text-align: center;
  margin-top: 5px
}

.o-legacy #contents .prepBox02 .school .courseBox.soon {
  width: 100%;
  display: table
}

.o-legacy #contents .prepBox02 .school .courseBox.soon p {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-weight: bold;
  font-size: 20px
}

.o-legacy #contents .prepBox02 .school01 {
  width: 960px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy #contents .prepBox02 .school01 {
    padding-left: 30px;
    padding-right: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school01 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.o-legacy #contents .prepBox02 .school01 .courseBox {
  float: left
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school01 .courseBox {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%
  }
}

.o-legacy #contents .prepBox02 .school01 .box01 {
  margin-right: 60px
}

.o-legacy #contents .prepBox02 .school01 .box02 .btn {
  width: 280px
}

.o-legacy #contents .prepBox02 .school02, .o-legacy #contents .prepBox02 .school04 {
  margin-right: 28px
}

.o-legacy #contents .prepBox02 .school01 .courseBox.soon {
  width: 412px
}

@media screen and (max-width: 980px) {
  .o-legacy #contents .prepBoxIn {
    padding: 0
  }
  .o-legacy #contents .prepBoxIn .book .txt {
    width: calc(100% - 300px)
  }
  .o-legacy #contents .prepBox02 .lead {
    padding: 0
  }
  .o-legacy #contents .prepBox02 .school .courseBox {
    width: 100%
  }
  .o-legacy #contents .prepBox02 .school, .o-legacy #contents .prepBox02 .school01 .courseBox {
    width: calc(50% - 14px)
  }
  .o-legacy #contents .prepBox02 .school01 {
    width: 100%
  }
}

.o-legacy #contents .prepBox02 .school.event {
  width: auto;
  float: none
}

.o-legacy #contents .prepBox02 .school.event .courseBox {
  width: auto;
  background: #efecdb
}

.o-legacy #contents .prepBox02 .school.event .courseBox table td, .o-legacy #contents .prepBox02 .school.event .courseBox table th {
  border-bottom: 1px solid #efecdb
}

.o-legacy #contents .prepBox02 .school.event .courseBox h5 {
  font-size: 22px;
  line-height: 1.2
}

.o-legacy #contents .prepBox02 .school.event .courseBox p {
  text-align: center
}

.o-legacy #contents .prepBox02 .school.event .courseBox p.name {
  margin-bottom: 15px;
  line-height: 1.2
}

.o-legacy #contents .prepBox02 .school.event .courseBox p.name span {
  font-weight: bold;
  color: #660000;
  font-size: 14px;
  border-top: 3px solid #660000;
  border-bottom: 3px solid #660000;
  display: inline-block;
  padding: 7px 5px 5px
}

.o-legacy #contents .prepBox02 .school .courseBox .type.event {
  background: #a35469;
  border-bottom: 1px solid #5F2A35;
  border-right: 1px solid #5F2A35
}

.o-legacy #contents .prepBox02 .school .courseBox .type.event:after {
  border-color: transparent transparent transparent #5F2A35
}

.o-legacy #contents .prepBox02 .school .courseBox .btnList {
  letter-spacing: -0.40em;
  text-align: center;
  margin-bottom: 15px
}

.o-legacy #contents .prepBox02 .school .courseBox .btnList li {
  display: inline-block;
  letter-spacing: 0
}

.o-legacy #contents .prepBox02 .school .courseBox .btnList li:first-child {
  margin-right: 10px
}

.o-legacy #contents .prepBox02 .school .courseBox .attention {
  font-weight: bold;
  font-size: 16px
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school, .o-legacy #contents .prepBox02 .school01 .courseBox {
    float: none;
    margin: 0 auto 30px;
    width: 412px
  }
  .o-legacy #contents .prepBox h4 br {
    display: inherit
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents #main {
    padding-top: 30px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 30px;
    margin-bottom: 30px
  }
  .o-legacy #contents #main p.lead {
    margin-bottom: 20px
  }
  .o-legacy #contents #main h2 {
    margin-bottom: 20px
  }
  .o-legacy #contents .prepBox h3 {
    margin-bottom: 20px
  }
  .o-legacy #contents .prepBox h4 {
    font-size: 18px
  }
  .o-legacy #contents .prepBoxIn .book {
    margin-bottom: 50px
  }
  .o-legacy #contents .prepBoxIn .book .txt {
    width: auto;
    float: none;
    margin-bottom: 20px
  }
  .o-legacy #contents .prepBoxIn .book .txt .mb {
    margin-bottom: 20px
  }
  .o-legacy #contents .prepBoxIn .book .pic {
    float: none;
    width: auto;
    margin: 0
  }
  .o-legacy #contents .prepBoxIn .book .pic figure {
    background: #eee;
    text-align: center
  }
  .o-legacy #contents .prepBox02 .school, .o-legacy #contents .prepBox02 .school01 .courseBox {
    width: auto
  }
  .o-legacy #contents .prepBox02 .school .courseBox {
    padding: 25px 10px 25px
  }
  .o-legacy #contents .prepBox02 .school .courseBox .type {
    font-size: 12px;
    padding: 5px 0
  }
  .o-legacy #contents .prepBox02 .school .courseBox h5 {
    margin-bottom: 15px
  }
  .o-legacy #contents .prepBox02 .school .courseBox table {
    margin: 15px 0 20px
  }
  .o-legacy #contents .prepBox02 .school01 .box02 .btn {
    max-width: 280px;
    width: auto
  }
  .o-legacy #contents .prepBox02 .school .courseBox .btnList li {
    display: block
  }
  .o-legacy #contents .prepBox02 .school .courseBox .btnList li:first-child {
    margin: 0 0 10px
  }
  .o-legacy #contents .prepBox02 .school01 .courseBox.soon {
    width: 100%
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy #contents .prepBox02 .school .courseBox .btn-box {
    margin-left: 25px;
    margin-right: 25px
  }
}

.o-legacy .product_pr_fourskill .section {
  padding-bottom: 20px
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy .product_pr_fourskill .section {
    padding-bottom: 50px;
    border: 1px solid #e2e2e2
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy .product_pr_fourskill .table-box {
    padding: 0 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy.-img-left .o-legacy__pic {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 290px !important
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy.-img-left .o-legacy__pic figure {
    padding: 15px
  }
}

.o-legacy.-img-left .o-legacy__pic th {
  width: 100px !important
}

.o-legacy.-img-left .o-legacy__txt {
  padding-top: 0 !important
}

@media only screen and (max-width: 767px) {
  .o-legacy.-img-left .o-legacy__txt {
    margin-top: 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy.-img-left .o-legacy__label {
    width: 320px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy.-img-left .o-legacy__label {
    display: block
  }
}

.o-legacy.-img-left .o-legacy__online {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.o-legacy.-img-left .o-legacy__online li:not(:last-child) {
  margin-right: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy.-img-left {
    margin-top: 40px
  }
  .o-legacy.-img-left .o-legacy__book {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important
  }
  .o-legacy.-img-left .o-legacy__txt, .o-legacy.-img-left .o-legacy__pic {
    float: none !important
  }
}

.o-legacy__result {
  padding-bottom: 10px
}

.o-legacy__result table {
  border-collapse: collapse
}

.o-legacy__result #list {
  margin-bottom: 40px
}

.o-legacy__result #list #searchResult {
  margin: 60px 0 -40px;
  border-top: 3px solid #ddd;
  padding-top: 15px;
  color: #666
}

.o-legacy__result #list #searchResult section {
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border: 1px solid #ddd;
  margin-bottom: 40px;
  color: #333
}

.o-legacy__result #list #searchResult .name {
  width: 100%;
  display: table
}

.o-legacy__result #list #searchResult .name .univName, .o-legacy__result #list #searchResult .name .testName {
  display: table-cell;
  vertical-align: middle
}

.o-legacy__result #list #searchResult .name .univName {
  min-height: 50px;
  width: 444px;
  padding: 12px 20px 10px;
  font-weight: bold
}

.o-legacy__result #list #searchResult .name .univName h1 {
  font-size: 20px;
  margin-bottom: 4px;
  line-height: 1.7
}

.o-legacy__result #list #searchResult .name .univName h1 span {
  display: inline-block;
  background: #4784c1;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 7px 12px 6px;
  margin-right: 9px
}

.o-legacy__result #list #searchResult .name .univName h1 img {
  display: inline-block;
  padding-top: 10px;
  padding-left: 5px
}

.o-legacy__result #list #searchResult .name .iconName {
  margin-top: 10px
}

.o-legacy__result #list #searchResult .name .iconName span {
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 3px;
  margin: 0 10px 10px 0;
  min-width: 80px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center
}

.o-legacy__result #list #searchResult .name .iconName .minasi {
  border: 1px solid #6734BA
}

.o-legacy__result #list #searchResult .name .iconName .app {
  border: 1px solid #1194F6
}

.o-legacy__result #list #searchResult .name .iconName .add {
  border: 1px solid #F77C00
}

.o-legacy__result #list #searchResult .name .iconName .other {
  border: 1px solid #89C540
}

.o-legacy__result #list #searchResult .name .iconName .sub {
  border: 1px solid #FFCB21
}

.o-legacy__result #list #searchResult .name .testName td, .o-legacy__result #list #searchResult .name .testName th {
  display: table-cell;
  width: 159px;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #ddd
}

.o-legacy__result #list #searchResult .name .testName td.typeCol3 {
  width: 102px
}

.o-legacy__result #list #searchResult .name .testName th.typeCol3 {
  width: 102px
}

.o-legacy__result #list #searchResult .name .testName table {
  table-layout: fixed;
  height: 100%
}

.o-legacy__result #list #searchResult .name .testName th {
  font-size: 12px;
  line-height: 1.3;
  background: #f7f5f0;
  border-bottom: 1px solid #ddd;
  position: relative;
  height: 43px;
  padding-top: 4px
}

@media all and (-ms-high-contrast: none) {
  .o-legacy__result #list #searchResult .name .testName th:after {
    content: "";
    display: block;
    border-left: 1px solid #ddd;
    width: 155px;
    height: 45px;
    position: absolute;
    left: -1px;
    bottom: -2px
  }
  .o-legacy__result #list #searchResult .name .testName th.typeCol3:after {
    width: 102px;
    border-bottom: 1px solid #ddd
  }
}

.o-legacy__result #list #searchResult .name .testName th .red {
  color: #fd5a3d
}

.o-legacy__result #list #searchResult .red {
  display: inline-block;
  font-size: 10px;
  line-height: 1.6;
  color: #fd5a3d
}

.o-legacy__result #list #searchResult .name .testName th:before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  top: 0;
  left: 0;
  position: absolute
}

.o-legacy__result #list #searchResult .name .testName th:before {
  background-color: #005fa4
}

.o-legacy__result #list #searchResult .tableBox {
  display: table;
  width: 100%;
  border-top: 1px solid #ddd;
  min-height: 57px
}

.o-legacy__result #list #searchResult .tableBox strong, .o-legacy__result #list #searchResult .tableBox p {
  display: table-cell;
  border-left: 1px solid #ddd;
  vertical-align: middle
}

.o-legacy__result #list #searchResult .tableBox strong:first-child {
  border-left: none
}

.o-legacy__result #list #searchResult .tableBox strong {
  width: 150px;
  text-align: center;
  background: #f7f5f0;
  font-weight: bold
}

.o-legacy__result #list #searchResult .tableBox p {
  padding: 18px
}

.o-legacy__result #list #searchResult .tableBox.box01 p {
  width: 240px
}

.o-legacy__result #list #searchResult .tableBox.box03 a {
  text-decoration: underline
}

.o-legacy__result #list #searchResult .tableBox.box03 a:hover {
  text-decoration: none
}

.o-legacy__result #list #searchResult .tableBox.box03 a img {
  display: inline-block;
  margin: 3px 0 0 5px
}

.o-legacy__result #list #searchResult .notPage {
  text-align: center;
  font-size: 26px;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy__result #list #searchResult .name .typeThBox {
    padding: 8px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-legacy__result #list #searchResult .name .typeBox {
    border-bottom: 1px solid #ddd;
    padding: 5px 0
  }
}

@media screen and (max-width: 1000px) {
  .o-legacy__result #list #searchResult {
    margin: 40px 0 -40px
  }
  .o-legacy__result #list #searchResult section {
    margin-bottom: 20px
  }
  .o-legacy__result #list #searchResult .name {
    display: inherit
  }
  .o-legacy__result #list #searchResult .name .univName, .o-legacy__result #list #searchResult .name .testName {
    display: block
  }
  .o-legacy__result #list #searchResult .name .univName {
    width: auto;
    padding: 10px
  }
  .o-legacy__result #list #searchResult .name .univName h1 {
    font-size: 18px;
    margin-bottom: 5px
  }
  .o-legacy__result #list #searchResult .name .univName h1 span {
    display: block;
    margin: 0 0 5px;
    text-align: center
  }
  .o-legacy__result #list #searchResult .name .testName td {
    width: auto;
    display: block;
    border-left: none;
    text-align: left;
    border-top: 1px solid #ddd
  }
  .o-legacy__result #list #searchResult .name .testName table {
    table-layout: fixed;
    width: 100%;
    height: auto
  }
  .o-legacy__result #list #searchResult .name .testName table tr:first-child {
    display: none
  }
  .o-legacy__result #list #searchResult .name .testName td {
    line-height: 1.3;
    height: 100%;
    overflow: hidden
  }
  .o-legacy__result #list #searchResult .name .testName td span {
    display: block;
    padding: 5px 5px 3px
  }
  .o-legacy__result #list #searchResult .name .testName td span.sp {
    font-size: 12px;
    background: #f7f5f0;
    position: relative;
    padding-top: 4px;
    display: block;
    text-align: left;
    font-weight: bold;
    border-right: 1px solid #ddd;
    border-left: 3px solid #005fa4;
    width: 130px;
    margin-right: 10px;
    float: left;
    padding: 6px 5px 5px;
    white-space: nowrap
  }
  .o-legacy__result #list #searchResult .name .testName td .red {
    color: #fd5a3d;
    padding: 8px 0 0 5px !important
  }
  .o-legacy__result #list #searchResult .tableBox {
    display: inherit;
    width: 100%;
    border-top: 1px solid #ddd;
    min-height: 57px
  }
  .o-legacy__result #list #searchResult .tableBox strong, .o-legacy__result #list #searchResult .tableBox p {
    display: block;
    width: auto;
    border-left: none;
    border-bottom: 1px solid #ddd;
    vertical-align: middle
  }
  .o-legacy__result #list #searchResult .tableBox strong:first-child {
    border-left: none
  }
  .o-legacy__result #list #searchResult .tableBox strong {
    width: auto;
    padding: 5px 10px
  }
  .o-legacy__result #list #searchResult .tableBox p {
    padding: 5px 10px 10px
  }
  .o-legacy__result #list #searchResult .tableBox.box01 p {
    width: auto !important
  }
  .o-legacy__result #list #searchResult .tableBox.box02 {
    border-top: none
  }
  .o-legacy__result #list #searchResult .tableBox.box03 {
    border-top: none
  }
  .o-legacy__result #list #searchResult .notPage {
    font-size: 20px
  }
}

@media only screen and (min-width: 1000px) {
  .o-legacy__result #list #searchResult .name .univName {
    width: 654px
  }
}

@media only screen and (max-width: 767px) {
  .o-legacy__has-border {
    width: 100vw;
    border-top: 1px solid #898989
  }
  .o-legacy__has-border.-inner-cont {
    margin-left: -30px;
    margin-right: -30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search {
    margin-top: 60px
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search {
    margin-top: 30px
  }
}

.o-form-search__heading {
  margin-top: 30px;
  margin-bottom: 30px
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    margin-left: 20px;
    margin-right: 20px
  }
}

@media only screen and (max-width: 767px) {
    .o-form-search__heading {
      margin-top: 20px;
      margin-bottom: 15px;
    }
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__heading span { width:24%; }
  .o-form-search__heading__btn {
    width:100%;
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__heading__btn {
    margin: 15px 0;
    display: block
  }
}

.o-form-search__acc-sp {
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear
}

@media only screen and (max-width: 767px) {
  .o-form-search__acc-sp.is-close {
    overflow: hidden;
    line-height: 0 !important;
    max-height: 0;
    opacity: 0
  }
}

.o-form-search__table {
  width: 100%;
  border-spacing: 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__table {
    margin: 30px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__table {
    margin: 15px 0
  }
}

.o-form-search__table th {
  color: #4784c1;
  font-size: 16px;
  font-weight: bold;
  vertical-align: top;
  padding: 20px 0 20px 10px;
  width: 175px;
  border-bottom: 1px solid #ccc
}

.o-form-search__table td {
  font-weight: bold;
  padding: 20px 0;
  border-bottom: 1px solid #ccc
}

.o-form-search__table td ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.o-form-search__table td ul li {
  margin-left: 40px
}

.o-form-search__table td ul.pref li {
  margin-left: 14px
}

@media only screen and (max-width: 767px) {
    .o-form-search__table tr.pref_tr {
      display: none;
    }
    .o-form-search__table td ul.pref li {
      margin-left: 0;
    }
}

.o-form-search__table td ul li input {
  margin-right: 7px
}

.o-form-search__table td ul li:first-child {
  margin-left: 0
}

@media only screen and (max-width: 767px) {
  .o-form-search__table th {
    text-align: left;
    display: block;
    font-size: 16px;
    padding: 10px 0 10px 10px;
    width: auto;
    border-bottom: none;
    background: #eee
  }
  .o-form-search__table td {
    display: block;
    padding: 10px 0 20px 10px;
    border-bottom: none
  }

  .o-form-search__table td.border {
    display: block;
    padding: 10px 0 10px 10px;
    border-bottom: 1px solid #ccc;
  }

  .o-form-search__table td ul {
    display: block
  }
  .o-form-search__table td ul li {
    float: none;
    margin-left: 0
  }
  .o-form-search__table td ul li:first-child {
    margin-left: 0
  }
}

.o-form-search__table.-location {
  margin-bottom: 20px
}

.o-form-search__table.-location th {
  border: none
}

.o-form-search__table.-location td {
  border-top: 1px solid #ccc;
  border-bottom: none
}

.o-form-search__table.-location tr:first-child td {
  border-top: none
}

.o-form-search__table.-location td ul li {
  margin-left: 26px
}

@media only screen and (max-width: 767px) {
  .o-form-search__table.-location {
    margin-bottom: 0px
  }
  .o-form-search__table.-location td {
    padding: 10px
  }
  .o-form-search__table.-location td br {
    display: none
  }
  .o-form-search__table.-location td ul li {
    margin-left: 0
  }
}

.o-form-search__table-acc {
  display: none
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 30px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__btns {
    margin: 15px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__btn {
    margin: 0 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__btn {
    margin: 5px 0;
    width: 100%
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__score {
    margin: 30px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__score {
    margin: 15px 0
  }
}

.o-form-search__score input.textIn {
  margin: 0 13px 0 20px;
  -webkit-box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
  box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  border: 1px solid #ddd;
  padding: 0 10px;
  font-size: 14px;
  height: 34px;
  width: 70px
  text-align: center;
}

.o-form-search__score__desc {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 23px
}

@media only screen and (max-width: 767px) {
  .o-form-search__score__desc {
    text-align: left;
    font-size: 14px;
    font-weight: bold;
    margin: 20px 10px 20px
  }
}

.o-form-search__score__table {
  width: 100%
}

.o-form-search__score__table td {
  vertical-align: middle;
  font-weight: bold;
  width: 442px;
}

.o-form-search__score__table td:first-child {
  width: 50%;
  padding-right: 50px;
  padding-bottom: 10px;
  text-align: right;
}

@media only screen and (min-width: 768px) {
  .o-form-search__score__table td:first-child {
    border-right: solid 1px #ddd;  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__score__table td:first-child {
    text-align: center;
    width: 50%;
    /* display: block; */
    padding:0 0 10px 0;
  }
}

.o-form-search__score__table td:last-child {
  width: 50%;
  padding-bottom: 10px;
  padding-left: 50px;
  text-align: left;
}


@media only screen and (max-width: 767px) {
  .o-form-search__score__table td:last-child {
    padding:0 0 10px 0;
    text-align: center;
    width: 50%;
    /* display: block; */
  }
}

.o-form-search__score__table td strong {
  font-size: 18px;
  color: #4784c1;
  margin-right: 10px;
}

@media only screen and (max-width: 767px) {
  .o-form-search__score__table td strong {
    font-size: 18px;
    color: #4784c1;
    display: block;
    margin-bottom: 5px
  }
}

#gtecScore, .o-form-search__score__table #cefrLevel {
  /* font-size: 14px; */
  font-size: 16px;
  transform: scale(0.9);
  padding: 0 0 0 15px;
  height: 34px;
  margin-left: 0px;
  box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  border: 1px solid #ddd;
  width: 70px;
  background-color: rgb(255,255,255);
}

.o-form-search__score__table input:disabled, .o-form-search__score__table select:disabled {
  background-color : #ddd !important;
}

.o-form-search__score__table input {
  height: 34px;
  width: 106px
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__university {
    /* margin: 60px 0 */
    margin: 30px 0
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__university {
    margin: 30px 0
  }
}

.o-form-search__university__inner {
  margin-top: 0
}

@media only screen and (max-width: 767px) {
  .o-form-search__university__inner {
    border-bottom: none
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-form-search__university__inner ul {
    margin: 0 auto;
    width: 558px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media only screen and (max-width: 767px) {
  .o-form-search__university__inner ul {
    width: auto
  }
}

.o-form-search__university__inner input {
  -webkit-box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
  box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  border: 1px solid #ddd;
  padding: 0 10px;
  /* font-size: 14px; */
  font-size: 16px;
  transform: scale(0.9);
  width: 402px;
  height: 50px;
  margin: 0
}

@media only screen and (max-width: 767px) {
  .o-form-search__university__inner input {
    width: 100%
  }
}

.o-form-search__university__submit {
  width: 122px
}

@media only screen and (max-width: 767px) {
  .o-form-search__university__submit {
    width: 100%;
    margin-top: 15px
  }
}

.o-search-result {
  margin: 80px 0;
  padding-top: 15px;
  color: #666
}

.o-search-result .notPage {
  text-align: center;
  font-size: 26px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-search-result {
    margin: 50px 0;
    font-size: 14px
  }
  .o-search-result .notPage {
    font-size: 20px
  }
}

.o-search-result__item {
  -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  border: 1px solid #ddd;
  margin-bottom: 40px;
  color: #333
}

@media only screen and (max-width: 767px) {
  .o-search-result__item {
    margin-bottom: 20px
  }
}

.o-search-result__item th, .o-search-result__item td {
  position: relative
}

.o-search-result__badge {
  z-index: 100;
  position: absolute
}

@media only screen and (min-width: 768px), tv, print {
  .o-search-result__badge {
    left: -30px;
    top: 50%;
    margin-top: -20px
  }
}

@media only screen and (max-width: 767px) {
  .o-search-result__badge {
    left: -3px;
    top: 0
  }
}

.o-search-result__badge img {
  width: 40px
}

.o-search-result__badge.-upper {
  top: -20px;
  margin-top: 0;
  left: 50%;
  margin-left: -20px
}

.o-search-result__name {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media only screen and (max-width: 767px) {
  .o-search-result__name {
    display: inherit
  }
}

.o-search-result__red {
  display: inline-block;
  font-size: 10px;
  line-height: 1.6;
  color: #fd5a3d;
  padding: 5px
}

@media only screen and (max-width: 767px) {
  .o-search-result__red {
    padding: 10px
  }
}

.o-search-result__iconname-items {
  margin-top: 10px
}

.o-search-result__iconname {
  display: inline-block;
  font-weight: bold;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 3px;
  margin: 0 10px 10px 0;
  min-width: 80px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center
}

.o-search-result__iconname.minasi {
  border: 1px solid #6734BA
}

.o-search-result__iconname.app {
  border: 1px solid #1194F6
}

.o-search-result__iconname.add {
  border: 1px solid #F77C00
}

.o-search-result__iconname.other {
  border: 1px solid #89C540
}

.o-search-result__iconname.sub {
  border: 1px solid #FFCB21
}

.o-search-result__univname, .o-search-result__testname {
  position: relative
}

@media only screen and (max-width: 767px) {
  .o-search-result__univname, .o-search-result__testname {
    display: block
  }
}

.o-search-result__univname {
  min-height: 50px;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 638px;
  padding: 16px 20px 14px;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .o-search-result__univname {
    width: auto;
    padding: 10px
  }
}

.o-search-result__univname__title {
  font-size: 20px;
  margin-bottom: 4px;
  line-height: 1.7
}

.o-search-result__univname__title span {
  display: inline-block;
  background: #4784c1;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  padding: 5px 8px;
  margin-right: 9px !important;
}

@media only screen and (max-width: 767px) {
 .o-search-result__univname__title span {
   font-size: 13px;
  }
}

.o-search-result__univname__title img {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px
}

@media only screen and (max-width: 767px) {
  .o-search-result__univname__title {
    font-size: 15px;
    margin-bottom: 5px
  }
}

.o-search-result__univname__title span {
  margin: 0 0 5px;
  text-align: center
}

.o-search-result__univname__subtitle {
  font-size: 14px
}

@media only screen and (max-width: 767px) {
  .o-search-result__univname__subtitle {
    font-size: 12px
  }
}

span.univsubname {
   display: inline-block;
   background: #4784c1;
   color: #fff;
   font-size: 13px;
   font-weight: inherit;
   line-height: 1;
   padding: 4px 5px;
   margin-right: 4px;
}

@media only screen and (max-width: 767px) {
  span.univsubname {
    font-size: 11px;
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-search-result__testname {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 320px
  }
}

.o-search-result__testname table {
  border-spacing: 0;
  table-layout: fixed;
  height: 100%
}

.o-search-result__testname td, .o-search-result__testname th {
  display: table-cell;
  width: 160px;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #ddd
}

@media only screen and (min-width: 768px), tv, print {
  .o-search-result__testname td, .o-search-result__testname th {
    padding: 10px
  }
}

.o-search-result__testname th {
  font-size: 12px;
  line-height: 1.3;
  background: #f7f5f0;
  border-bottom: 1px solid #ddd;
  position: relative;
  height: 43px;
  padding-top: 4px
}

.o-search-result__testname td.o-search-result__typecol3 {
  width: 102px
}

.o-search-result__testname td.o-search-result__typebox {
  border-bottom: 1px solid #ddd
}

@media only screen and (min-width: 768px), tv, print {
  .o-search-result__testname td.o-search-result__typebox {
    padding: 5px 0
  }
}

.o-search-result__testname th:before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  top: 0;
  left: 0;
  position: absolute
}

.o-search-result__testname th:before {
  background: #005fa4
}

.o-search-result__testname th.o-search-result__typecol3 {
  width: 102px
}

@media only screen and (max-width: 767px) {
  .o-search-result__testname td {
    width: auto;
    display: block;
    border-left: none;
    text-align: left;
    border-top: 1px solid #ddd
  }
  .o-search-result__testname table {
    table-layout: fixed;
    width: 100%;
    height: auto
  }
  .o-search-result__testname table tr:first-child {
    display: none
  }
  .o-search-result__testname td {
    line-height: 1.3;
    height: 100%;
    overflow: hidden
  }
  .o-search-result__testname td .red {
    color: #fd5a3d;
    padding: 8px 0 0 5px !important
  }
}

@media only screen and (max-width: 767px) {
  .o-search-result__testname__sp-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
  }
}

.o-search-result__testname__title-sp {
  font-size: 12px;
  background: #f7f5f0;
  position: relative;
  padding-top: 4px;
  display: block;
  text-align: left;
  font-weight: bold;
  border-right: 1px solid #ddd;
  border-left: 3px solid #005fa4;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 130px;
  margin-right: 10px;
  float: left;
  padding: 6px 5px 5px;
  white-space: nowrap;
  min-height: 30px
}

@media only screen and (max-width: 767px) {
  .o-search-result__testname__mark {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.o-search-result__tablebox {
  display: table;
  width: 100%;
  border-top: 1px solid #ddd;
  min-height: 57px
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox.box02 {
    border-top: none
  }
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox.box03 {
    border-top: none
  }
}

.o-search-result__tablebox.box03 a {
  text-decoration: underline
}

.o-search-result__tablebox.box03 a:hover {
  text-decoration: none
}

.o-search-result__tablebox.box03 a img {
  display: inline-block;
  margin: 3px 0 0 5px
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox {
    display: inherit;
    width: 100%;
    border-top: 1px solid #ddd;
    min-height: 57px
  }
}

.o-search-result__tablebox__head, .o-search-result__tablebox__data {
  position: relative;
  display: table-cell;
  border-left: 1px solid #ddd;
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox__head, .o-search-result__tablebox__data {
    display: block;
    width: auto;
    border-left: none;
    border-bottom: 1px solid #ddd;
    vertical-align: middle
  }
}

.o-search-result__tablebox__head {
  width: 150px;
  text-align: center;
  background: #f7f5f0;
  font-weight: bold
}

.o-search-result__tablebox__head:first-child {
  border-left: none
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox__head:first-child {
    border-left: none
  }
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox__head {
    width: auto;
    padding: 5px 10px
  }
}

.o-search-result__tablebox__data {
  padding: 20px
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox__data {
    padding: 5px 10px 10px
  }
}

.o-search-result__tablebox.box01 .o-search-result__tablebox__data {
  width: 284px
}

@media only screen and (max-width: 767px) {
  .o-search-result__tablebox.box01 .o-search-result__tablebox__data {
    width: auto !important
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-banner {
    margin: 20px 0 60px
  }
}

@media only screen and (max-width: 767px) {
  .o-banner {
    margin: 20px 15px
  }
}

.o-banner__link {
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out
}

@media only screen and (min-width: 768px), tv, print {
  .o-banner__inner {
    width: 700px;
    margin: 0 auto
  }
  .o-banner__link:hover {
    opacity: 0.8
  }
}

.o-mag-box {
  margin-left: -10px;
  margin-right: -10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.o-mag-box .grid {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  text-align: left;
  background-color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-box .grid {
    -ms-flex-preferred-size: 33.333333%;
    flex-basis: 33.333333%;
    min-width: 33.333333%;
    padding: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-mag-box .grid {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    min-width: 100%;
    margin-top: 10px
  }
}

.o-mag-box .grid a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  min-height: 173px;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  position: relative;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  min-height: 161px;
  padding: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  color: #222
}

.o-mag-box .grid a:hover {
  text-decoration: none;
  background-color: #005fa4
}

.o-mag-box .grid a .thumb {
  min-width: 140px;
  overflow: hidden;
  background-size: cover;
  background-position: center center
}

.o-mag-box .grid a .thumb img {
  top: 50%;
  left: 50%;
  z-index: 1
}

.o-mag-box .grid a:hover .thumb img {
  opacity: 10;
  filter: alpha(opacity=100)
}

.o-mag-box .grid a .txt {
  padding-left: 10px;
  padding-right: 4px;
  padding-top: 4px;
  padding-bottom: 30px
}

.o-mag-box .grid a .txt p.catName {
  padding-left: 34px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 28px;
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 197%;
  line-height: 1.2em;
  margin-bottom: 8px
}

.o-mag-box .grid a .txt h2 {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.3em;
  margin-bottom: 12px;
  text-align: left
}

.o-mag-box .grid a .txt h3 {
  font-size: 12px;
  line-height: 1.3em;
  font-weight: normal;
  color: #005fa4
}

.o-mag-box .grid a h4 {
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 32px;
  line-height: 1em;
  font-weight: normal;
  position: absolute;
  bottom: 4px;
  right: 6px;
  color: #005fa4
}

.o-mag-box .grid a h4 strong {
  font-size: 36px
}

.o-mag-box .grid.new .newIcon {
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0px;
  left: 0px;
  background-image: url(/gtec/common/images/gtecmag/ico_new_001.png);
  background-repeat: no-repeat;
  text-indent: -99999px;
  z-index: 30
}

.o-mag-box .grid.first {
  min-height: 230px
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-box .grid.first {
    -ms-flex-preferred-size: 66.6666666%;
    flex-basis: 66.6666666%;
    min-width: 66.6666666%;
    padding: 10px
  }
}

.o-mag-box .grid.first a .thumb {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-box .grid.first a .thumb {
    min-width: 40%
  }
}

.o-mag-box .grid.first a .txt {
  padding-bottom: 50px
}

.o-mag-box .grid.first a .txt h2 {
  font-size: 20px
}

.o-mag-box .grid.first a .txt .txt h3 {
  font-size: 14px
}

.o-mag-box .grid.first a h4 {
  font-size: 40px
}

.o-mag-box .grid.first a h4 strong {
  font-size: 54px
}

.o-mag-box .grid.ttl {
  box-shadow: 0px 0px 0px #CCC;
  -moz-box-shadow: 0px 0px 0px #CCC;
  -webkit-box-shadow: 0px 0px 0px #CCC;
  background-color: transparent
}

.o-mag-box .grid.ttl .h1ttl {
  box-shadow: 0px 0px 5px #CCC;
  -moz-box-shadow: 0px 0px 5px #CCC;
  -webkit-box-shadow: 0px 0px 5px #CCC;
  background-color: #FFF;
  margin-bottom: 18px
}

.o-mag-box .grid.ttl .searchBox {
  box-shadow: 0px 0px 5px #CCC;
  -moz-box-shadow: 0px 0px 5px #CCC;
  -webkit-box-shadow: 0px 0px 5px #CCC;
  background-color: #FFF
}

.o-mag-box .grid a:hover h2, .o-mag-box .grid.interview a:hover .catName, .o-mag-box .grid.interview a:hover h3, .o-mag-box .grid.interview a:hover h4, .o-mag-box .grid.case a:hover .catName, .o-mag-box .grid.case a:hover h3, .o-mag-box .grid.case a:hover h4, .o-mag-box .grid.report a:hover .catName, .o-mag-box .grid.report a:hover h3, .o-mag-box .grid.report a:hover h4 {
  color: #FFF
}

.o-mag-box .gtecmag-index {
  padding-left: 9px;
  padding-right: 9px
}

.o-mag-box .grid.ttl .h1ttl {
  padding: 6px
}

.o-mag-box .grid.ttl .h1ttl a.h1ttlA {
  padding: 0px;
  height: auto;
  background-image: url(/fs/images/gtecmag/bgi-main_001.jpg);
  background-repeat: no-repeat;
  background-position: center center
}

.o-mag-box .grid.ttl .h1ttl a h1 {
  display: block;
  width: 100%;
  height: 100%
}

.o-mag-box .grid.ttl .h1ttl a:hover h1 {
  opacity: 0;
  filter: alpha(opacity=0)
}

.o-mag-box .grid.ttl .h1ttl a h1 img {
  width: 100%;
  height: auto
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab {
  height: 78px;
  position: relative
}

.o-mag-box .grid.ttl .h1ttl ul li {
  position: absolute;
  top: 0;
  left: 0
}

.o-mag-box .grid.ttl .h1ttl ul li.tabInterview {
  left: 110px
}

.o-mag-box .grid.ttl .h1ttl ul li.tabReport {
  left: 222px
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab a {
  min-height: inherit;
  padding: 0;
  width: 110px;
  height: 78px;
  line-height: 30
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab li.tabCase a {
  background: url(/fs/images/gtecmag/btn-case_001.png) center center no-repeat
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab li.tabInterview a {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background: url(/fs/images/gtecmag/btn-interview_001.png) center center no-repeat
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab li.tabReport a {
  background: url(/fs/images/gtecmag/btn-report_001.png) center center no-repeat
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab li.tabCase a:hover {
  background-color: #e5eef2
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab li.tabInterview a:hover {
  background-color: #e5f2ee
}

.o-mag-box .grid.ttl .h1ttl ul.cotegoryTab li.tabReport a:hover {
  background-color: #fff0e5
}

.o-mag-box .grid.ttl .searchBox form {
  display: block;
  width: 100%;
  height: 42px;
  position: relative
}

.o-mag-box .grid.ttl .searchBox input[type="text"] {
  width: 282px;
  height: 22px;
  padding: 10px;
  display: block;
  border: none;
  font-size: 123.1%;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif;
  font-style: italic
}

.o-mag-box .grid.ttl .searchBox input.button {
  display: block;
  width: 42px;
  height: 42px;
  padding: 0px;
  margin: 0px;
  border: none;
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #666;
  background-image: url(/fs/images/gtecmag/ico_search_001.png);
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  moz-border-radius: 0px;
  border-radius: 0px
}

.o-mag-box .grid.ttl .searchBox input.button:hover {
  background-color: #ff7000
}

.o-mag-detail {
  padding-top: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-detail__main {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 645px
  }
}

.o-mag-detail__main #main {
  padding: 15px;
  -webkit-box-shadow: 0px 0px 5px #ccc;
  box-shadow: 0px 0px 5px #ccc
}

.o-mag-detail__main #main .mainImage {
  margin-bottom: 10px
}

.o-mag-detail__main #main .mainImage img {
  width: 100%;
  height: auto
}

.o-mag-detail__main #main .titleBox {
  padding-bottom: 15px;
  margin: 0 10px 25px 10px;
  border-bottom: 3px solid #ddd
}

.o-mag-detail__main #main .titleBox h2 {
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 44px;
  text-align: left;
  margin-bottom: 5px;
  line-height: normal;
  color: #005fa4;
  font-weight: bold
}

.o-mag-detail__main #main .titleBox h2 span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  font-size: 44px;
  margin-right: 5px;
  vertical-align: bottom;
  line-height: 1em
}

.o-mag-detail__main #main .titleBox h2 span em {
  font-size: 60px;
  font-style: normal
}

.o-mag-detail__main #main .titleBox h2 strong {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  font-size: 26px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 26px;
  padding: 2px 0 0 33px;
  vertical-align: bottom;
  line-height: 1em;
  margin-bottom: 5px
}

.o-mag-detail__main #main .titleBox h1 {
  font-weight: bold;
  font-size: 28px;
  line-height: 34px
}

.o-mag-detail__main #main .box {
  margin: 0 10px
}

.o-mag-detail__main #main .box .ttl {
  font-size: 18px;
  color: #fff;
  padding: 12px 15px;
  margin-bottom: 30px;
  background-color: #005fa4;
  font-weight: bold
}

.o-mag-detail__main #main .box h4 {
  font-size: 18px;
  margin-bottom: 25px;
  color: #005fa4;
  font-weight: bold
}

.o-mag-detail__main #main #profile {
  position: relative;
  margin-bottom: 40px
}

.o-mag-detail__main #main #profile .pic {
  position: absolute;
  left: 0;
  top: 0;
  width: 153px
}

.o-mag-detail__main #main #profile .pic img {
  width: 100%;
  height: auto
}

.o-mag-detail__main #main #profile .txt {
  padding-left: 168px
}

.o-mag-detail__main #main #profile .txt h4 {
  margin-bottom: 10px;
  color: #005fa4;
  font-weight: bold
}

.o-mag-detail__main #main #qanda {
  padding-bottom: 20px
}

.o-mag-detail__main #main #qanda table {
  width: 100%;
  margin-bottom: 20px
}

.o-mag-detail__main #main #qanda table th {
  vertical-align: top;
  padding-right: 10px
}

.o-mag-detail__main #main #qanda table th span {
  display: block;
  width: 64px;
  color: #fff;
  font-size: 13px;
  text-align: center;
  padding: 1px;
  font-weight: normal
}

.o-mag-detail__main #main #qanda table th .gray {
  background-color: #888
}

.o-mag-detail__main #main #qanda table th .blue {
  background-color: #005fa4
}

.o-mag-detail__main #main #qanda table td {
  padding-bottom: 15px;
  vertical-align: top
}

.o-mag-detail__main #main #qanda table td.qanda_img {
  max-width: 200px;
  height: auto;
  text-align: center;
  padding-left: 15px
}

.o-mag-detail__main #main #qanda table td.qanda_img img {
  max-width: 200px;
  height: auto;
  margin-bottom: 5px
}

.o-mag-detail__main #main #qanda table td.qanda_img_l {
  text-align: center
}

.o-mag-detail__main #main #qanda table td.qanda_img_l img {
  max-width: 450px;
  height: auto;
  margin-bottom: 5px
}

.o-mag-detail__main #main #qanda table td.qanda_img p, .o-mag-detail__main #main #qanda table td.qanda_img_l p {
  font-size: 12px;
  line-height: 1.5em
}

.o-mag-detail__main #main #detail {
  padding-top: 40px
}

.o-mag-detail__main #main #detail p {
  margin-bottom: 20px
}

.o-mag-detail__main #main #detail .detailHead {
  position: relative;
  min-height: 143px;
  margin-bottom: 30px
}

.o-mag-detail__main #main #detail .detailHead p {
  padding-right: 338px
}

.o-mag-detail__main #main #detail .detailHead .kakomi {
  position: absolute;
  top: 0;
  right: 0;
  width: 282px;
  border: 3px solid #ddd;
  padding: 15px 18px 6px 18px
}

.o-mag-detail__main #main #detail .detailHead h5 {
  font-size: 16px;
  text-align: center;
  margin-bottom: 10px;
  border-left: none !important;
  padding: 0px
}

.o-mag-detail__main #main #detail .detailHead ul li {
  line-height: 1.5em;
  margin-bottom: 10px;
  margin-left: 0.9em;
  text-indent: -0.9em
}

.o-mag-detail__main #main #detail .detailHead ul li span {
  color: #005480;
  margin-right: 5px;
  font-size: 8px;
  vertical-align: middle
}

.o-mag-detail__main #main #detail .pic {
  text-align: center;
  margin-bottom: 30px
}

.o-mag-detail__main #main .pic img {
  max-width: 385px;
  width: 100%;
  height: auto;
  margin-bottom: 5px
}

.o-mag-detail__main .ie #main #detail .pic img {
  width: 385px
}

.o-mag-detail__main #main #detail .pic img.l_pic {
  max-width: 530px;
  width: 100%;
  height: auto;
  margin-bottom: 5px
}

.o-mag-detail__main #main #detail .pic p {
  font-size: 12px;
  margin-bottom: 0px
}

.o-mag-detail__main #main #detail h5 {
  font-size: 14px;
  padding: 3px 0 0 7px;
  margin-bottom: 8px
}

.o-mag-detail__main #main #detail .point {
  border-top: 1px dashed #aaa;
  padding-top: 20px
}

.o-mag-detail__main #main #detail .point h4 {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  font-size: 14px;
  color: #fff;
  padding: 5px 10px 2px 10px;
  margin-bottom: 10px
}

.o-mag-detail__main #main hr.border {
  padding: 0;
  margin: 0 10px;
  border: 2px solid #ddd
}

.o-mag-detail__main dl.schoolInfo {
  font-size: 12px;
  border: 3px solid #ddd;
  padding: 5px 10px
}

.o-mag-detail__main dl.schoolInfo dt {
  float: left;
  font-weight: bold;
  color: #005480
}

.o-mag-detail__main dl.schoolInfo dd {
  margin-left: 80px
}

.o-mag-detail__main dl.schoolInfo dd:before {
  content: "｜";
  margin-left: -15px;
  padding-right: 3px;
  font-weight: bold
}

.o-mag-detail__main #main ul.markList li {
  line-height: 1.5em;
  margin-bottom: 10px;
  margin-left: 1.5em;
  text-indent: -1em
}

.o-mag-detail__main #main ul.markList li span {
  color: #005480;
  margin-right: 5px;
  font-size: 8px;
  vertical-align: middle
}

@media only screen and (max-width: 767px) {
  .o-mag-detail__main #main .mainImage {
    margin-bottom: 0px
  }
  .o-mag-detail__main #main .titleBox {
    padding-bottom: 10px;
    margin: 0 4px 20px 4px
  }
  .o-mag-detail__main #main .titleBox h2 span {
    font-size: 28px
  }
  .o-mag-detail__main #main .titleBox h2 span em {
    font-size: 40px
  }
  .o-mag-detail__main #main .titleBox h2 strong {
    background-size: 26px;
    font-size: 20px;
    margin-bottom: 1px;
    padding: 3px 0 0 30px;
    min-height: 25px
  }
  .o-mag-detail__main #main .titleBox h3 {
    font-size: 15px;
    line-height: 1.5em
  }
  .o-mag-detail__main #main .box {
    margin: 0 4px
  }
  .o-mag-detail__main #main .box .ttl {
    font-size: 14px;
    padding: 10px;
    margin-bottom: 15px
  }
  .o-mag-detail__main #main .box h4 {
    font-size: 15px;
    margin-bottom: 10px
  }
  .o-mag-detail__main #main #profile {
    margin-bottom: 30px
  }
  .o-mag-detail__main #main #profile .pic {
    position: static;
    margin: 0 auto 15px auto
  }
  .o-mag-detail__main #main #profile .txt {
    padding-left: 0px
  }
  .o-mag-detail__main #main #profile .txt h4 {
    margin-bottom: 5px
  }
  .o-mag-detail__main #main #profile .txt p {
    font-size: 13px
  }
  .o-mag-detail__main #main #qanda {
    margin-bottom: 30px;
    padding-bottom: 10px
  }
  .o-mag-detail__main #main #qanda table th {
    font-size: 13px;
    display: block;
    float: left;
    width: 100%;
    padding-bottom: 10px
  }
  .o-mag-detail__main #main #qanda table td {
    font-size: 13px;
    display: block;
    float: left;
    width: 100%
  }
  .o-mag-detail__main #main #qanda table td.qanda_img {
    max-width: none;
    padding-left: 0;
    width: 100%
  }
  .o-mag-detail__main #main #qanda table td.qanda_img img, .o-mag-detail__main #main #qanda table td.qanda_img_l img {
    width: 100%;
    height: auto
  }
  .o-mag-detail__main #main #detail p {
    font-size: 13px
  }
  .o-mag-detail__main #main #detail .detailHead p {
    padding-right: 0px
  }
  .o-mag-detail__main #main #detail .detailHead .kakomi {
    position: static;
    width: auto;
    padding: 15px 10px 5px 10px
  }
  .o-mag-detail__main #main #detail .detailHead ul li {
    font-size: 13px
  }
  .o-mag-detail__main #main #detail .pic p {
    font-size: 11px
  }
  .o-mag-detail__main .gtecmag_gt_pdf #main {
    padding-top: 15px
  }
  .o-mag-detail__main .gtecmag_gt_pdf #main h1 {
    margin-bottom: 20px
  }
  .o-mag-detail__main .gtecmag_gt_pdf #main .box {
    padding: 20px 10px 10px 10px
  }
  .o-mag-detail__main .gtecmag_gt_pdf #main .box .yearBox h2 {
    font-size: 16px;
    padding: 0 10px 4px 10px
  }
  .o-mag-detail__main .gtecmag_gt_pdf #main .box .yearBox ul li {
    padding: 15px 10px 11px 65px
  }
  .o-mag-detail__main .gtecmag_gt_pdf #main .box .yearBox ul li a {
    font-size: 13px;
    background-image: url(/fs/images/gtecmag/ico_pdf_001_sp.gif);
    background-size: 11px 14px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-detail__btn {
    margin-top: 60px
  }
}

@media only screen and (max-width: 767px) {
  .o-mag-detail__btn {
    margin-top: 30px
  }
}

.o-mag-detail__btn a {
  margin-left: auto;
  margin-right: auto
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-detail__btn a {
    width: 310px
  }
}

.o-mag-detail__btn__fa {
  margin-right: 15px
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-detail__side {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 300px;
    margin-right: 15px
  }
}

.o-mag-detail__side #side {
  position: relative
}

.o-mag-detail__side #side>div {
  padding-bottom: 6px
}

.o-mag-detail__side #side .sideTop {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px #CCC;
  box-shadow: 0px 0px 0px #CCC;
  padding: 0px;
  width: 228px;
  margin-bottom: 20px
}

.o-mag-detail__side #side .sideTop .titleBox {
  width: 228px;
  height: 225px;
  background-image: url(/fs/images/gtecmag/bgi-side_main_001.jpg);
  background-repeat: no-repeat;
  margin-bottom: 6px;
  -webkit-box-shadow: 0px 0px 5px #CCC;
  box-shadow: 0px 0px 5px #CCC
}

.o-mag-detail__side #side .sideTop .titleBox a {
  width: 216px;
  height: 213px;
  display: block;
  padding: 6px;
  background-image: url(/fs/images/gtecmag/pic-side_main_001.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  text-indent: -99999px
}

.o-mag-detail__side #side .sideTop .titleBox a:hover {
  opacity: 0;
  filter: alpha(opacity=0)
}

.o-mag-detail__side #side .sideTop .searchBox {
  -webkit-box-shadow: 0px 0px 5px #CCC;
  box-shadow: 0px 0px 5px #CCC;
  background-color: #FFF
}

.o-mag-detail__side #side .sideTop .searchBox form {
  display: block;
  width: 100%;
  height: 42px;
  position: relative
}

.o-mag-detail__side #side .sideTop .searchBox input[type="text"] {
  width: 166px;
  height: 22px;
  padding: 10px;
  display: block;
  border: none;
  font-size: 123.1%;
  line-height: 1.2em;
  font-family: 'Open Sans', sans-serif;
  font-style: italic
}

.o-mag-detail__side #side .sideTop .searchBox input.button {
  display: block;
  width: 42px;
  height: 42px;
  padding: 0px;
  margin: 0px;
  border: none;
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #666;
  background-image: url(/fs/images/gtecmag/ico_search_001.png);
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  moz-border-radius: 0px;
  border-radius: 0px
}

.o-mag-detail__side #side .sideTop .searchBox input.button:hover {
  background-color: #ff7000
}

.o-mag-detail__side #side .localnavi {
  margin-bottom: 17px
}

.o-mag-detail__side #side .localnavi h3 {
  background-image: url(/fs/images/gtecmag/ttl_side_001.gif);
  background-repeat: no-repeat;
  background-position: left top;
  width: 155px;
  height: 31px;
  text-indent: -99999px;
  margin: 0 auto 10px auto
}

.o-mag-detail__side #side .localnavi h2 {
  font-size: 15px;
  margin-bottom: 6px;
  text-align: center
}

.o-mag-detail__side #side .localnavi li {
  display: block;
  width: 216px;
  height: 75px;
  margin-bottom: 4px;
  background-image: url(/fs/images/gtecmag/bgi-side_case_001.jpg);
  background-repeat: no-repeat
}

.o-mag-detail__side #side .localnavi li a {
  background-repeat: no-repeat;
  width: 170px;
  height: 60px;
  padding-top: 15px;
  padding-left: 16px;
  padding-right: 30px;
  font-size: 108%;
  line-height: 1.2em;
  color: #000;
  display: block
}

.o-mag-detail__side .gtecmag_single_case #side .localnavi li a {
  background-image: url(/fs/images/gtecmag/bgi-side_case_001.jpg)
}

.o-mag-detail__side .gtecmag_single_interview #side .localnavi li a {
  background-image: url(/fs/images/gtecmag/bgi-side_interview_001.jpg)
}

.o-mag-detail__side .gtecmag_single_report #side .localnavi li a {
  background-image: url(/fs/images/gtecmag/bgi-side_report_001.jpg)
}

.o-mag-detail__side #side .localnavi li a:hover {
  text-decoration: none
}

.o-mag-detail__side .gtecmag_single_case #side .localnavi li a:hover {
  color: #00547f
}

.o-mag-detail__side .gtecmag_single_interview #side .localnavi li a:hover {
  color: #00805d
}

.o-mag-detail__side .gtecmag_single_report #side .localnavi li a:hover {
  color: #ff7000
}

.o-mag-detail__side #side .localnavi li a.active {
  background-position: 0px -75px;
  color: #fff !important;
  font-weight: bold
}

.o-mag-detail__side #side .related {
  background-color: transparent;
  -webkit-box-shadow: 0px 0px 0px;
  box-shadow: 0px 0px 0px;
  padding: 0px
}

.o-mag-detail__side #side .related li {
  margin-bottom: 15px
}

.o-mag-detail__side #side .related li a {
  display: block;
  position: relative;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 5px #CCC;
  box-shadow: 0px 0px 5px #CCC;
  color: #000;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 5px
}

.o-mag-detail__side #side .related li a:hover {
  text-decoration: none;
  color: #fff;
  background-color: #005fa4
}

.o-mag-detail__side .gtecmag_single_case #side .related li a:hover {
  background-color: #005480
}

.o-mag-detail__side .gtecmag_single_interview #side .related li a:hover {
  background-color: #00805d
}

.o-mag-detail__side .gtecmag_single_report #side .related li a:hover {
  background-color: #ff7000
}

.o-mag-detail__side #side .related li a .catIcon {
  position: absolute;
  left: 3px;
  top: 3px;
  background-image: url(/fs/images/gtecmag/ico_case_001.png);
  background-position: inherit;
  background-position: left top;
  height: 28px;
  width: 28px;
  z-index: 10
}

.o-mag-detail__side #side .related li a .catIcon {
  background-image: url(/fs/images/gtecmag/ico_case_001.png)
}

.o-mag-detail__side .gtecmag_single_interview #side .related li a .catIcon {
  background-image: url(/fs/images/gtecmag/ico_interview_001.png)
}

.o-mag-detail__side .gtecmag_single_report #side .related li a .catIcon {
  background-image: url(/fs/images/gtecmag/ico_report_001.png)
}

.o-mag-detail__side #side .related li.more {
  margin-bottom: 16px
}

.o-mag-detail__side #side .related li.more a {
  padding-left: 6px
}

.o-mag-detail__side #side .related li.more a:hover {
  background-color: #fff
}

.o-mag-detail__side #side .related li a .txt {
  padding-left: 10px
}

.o-mag-detail__side #side .related li a .pic {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 140px;
  height: 140px
}

.o-mag-detail__side #side .related li a .pic img {
  width: auto;
  opacity: 1;
  filter: alpha(opacity=10)
}

.o-mag-detail__side #side .related li a h3 {
  font-size: 13px;
  line-height: 1.2em
}

.o-mag-detail__side #side .related li a h2 {
  margin-bottom: 5px;
  font-size: 24px;
  font-family: 'Pathway Gothic One', sans-serif;
  color: #005fa4;
  font-weight: bold;
  line-height: 1
}

.o-mag-detail__side #side .related li a h4 {
  margin-top: 5px;
  line-height: 1.2;
  color: #005fa4
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-detail__side #side .related li a h4 {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .o-mag-detail__side #side .related li a h4 {
    font-size: 10px
  }
}

.o-mag-detail__side #side .related li a h2 span {
  font-size: 32px
}

.o-mag-detail__side .gtecmag_single_case #side .related li a h2 {
  color: #005480
}

.o-mag-detail__side .gtecmag_single_interview #side .related li a h2 {
  color: #00805d
}

.o-mag-detail__side .gtecmag_single_report #side .related li a h2 {
  color: #ff7000
}

.o-mag-detail__side #side .related li a:hover h2 {
  color: #fff
}

.o-mag-detail__side #side .related li a:hover h4 {
  color: #fff
}

.o-mag-pdf {
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3)
}

@media only screen and (min-width: 768px), tv, print {
  .o-mag-pdf {
    padding: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-mag-pdf {
    padding: 15px
  }
}

.o-mag-pdf__item {
  padding: 0 0 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.o-mag-pdf__vol {
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 32px;
  line-height: 1em;
  font-weight: normal;
  color: #999;
  padding-right: 10px
}

.o-mag-pdf__link {
  color: #666;
  padding-right: 10px
}

.o-mag-pdf__icon {
  color: #c00
}

@media only screen and (max-width: 767px) {
  .o-product-summary {
    margin-left: 15px;
    margin-right: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary.-line-b {
    padding-bottom: 70px;
    border-bottom: #bfbfbf 1px solid
  }
}

.o-product-summary__lead {
  line-height: 2
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__lead {
    margin: 0 0 50px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__lead {
    margin: 0
  }
}

.o-product-summary__lead>* {
  line-height: 2
}

.o-product-summary__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__main {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.o-product-summary__images {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__images {
    padding-top: 50px;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__images {
    margin: 0 auto 30px;
    max-width: 345px;
    padding-top: 45px;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

.o-product-summary__label {
  position: absolute
}

@media only screen and (max-width: 767px) {
  .o-product-summary__label {
    width: 125px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__label.-label-1 {
    width: 180px;
    top: 0;
    left: 45px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__label.-label-1 {
    width: 130px;
    top: 0;
    left: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__label.-label-2 {
    top: 90px;
    left: 254px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__label.-label-2 {
    top: 0;
    right: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__text {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 50%;
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__text {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-bottom: 35px
  }
}

.o-product-summary__pattern {
  padding: 10px 15px 5px
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern+.o-product-summary__pattern {
    margin-top: 45px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern+.o-product-summary__pattern {
    margin-top: 30px
  }
}

.o-product-summary__pattern__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__icons {
    margin-top: 15px;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__icons {
    margin-top: 5px;
    margin-bottom: 5px
  }
}

.o-product-summary__pattern__icon-basic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.o-product-summary__pattern__icon-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative
}

.o-product-summary__pattern__labels {
  position: absolute;
  top: -35px
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__labels {
    right: -10px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__labels {
    right: 0
  }
}

.o-product-summary__pattern__label {
  display: inline-block
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__label {
    width: 170px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__label {
    width: 110px
  }
}

.o-product-summary__pattern__icon {
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__icon {
    min-width: 45px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__icon {
    min-width: 39px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__icon img {
    height: 45px;
    width: auto
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__icon img {
    height: 36px;
    width: auto
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__plus {
    margin: 0 30px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__plus {
    margin: 5px 18px 0;
    font-size: 12px
  }
}

@media screen and (max-width: 374px) {
  .o-product-summary__pattern__icon-option.-narrow .o-product-summary__pattern__plus {
    margin: 5px 10px 0
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__icon+.o-product-summary__pattern__icon {
    margin-left: 60px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__icon+.o-product-summary__pattern__icon {
    margin-left: 35px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__icon-basic.-narrow .o-product-summary__pattern__icon+.o-product-summary__pattern__icon {
    margin-left: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__icon-basic.-narrow .o-product-summary__pattern__icon+.o-product-summary__pattern__icon {
    margin-left: 15px
  }
}

@media screen and (max-width: 374px) {
  .o-product-summary__pattern__icon-basic.-narrow .o-product-summary__pattern__icon+.o-product-summary__pattern__icon {
    margin-left: 10px
  }
}

@media screen and (max-width: 374px) {
  .o-product-summary__pattern__icon-option.-narrow .o-product-summary__pattern__icon+.o-product-summary__pattern__icon {
    margin-left: 10px
  }
}

.o-product-summary__pattern__icon-text {
  margin-top: 2px;
  text-align: center;
  margin-left: -35px;
  margin-right: -35px;
  line-height: 1.4
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__icon-text {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__icon-text {
    font-size: 10px
  }
}

@media screen and (max-width: 374px) {
  .o-product-summary__pattern__icon-text {
    margin-left: 0;
    margin-right: 0
  }
}

.o-product-summary__pattern__price {
  padding-left: 10px;
  border-top: 1px solid #898989;
  color: #005fa4;
  font-weight: bold
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__price {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__price {
    font-size: 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__tax {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__tax {
    font-size: 12px
  }
}

.o-product-summary__pattern__tax.-tax10 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__pattern__tax.-tax10 {
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__pattern__tax.-tax10 {
    font-size: 20px
  }
}

.o-product-summary__purchase {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__purchase__item img {
    width: auto;
    height: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__purchase__item img {
    width: auto;
    height: 24px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__purchase__item+.o-product-summary__purchase__item img {
    margin-left: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__purchase__item+.o-product-summary__purchase__item img {
    margin-left: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit {
    padding: 30px;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 100%;
    margin-bottom: 45px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit {
    padding: 15px 15px 22px;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: 0 -15px 30px
  }
}

.o-product-summary__merit__heading {
  font-weight: bold;
  text-align: center
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__heading {
    margin-bottom: 30px;
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__heading {
    margin-bottom: 15px;
    font-size: 15px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit.-plural-item .o-product-summary__merit__main {
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit.-plural-item .o-product-summary__merit__main {
    margin-bottom: 35px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__main+.o-product-summary__merit__main {
    padding-top: 25px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__text {
    margin-bottom: 30px
  }
}

.o-product-summary__merit__list {
  line-height: 1.9
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__list {
    font-size: 18px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__list {
    font-size: 12px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__list li {
    padding-left: 38px;
    text-indent: -38px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__list li {
    padding-left: 20px;
    text-indent: -20px
  }
}

.o-product-summary__merit__list li:before {
  display: inline-block;
  content: "";
  vertical-align: middle;
  background-image: url(/gtec/fs/product/images/icon_check.png);
  background-repeat: no-repeat
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__list li:before {
    width: 24px;
    height: 22px;
    margin-top: -4px;
    margin-right: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__list li:before {
    margin-right: 5px;
    width: 15px;
    height: 14px;
    background-size: 15px auto;
    margin-top: -2px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__image {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 30px;
    text-align: right
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__image {
    text-align: center;
    width: 58%;
    margin: 0 auto
  }
}

.o-product-summary__merit__image.-mordal {
  position: relative
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__merit__image.-mordal {
    margin: 0 30px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__faq {
    padding: 20px 30px;
    margin-bottom: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__faq {
    padding: 15px;
    margin: 0 -15px 20px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__question {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__question {
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__question li:before {
    margin-top: 2px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__answer {
    margin-left: 35px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__answer {
    margin-left: 33px
  }
}

.o-product-summary__notice {
  padding-left: 1em;
  text-indent: -1em
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__notice {
    font-size: 16px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__notice {
    margin-bottom: 25px;
    font-size: 10px
  }
}

.o-product-summary__label-info {
  display: block
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__label-info {
    width: 620px;
    margin: 60px auto
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__label-info {
    margin: 25px 0 30px
  }
}

.o-product-summary__desc {
  line-height: 1.75
}

.o-product-summary__merit__zoom {
  position: absolute;
  right: -10px;
  bottom: -10px
}

.o-product-summary__merit__mordal {
  display: none;
  max-width: 800px
}

@media only screen and (max-width: 767px) {
  .o-product-summary__merit__mordal {
    max-width: none;
    width: 90vh;
    height: 70vh
  }
  .o-product-summary__merit__mordal img {
    max-width: none
  }
}

.o-product-summary__tax-detail {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.2
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__tax-txt {
    font-size: 12px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__tax-txt {
    font-size: 10px
  }
}

.o-product-summary__ttlbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__ttlbox {
    margin: 40px 0 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__ttlbox {
    margin: 40px 0 20px
  }
}

.o-product-summary__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media only screen and (max-width: 767px) {
  .o-product-summary__ttl {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.o-product-summary__ttl-txt {
  color: #005fa4;
  font-weight: 700
}

@media only screen and (min-width: 768px), tv, print {
  .o-product-summary__ttl-txt {
    font-size: 24px
  }
}

@media only screen and (max-width: 767px) {
  .o-product-summary__ttl-txt {
    font-size: 14px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-course {
    padding: 40px;
    margin-bottom: 80px
  }
}

@media only screen and (max-width: 767px) {
  .o-course {
    padding: 20px;
    margin: 0 15px;
    margin-bottom: 50px
  }
}

.o-course__table {
  width: 100%;
  border-collapse: collapse
}

@media only screen and (min-width: 768px), tv, print {
  .o-course__table {
    margin-bottom: 40px
  }
}

@media only screen and (max-width: 767px) {
  .o-course__table {
    margin-bottom: 20px
  }
}

.o-course__table th, .o-course__table td {
  border: 1px solid #898989
}

@media only screen and (min-width: 768px), tv, print {
  .o-course__table th, .o-course__table td {
    padding: 8px 20px
  }
}

@media only screen and (max-width: 767px) {
  .o-course__table th, .o-course__table td {
    padding: 6px 10px
  }
}

.o-course__table th {
  font-weight: bold;
  background-color: #898989;
  color: #fff;
  border-bottom: 1px solid #fff
}

@media only screen and (min-width: 768px), tv, print {
  .o-course__table th {
    width: 18%
  }
}

@media only screen and (max-width: 767px) {
  .o-course__table th {
    width: 30%
  }
}

.o-course__table td {
  background-color: #fff
}

.o-course__table tr:last-child th {
  border-bottom-color: #898989
}

.o-mypage-guide {
  padding: 0 40px
}

@media only screen and (max-width: 767px) {
  .o-mypage-guide {
    padding: 0 10px
  }
}

.o-mypage-guide__text {
  margin-top: 20px
}

@media only screen and (max-width: 767px) {
  .o-mypage-guide__text {
    margin-top: 5px
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-mypage-guide__btn-1, .o-mypage-guide__btn-2 {
    width: 580px;
    margin-left: auto;
    margin-right: auto
  }
}

.o-mypage-guide__btn-1 {
  margin-top: 40px
}

@media only screen and (max-width: 767px) {
  .o-mypage-guide__btn-1 {
    margin-top: 15px
  }
}

.o-mypage-guide__btn-2 {
  margin-top: 30px
}

@media only screen and (max-width: 767px) {
  .o-mypage-guide__btn-2 {
    margin-top: 15px
  }
}

@media only screen and (max-width: 767px) {
  .o-end {
    margin: 0 15px;
    margin-bottom: 50px
  }
}

.o-end__table {
  width: 100%;
  border-collapse: collapse
}

.o-end__table th {
  color: #fff;
  padding: 5px 0;
  background-color: #898989;
  border-left: solid 1px #fff
}

.o-end__table td {
  padding: 5px;
  border: solid 1px #898989
}

.o-end__table th, .o-end__table td {
  width: 20%;
  text-align: center;
  vertical-align: middle
}

.o-end__table tr:first-of-type th:first-child {
  border-left: solid 1px #898989
}

.o-end__table tr:first-of-type th:last-child {
  border-right: solid 1px #898989
}

.o-abroad {
  padding: 40px 0
}

@media only screen and (min-width: 768px), tv, print {
  .o-abroad__upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-abroad__heading {
    min-width: 490px;
    -ms-flex-preferred-size: 490px;
    flex-basis: 490px
  }
}

@media only screen and (max-width: 767px) {
  .o-abroad__heading {
    text-align: center
  }
}

@media only screen and (min-width: 768px), tv, print {
  .o-abroad__illust {
    min-width: 470px;
    -ms-flex-preferred-size: 470px;
    flex-basis: 470px
  }
}

.o-abroad__heading__txt {
  padding: 10px 25px;
  line-height: 1.5;
  background-color: #FCC800;
  display: block;
  color: #005FA4;
  font-weight: 600;
  letter-spacing: 0.05em
}

@media only screen and (min-width: 768px), tv, print {
  .o-abroad__heading__txt {
    margin-right: -21px;
    font-size: 30px
  }
}

@media only screen and (max-width: 767px) {
  .o-abroad__heading__txt {
    font-size: 20px
  }
}

.o-abroad__heading__number {
  display: inline-block;
  margin-top: 20px;
  line-height: 1;
  color: #005FA4
}

.o-abroad__heading__number strong {
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0;
  -webkit-font-feature-settings: "palt", 1;
  font-feature-settings: "palt", 1;
  display: inline-block;
  position: relative
}

.o-abroad__heading__number strong:after {
  content: "";
  position: absolute;
  z-index: -1;
  background-color: #FCC800;
  left: 0;
  right: 0;
  bottom: 7px;
  height: 17px
}

@media only screen and (min-width: 768px), tv, print {
  .o-abroad__heading__number {
    font-size: 97px
  }
  .o-abroad__heading__number strong {
    font-size: 168px
  }
}

@media only screen and (max-width: 767px) {
  .o-abroad__heading__number {
    font-size: 65px
  }
  .o-abroad__heading__number strong {
    font-size: 106px
  }
}

.o-abroad__heading__remarks {
  display: block;
  text-align: right;
  color: #212121;
  font-size: 16px;
  margin-top: 10px
}

.o-abroad__list {
  line-height: 2;
  margin-top: 30px;
  margin-bottom: 30px
}

.o-abroad__list p {
  font-weight: 600;
  margin-top: 10px
}

@media only screen and (min-width: 768px), tv, print {
  .o-abroad__list p {
    font-size: 18px
  }

  #whole-gakumon li {
    min-width: 15%;
  }

  .a-btn.gbBox .gbName {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .o-abroad__list p {
    font-size: 14px
  }
}

.a-btn.gbBox {
  background-color: #007aba;
  /* opacity: 0.7; */
  margin-top: 2px;
  text-align: left;
  padding: 10px 30px;
}
.a-btn.gbBox .gbName {
  font-size: normal;
  font-weight: normal;
}
#conditionReset, #condition_scoreReset {
  background-color: #e3e3e3;
}


/** Add 2022.07.05 */

.tap_box {
    border-bottom: 1px solid #FFFFFF;
}

@media only screen and (max-width: 767px) {
    .tap_box_panel {
        padding: 0;
        margin-left: 15px;
        margin-right: 15px
    }
}

.js-acc-sp-init {
    font-size: 18px;
}

.js-hitCount {
    display: flex;
}

.js-hitCount-grows {
    display: flex;
}

.js-hitCount-univs {
    display: flex;
}

.js-acc-pref .right_area {
    display: none;
}

@media only screen and (max-width: 767px) {
    .js-hitCount {
        display: block;
    }

    .js-hitCount-grows {
        display: block;
    }

    .js-hitCount-univs {
        display: block;
    }

    #latestUpdate {
        padding-top: 10px;
    }

    .pref_label {
        position: relative;
    }

    .js-acc-pref:before, .js-acc-pref:after {
        position: absolute;
    }

    .js-acc-pref {
        display: flex;
    }

    .js-acc-pref .left_area {
        display: inline-block; margin-right: auto;
    }

    .js-acc-pref .right_area {
        display: inline-block; padding-right:10px;
    }

}









@media only screen and　(min-width: 768px), tv, print {
  .o-form-search__heading {}
  .o-form-search__heading span { width:24%; }
  .o-form-search__heading__btn { width:100%; }
}


