@charset "UTF-8";
/* base
========================================================================== */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
* 1. Change the default font family in all browsers (opinionated).
* 2. Correct the line height in all browsers.
* 3. Prevent adjustments of font size after orientation changes in
*    IE on Windows Phone and in iOS.
*/
/* Document
========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
  margin: 0;
}

/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
* Add the correct margin in IE 8.
*/
figure {
  margin: 1em 40px;
}

/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
* Remove the outline on focused links when they are also active or hovered
* in all browsers (opinionated).
*/
a:active,
a:hover {
  outline-width: 0;
}

/**
* 1. Remove the bottom border in Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
  font-weight: inherit;
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
* Add the correct font style in Android 4.3-.
*/
dfn {
  font-style: italic;
}

/**
* Add the correct background and color in IE 9-.
*/
mark {
  background-color: #ff0;
  color: #000;
}

/**
* Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
  display: inline-block;
}

/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
* Remove the border on images inside links in IE 10-.
*/
img {
  border-style: none;
}

/**
* Hide the overflow in IE.
*/
svg:not(:root) {
  overflow: hidden;
}

/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
  /* 1 */
  overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
  /* 1 */
  text-transform: none;
}

/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
*    controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
* Change the border, margin, and padding in all browsers (opinionated).
*/
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
  overflow: auto;
}

/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details,
menu {
  display: block;
}

/*
* Add the correct display in all browsers.
*/
summary {
  display: list-item;
}

/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
  display: inline-block;
}

/**
* Add the correct display in IE.
*/
template {
  display: none;
}

/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
  display: none;
}

/* reset
========================================================================== */
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, textarea {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
}

img {
  vertical-align: top;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  min-height: 100%;
}

body {
  font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "YuGothic Medium", "メイリオ", Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1rem;
  color: #2d2d2d;
}

a {
  color: #0264b9;
  -webkit-tap-highlight-color: transparent !important;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

/* layout
========================================================================== */
.l-header {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .l-header {
    border-bottom: 2px #0264b9 solid;
  }
}

.l-header-form {
  width: 100%;
}

.header-top {
  width: 100%;
  height: 46px;
  box-shadow: 0px 1px 3px #ccc;
}

@media screen and (min-width: 768px) {
  .header-top {
    padding: 28px 0 10px;
    height: auto;
    border-bottom: 1px #d7d5d5 solid;
    box-shadow: 0px 1px 3px #ccc;
  }
}

.header-inner {
  position: relative;
  z-index: 0;
}

.header-inner:after {
  content: "";
  display: table;
  clear: both;
}

@media screen and (min-width: 768px) {
  .header-inner {
    width: 1140px;
    padding: 0 20px;
    margin: 0 auto;
  }
}

.header-logo {
  float: left;
  margin: 10px 10px 7px;
}

.header-logo a {
  display: block;
}

@media screen and (min-width: 768px) {
  .header-logo {
    margin: 0;
  }
}

.header-logo img {
  width: 219px;
}

@media screen and (min-width: 768px) {
  .header-logo img {
    width: 320px;
  }
}

.header-menu {
  width: 54px;
  height: 46px;
  float: right;
  background: #026ac4;
  padding: 8px 0 0;
  text-align: center;
  color: white;
}

@media screen and (min-width: 768px) {
  .header-menu {
    display: none;
  }
}

.header-menu-text {
  font-size: 0.8rem;
  padding-top: 22px;
  position: relative;
}

.header-menu-text:before {
  position: absolute;
  top: 0;
  left: 50%;
  content: "\f0c9";
  font-family: FontAwesome;
  font-size: 2.0rem;
  margin-left: -9px;
}

.header-bottom {
  position: relative;
  clear: both;
}

@media screen and (max-width: 767px) {
  .header-bottom {
    position: absolute;
    top: 47px;
    z-index: 10;
    display: none;
    width: 100%;
    padding-bottom: 15px;
    background: rgba(60, 141, 211, 0.9);
    border-bottom: 1px #0264b9 solid;
  }
}

@media screen and (min-width: 768px) {
  .header-bottom {
    width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }
}

.header-close {
  font-size: 1.2rem;
  color: white;
  text-align: center;
  width: 100%;
  padding: 15px 0 10px;
  letter-spacing: -0.01rem;
}

.header-close-icon {
  position: relative;
}

.header-close-icon:after {
  position: absolute;
  top: -1px;
  left: -16px;
  content: "\f00d";
  font-family: FontAwesome;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .header-close {
    display: none;
  }
}

.header-search {
  background: #f4f5f6;
  width: 94%;
  height: 35px;
  margin: 0 3% 10px;
  padding: 0 2px 0 10px;
  border-radius: 5px;
  box-sizing: border-box;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .header-search {
    background: #c7d1da;
    width: 258px;
    height: 35px;
    position: absolute;
    top: -65px;
    right: 20px;
    margin: 10px 0 0;
    padding: 1px 10px 2px 15px;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 1px #b9c2cb inset;
  }
}

.header-search input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  border-radius: none;
}

.header-search input[type="search"]:focus {
  outline-offset: -2px;
}

.header-search input[type="search"]::-webkit-search-decoration {
  display: none;
}

.header-search-input {
  width: 80%;
  margin: 8px 0;
  float: left;
  font-size: 1.6rem;
  border-radius: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.header-search-input::-webkit-input-placeholder {
  color: #5d5d5d;
}

.header-search-input:-moz-placeholder {
  color: #5d5d5d;
  opacity: 1;
}

.header-search-input::-moz-placeholder {
  color: #5d5d5d;
  opacity: 1;
}

.header-search-input:-ms-input-placeholder {
  color: #5d5d5d;
}

.header-search-input::-ms-input-placeholder {
  color: #5d5d5d;
}

@media screen and (min-width: 768px) {
  .header-search-input {
    width: 180px;
    margin: 8px 0;
  }
  .header-search-input::-webkit-input-placeholder {
    color: white;
  }
  .header-search-input:-moz-placeholder {
    color: white;
    opacity: 1;
  }
  .header-search-input::-moz-placeholder {
    color: white;
    opacity: 1;
  }
  .header-search-input:-ms-input-placeholder {
    color: white;
  }
  .header-search-input::-ms-input-placeholder {
    color: white;
  }
}

.header-search-button {
  float: right;
  color: #5d5d5d;
  font-size: 2.6rem;
  font-family: FontAwesome;
  margin: 2px 5px 0 0;
  background: none;
  outline-offset: -2px;
}

@media screen and (min-width: 768px) {
  .header-search-button {
    text-shadow: 1px 1px 1px #aaa;
    color: white;
  }
}

.header-gnav {
  clear: both;
}

@media screen and (min-width: 768px) {
  .header-gnav {
    position: relative;
    margin: 10px 0 5px 15px;
  }
}

@media screen and (min-width: 768px) {
  .header-nav {
    float: left;
    position: relative;
    left: 50%;
    letter-spacing: -0.01rem;
  }
}

.header-nav > li {
  list-style: none;
  font-weight: bold;
  position: relative;
  margin-bottom: 4px;
}

.header-nav > li.hover-active > a:after {
  border-bottom: 4px #f6d600 solid;
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 0;
}

.header-nav > li.hover-active > a:hover:after {
  width: 100%;
  border-bottom: 4px #f6d600 solid;
}

.header-nav > li > a {
  text-decoration: none;
  color: white;
  width: 100%;
  display: block;
  background: #005dae;
  padding: 17px 0 15px;
}

@media screen and (min-width: 768px) {
  .header-nav > li {
    float: left;
    position: relative;
    left: -50%;
    font-size: 1.6rem;
    height: 50px;
    box-sizing: border-box;
  }
  .header-nav > li + li {
    border-left: 1px #2d2d2d dotted;
  }
  .header-nav > li > a {
    color: #2d2d2d;
    padding: 20px 38px 10px 0;
    background: none;
  }
}

.header-nav > li:first-child > a {
  padding-left: 58px;
}

.header-nav > li:first-child > a:before {
  position: absolute;
  top: 50%;
  left: 18px;
  margin-top: -15px;
  content: url("/img/common/ico_gnav01.png");
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .header-nav > li:first-child > a:before {
    top: 21px;
    left: 14px;
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }
}

@media screen and (max-width: 767px) {
  .header-nav > li:first-child > a {
    padding-left: 60px;
  }
  .header-nav > li:first-child > a:after {
    position: absolute;
    top: 8px;
    left: 15px;
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: white;
    z-index: 1;
  }
}

.header-nav > li:nth-child(2) > a {
  padding-left: 82px;
}

.header-nav > li:nth-child(2) > a:before {
  position: absolute;
  top: 50%;
  left: 38px;
  margin-top: -15px;
  content: url("/img/common/ico_gnav02.png");
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .header-nav > li:nth-child(2) > a:before {
    top: 20px;
    left: 12px;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}

@media screen and (max-width: 767px) {
  .header-nav > li:nth-child(2) > a {
    padding-left: 60px;
  }
  .header-nav > li:nth-child(2) > a:after {
    position: absolute;
    top: 8px;
    left: 15px;
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: white;
    z-index: 1;
  }
}

.header-nav > li:nth-child(3) > a {
  padding-left: 70px;
}

.header-nav > li:nth-child(3) > a:before {
  position: absolute;
  top: 50%;
  left: 36px;
  margin-top: -15px;
  content: url("/img/common/ico_gnav03.png");
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .header-nav > li:nth-child(3) > a:before {
    top: 20px;
    left: 14px;
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }
}

@media screen and (max-width: 767px) {
  .header-nav > li:nth-child(3) > a {
    padding-left: 60px;
  }
  .header-nav > li:nth-child(3) > a:after {
    position: absolute;
    top: 8px;
    left: 15px;
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: white;
    z-index: 1;
  }
}

.header-nav > li:last-child > a {
  padding-left: 70px;
}

.header-nav > li:last-child > a:before {
  position: absolute;
  top: 50%;
  left: 38px;
  margin-top: -13px;
  content: url("/img/common/ico_gnav04.png");
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .header-nav > li:last-child > a:before {
    top: 20px;
    left: 17px;
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }
}

@media screen and (max-width: 767px) {
  .header-nav > li:last-child > a {
    padding-left: 60px;
  }
  .header-nav > li:last-child > a:after {
    position: absolute;
    top: 8px;
    left: 15px;
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: white;
    z-index: 1;
  }
}

@media screen and (max-width: 767px) {
  .header-nav-dropdown {
    position: relative;
  }
  .header-nav-dropdown:after {
    position: absolute;
    top: 15px;
    right: 25px;
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-bottom: 4px white solid;
    border-right: 4px white solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

@media screen and (max-width: 767px) {
  .header-nav-active:after {
    position: absolute;
    top: 20px;
    right: 25px;
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: 4px #f6d600 solid;
    border-left: 4px #f6d600 solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

.header-nav-second {
  display: none;
}

@media screen and (max-width: 767px) {
  .header-nav-second {
    overflow: hidden;
    margin: 10px 6% 0;
  }
}

@media screen and (min-width: 768px) {
  .header-nav-second {
    background: rgba(60, 141, 211, 0.95);
    border-radius: 10px;
    position: relative;
    padding: 10px 0;
    margin: 2px 0 0 35px;
    width: 235px;
    z-index: 10;
  }
  .header-nav-second:before {
    position: absolute;
    top: -18px;
    left: 50%;
    content: '';
    border: 8px transparent solid;
    border-bottom: 10px rgba(60, 141, 211, 0.95) solid;
    margin-left: -8px;
  }
}

.header-nav-second > li {
  list-style: none;
}

@media screen and (max-width: 767px) {
  .header-nav-second > li {
    width: 30%;
    height: 47px;
    text-align: center;
    font-size: 1.1rem;
    background: #f4f5f6;
    border-radius: 5px;
    float: left;
    margin: 0 5% 10px 0;
  }
  .header-nav-second > li > a {
    text-decoration: none;
    width: 100%;
    display: block;
    color: #2d2d2d;
    padding: 18px 0;
  }
  .header-nav-second > li:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .header-nav-second > li {
    font-size: 1.3rem;
    position: relative;
  }
  .header-nav-second > li:after {
    position: absolute;
    top: 50%;
    right: 20px;
    content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: 2px white solid;
    border-right: 2px white solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3px;
    z-index: 2;
  }
  .header-nav-second > li > a {
    text-decoration: none;
    width: 100%;
    display: block;
    color: white;
    padding: 15px 20px;
    box-sizing: border-box;
  }
  .header-nav-second > li > a:hover {
    background: #0264b9;
  }
}

@media screen and (max-width: 767px) {
  .header-nav-second > li.header-nav-long > a {
    padding: 8px 0;
  }
}

.l-wrapper {
  overflow: hidden;
}

.l-content {
  clear: both;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .l-content {
    width: 1140px;
    margin: 0 auto 50px;
    padding: 0 20px;
    z-index: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-main_index_top {
    margin: 20px 0 0;
    width: 740px;
    float: left;
    clear: left;
  }
}

@media screen and (min-width: 768px) {
  .l-main_index {
    width: 740px;
    float: left;
    clear: left;
  }
}

.l-main {
  min-height: 600px;
}

@media screen and (min-width: 768px) {
  .l-main {
    width: 100%;
    min-height: 900px;
  }
}

@media screen and (min-width: 768px) {
  .l-aside {
    margin: 20px 0 0 0;
    width: 320px;
    float: right;
    clear: right;
  }
}

.l-footer {
  background: #f1f1f1;
  overflow: hidden;
  position: relative;
  clear: both;
}

@media screen and (min-width: 768px) {
  .l-footer {
    padding: 40px 0;
  }
}

.footer-inner {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .footer-inner {
    width: 1140px;
    margin: 0 auto;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav {
    overflow: hidden;
    position: relative;
    margin-bottom: 28px;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav ul {
    float: left;
    position: relative;
    left: 50%;
  }
}

.footer-nav li {
  list-style: none;
  position: relative;
}

.footer-nav li > a {
  text-decoration: none;
  color: #2d2d2d;
  display: block;
  font-weight: normal;
  padding: 18px 10px 16px;
}

@media screen and (min-width: 768px) {
  .footer-nav li > a {
    padding: 2px 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .footer-nav li {
    font-size: 1.5rem;
    border-bottom: 1px #b9b9b9 solid;
  }
  .footer-nav li:after {
    position: absolute;
    top: 50%;
    right: 5px;
    content: '〉';
    margin-top: -7px;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav li {
    float: left;
    left: -50%;
    font-weight: bold;
  }
  .footer-nav li + li {
    border-left: 1px #2d2d2d solid;
  }
}

.footer-copyright {
  font-family: "Open Sans", sans-serif;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .footer-copyright {
    font-size: 0.9rem;
    padding: 15px 0;
  }
}

@media screen and (min-width: 768px) {
  .footer-copyright {
    font-size: 1.2rem;
  }
}

.pagetop {
  background: #4d96d6;
  position: fixed;
  bottom: 35px;
  right: 15px;
  opacity: 0.8;
  z-index: 5;
  width: 50px;
  height: 50px;
  border-radius: 25px;
  font-size: 2.6rem;
}

.pagetop > a {
  display: block;
  color: white;
  text-decoration: none;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 12px 0;
}

.pagetop > a:hover {
  padding: 3px 0;
}

@media screen and (min-width: 768px) {
  .pagetop {
    bottom: 60px;
    right: 40px;
    width: 60px;
    height: 60px;
    bottom: 60px;
    right: 40px;
    border-radius: 30px;
    font-size: 3.8rem;
  }
  .pagetop > a {
    padding: 10px 0;
  }
}

/* module
========================================================================== */
.page-header {
  background: url(../img/common/bg_pageheader01.png) repeat 0 0;
}

.page-header-inner {
  padding: 10px 0 8px 3%;
  color: white;
  overflow: hidden;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .page-header-inner {
    box-shadow: 0 1px 1px 0px #777 inset;
  }
}

@media screen and (min-width: 768px) {
  .page-header-inner {
    width: 1140px;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
    height: 65px;
    padding: 20px 40px;
  }
}

.page-title {
  font-size: 1.4rem;
  font-weight: bold;
  float: left;
  padding-left: 10px;
  position: relative;
  line-height: 1.2;
  letter-spacing: -0.01rem;
}

@media screen and (min-width: 768px) {
  .page-title {
    font-size: 2.4rem;
    padding-left: 15px;
  }
}

.page-title:before {
  position: absolute;
  top: -1px;
  left: 0;
  content: '';
  width: 3px;
  height: 15px;
  background: #f6d600;
  border-radius: 2px;
}

@media screen and (min-width: 768px) {
  .page-title:before {
    width: 4px;
    height: 25px;
  }
}

.page-title-small {
  margin-right: 5px;
  font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
  .page-title-small {
    font-size: 1.8rem;
  }
}

.page-title-english {
  font-size: 1.0rem;
  font-weight: 600;
  font-family: "Open Sans", sans-serif;
  float: left;
  margin: 4px 0 0 5px;
  letter-spacing: 0.04rem;
}

@media screen and (min-width: 768px) {
  .page-title-english {
    font-size: 1.6rem;
    margin: 6px 0 0 20px;
  }
}

.page-body {
  margin: 0 3%;
  clear: both;
}

@media screen and (min-width: 768px) {
  .page-body {
    width: 1140px;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
    padding-left: 40px;
    padding-right: 40px;
  }
}

.page-body-large {
  clear: both;
}

@media screen and (max-width: 767px) {
  .page-body-large {
    margin: 20px 3%;
  }
}

@media screen and (min-width: 768px) {
  .page-body-large {
    width: 1140px;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
    padding: 40px;
  }
}

.page-body-bottom {
  margin: 0 3%;
  clear: both;
}

@media screen and (min-width: 768px) {
  .page-body-bottom {
    width: 1140px;
    margin: 0 auto;
    overflow: hidden;
    box-sizing: border-box;
    padding-left: 40px;
    padding-right: 40px;
    margin-bottom: 40px;
  }
}

.button-backnumber {
  width: 110px;
  height: 25px;
  box-sizing: border-box;
  border: 1px #0264b9 solid;
  border-radius: 15px;
  letter-spacing: -0.02rem;
  background: white;
}

@media screen and (max-width: 767px) {
  .button-backnumber {
    margin: 2px 0;
  }
}

@media screen and (min-width: 768px) {
  .button-backnumber {
    width: 120px;
    height: 25px;
  }
}

.button-backnumber > a {
  text-decoration: none;
  color: #0264b9;
  display: block;
  width: 100%;
  padding: 6px 12px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
  color: #0264b9;
  font-family: "Open Sans", sans-serif;
  font-size: 1.2rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .button-backnumber > a {
    padding: 5px 15px;
  }
}

.button-backnumber > a:after {
  position: absolute;
  top: 50%;
  right: 13px;
  content: '';
  width: 5px;
  height: 5px;
  border: 0px;
  border-top: 1px #0264b9 solid;
  border-right: 1px #0264b9 solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -3px;
}

@media screen and (min-width: 768px) {
  .button-backnumber > a:after {
    margin-top: -3px;
    top: 50%;
    right: 15px;
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 768px) {
  .button-backnumber > a:hover::after {
    right: 11px;
  }
}

@media screen and (min-width: 768px) {
  .pc-hidden {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .sp-hidden {
    display: none;
  }
}

.calender {
  /* Weekdays (月-日) */
  /* Days (1-31) */
}

.calender-month {
  width: 100%;
  padding: 18px 7% 10px;
  box-sizing: border-box;
  color: #026ac4;
}

.calender-month > ul {
  margin: 0;
  padding: 0;
}

.calender-month > ul > li {
  text-transform: uppercase;
  list-style: none;
}

.calender-prev {
  float: left;
  margin-top: 5px;
  font-size: 2.2rem;
}

.calender-next {
  float: right;
  margin-top: 5px;
  font-size: 2.2rem;
}

.calender-this {
  text-align: center;
}

.calender-this_year {
  font-size: 1.4rem;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0.01rem;
}

.calender-this_month {
  font-size: 2.2rem;
  letter-spacing: 0.01rem;
}

.calender-weekdays {
  color: #026ac4;
  padding: 10px 4%;
  font-size: 1.5rem;
  border-bottom: 1px #026ac4 dotted;
}

.calender-weekdays > li {
  display: inline-block;
  width: 12.6%;
  text-align: center;
}

.calender-days {
  padding: 15px 4%;
  font-size: 1.5rem;
  font-family: "Open Sans", sans-serif;
}

.calender-days > li {
  list-style-type: none;
  display: inline-block;
  width: 12.6%;
  text-align: center;
  margin-bottom: 15px;
  font-size: 12px;
}

.calender-active {
  padding: 5px;
  background: #f6d600;
  width: 30px;
  height: 30px;
  border-radius: 15px;
}

.result-pages {
  margin: 0 0 15px;
  padding: 15px 0 18px;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .result-pages {
    margin: 0;
    padding: 12px 0;
  }
}

.result-pages:after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 10px;
  background: url(../img/common/bg_line01.png) repeat-x 0 0;
}

@media screen and (min-width: 768px) {
  .result-pages:after {
    bottom: -4px;
  }
}

.result-pages-short {
  padding: 10px 0;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .result-pages-short {
    margin: 0;
    padding: 15px 0;
  }
}

.result-pages-short:after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 10px;
  background: url(../img/common/bg_line01.png) repeat-x 0 0;
}

@media screen and (min-width: 768px) {
  .result-pages-short:after {
    bottom: -4px;
  }
}

@media screen and (min-width: 768px) {
  .result-select {
    float: right;
  }
}

.result-dropdown {
  padding: 5px 40px 5px 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 30px;
  margin: 0 0 10px;
  font-size: 1.2rem;
  display: block;
  font-family: "Open Sans", sans-serif;
  border-radius: 5px;
  border: 1px #b5cde1 solid;
  background: none;
  background: url(../img/newproducts/btn_select_sp01.png) no-repeat right center;
  background-size: 42px 29px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .result-dropdown {
    width: 205px;
    height: 30px;
    margin: 0;
    font-size: 1.4rem;
    background: url(../img/newproducts/btn_select01.png) no-repeat 168px center;
  }
}

.result-number {
  line-height: 25px;
  font-size: 1.1rem;
}

@media screen and (min-width: 768px) {
  .result-number {
    float: left;
    font-size: 1.4rem;
    line-height: 25px;
  }
}

@media screen and (min-width: 768px) {
  .result-number-bottom {
    margin: auto;
    width: 50%;
  }
}

.result-strong {
  color: #026ac4;
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .result-strong {
    font-size: 1.9rem;
  }
}

@media screen and (max-width: 767px) {
  .result-pagination {
    float: left;
    left: 50%;
    position: relative;
  }
  .result-pagination-inner {
    float: left;
    left: -50%;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .result-pagination {
    float: left;
    margin: 0 30px;
  }
}

.result-prev {
  float: left;
  margin-top: 2px;
  padding-left: 12px;
  position: relative;
  line-height: 25px;
  font-size: 1.1rem;
}

@media screen and (min-width: 768px) {
  .result-prev {
    margin-top: 2px;
    padding-left: 15px;
    font-size: 1.4rem;
    line-height: 25px;
  }
}

.result-prev:before {
  position: absolute;
  top: -1px;
  left: 0;
  content: "≪";
  font-family: FontAwesome;
}

@media screen and (min-width: 768px) {
  .result-prev:before {
    top: -1px;
  }
}

.result-next {
  float: left;
  position: relative;
  margin-top: 2px;
  line-height: 25px;
  font-size: 1.1rem;
}

@media screen and (min-width: 768px) {
  .result-next {
    margin-top: 2px;
    padding-left: 15px;
    font-size: 1.4rem;
    line-height: 25px;
  }
}

.result-next:after {
  position: absolute;
  top: -1px;
  right: -12px;
  content: "≫";
  font-family: FontAwesome;
}

@media screen and (min-width: 768px) {
  .result-next:after {
    top: -1px;
    right: -12px;
  }
}

.result-page_number {
  float: left;
  margin: 0 10px;
  font-family: "Open Sans", sans-serif;
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) {
  .result-page_number {
    margin: 0 20px;
    font-size: 2.0rem;
  }
}

.result-page_number > li {
  float: left;
  list-style: none;
  width: 18px;
  margin: 0 2px;
  line-height: 25px;
  text-align: center;
  letter-spacing: -0.1rem;
}

@media screen and (min-width: 768px) {
  .result-page_number > li {
    width: 25px;
  }
}

.result-page_number > li.result-active {
  color: white;
  position: relative;
}

.result-page_number > li.result-active:after {
  position: absolute;
  top: 3px;
  left: 0;
  content: '';
  background: #0264b9;
  width: 19px;
  height: 19px;
  border-radius: 10px;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .result-page_number > li.result-active:after {
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 13px;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .result-prev:before,
  _:-ms-lang(x), _::-webkit-meter-bar, .result-next:after {
    top: 1px;
  }
}

@media screen and (max-width: 767px) {
  .card {
    border-bottom: 1px #ccc dotted;
    margin-bottom: 20px;
  }
  .card:last-child {
    border: none;
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 768px) {
  .card {
    width: 500px;
    float: left;
    margin: 40px 0;
  }
  .card:nth-child(odd) {
    margin: 40px 60px 40px 0;
  }
}

.card-image {
  float: left;
  width: 120px;
  margin-right: 10px;
}

.card-image a {
  display: block;
}

@media screen and (max-width: 767px) {
  .card-image {
    margin-bottom: 12px;
    width: 32.7%;
  }
}

@media screen and (min-width: 768px) {
  .card-image {
    width: 200px;
    margin-right: 20px;
  }
}

.card-image img {
  max-width: 100%;
}

.card-body {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .card-body {
    float: left;
    width: 280px;
    margin: 0;
    padding: 0;
  }
}

.card-body-inner {
  float: left;
}

@media screen and (max-width: 767px) {
  .card-body-inner {
    width: 100%;
    margin-left: -37%;
    margin-left: -webkit-calc(-32.7vw - 10px);
    margin-left: -moz-calc(-32.7vw - 10px);
    padding-left: 37%;
    padding-left: -webkit-calc(32.7vw + 10px);
    padding-left: -moz-calc(32.7vw + 10px);
  }
}

.card-title {
  font-weight: bold;
  color: #0264b9;
  font-size: 3.75vw;
  margin-bottom: 8px;
  line-height: 1.3;
  letter-spacing: 0.05rem;
}

@media screen and (min-width: 768px) {
  .card-title {
    font-size: 2.0rem;
    margin-bottom: 8px;
  }
}

.card-date {
  font-size: 3.4375vw;
  font-weight: bold;
  color: #0264b9;
  line-height: 1.4;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .card-date {
    font-size: 1.8rem;
  }
}

.card-price, .card-number {
  line-height: 1.5;
  letter-spacing: 0.01rem;
  font-size: 3.125vw;
}

@media screen and (min-width: 768px) {
  .card-price, .card-number {
    font-size: 1.4rem;
  }
}

.card-text {
  margin: 12px 0;
  font-size: 3.125vw;
  line-height: 1.5;
  letter-spacing: -0.01rem;
}

@media screen and (min-width: 768px) {
  .card-text {
    font-size: 1.4rem;
  }
}

.card-button {
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  clear: both;
  margin: 12px 0 0;
}

@media screen and (min-width: 768px) {
  .card-button {
    width: 220px;
    height: 50px;
    margin: 12px 30px 0;
  }
}

.card-button > a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 10px 0 8px;
  font-size: 1.1rem;
  text-align: center;
  color: #0264b9;
  border: 1px #0264b9 solid;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

@media screen and (min-width: 768px) {
  .card-button > a {
    font-size: 1.8rem;
    padding: 15px 0 13px;
    border: 2px #0264b9 solid;
  }
  .card-button > a:hover {
    background: #f6d600;
    border: 2px #f6d600 solid;
  }
  .card-button > a:hover .card-button-text:before {
    border-top: 3px #f6d600 solid;
    border-right: 3px #f6d600 solid;
  }
}

.card-button-text {
  position: relative;
  margin-left: -8px;
  font-weight: bold;
}

.card-button-text:before {
  position: absolute;
  top: 50%;
  right: -11px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px white solid;
  border-right: 2px white solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -4px;
}

@media screen and (min-width: 768px) {
  .card-button-text:before {
    right: -15px;
    width: 5px;
    height: 5px;
    border-top: 3px white solid;
    border-right: 3px white solid;
    margin-top: -5px;
  }
}

.card-button-text:after {
  position: absolute;
  top: 50%;
  right: -15px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -7px;
}

@media screen and (min-width: 768px) {
  .card-button-text:after {
    right: -20px;
    width: 16px;
    height: 16px;
    margin-top: -9px;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .card-button-text {
    padding-bottom: 3px;
  }
}

.sentence-text {
  font-size: 3.125vw;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .sentence-text {
    font-size: 1.6rem;
  }
}

.sentence-title {
  font-size: 3.125vw;
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
  .sentence-title {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}

.sentence-title-section {
  font-size: 3.125vw;
  margin-bottom: 18px;
}

@media screen and (min-width: 768px) {
  .sentence-title-section {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 25px;
  }
}

.sentence-space {
  margin-bottom: 18px;
}

@media screen and (min-width: 768px) {
  .sentence-space {
    margin-bottom: 25px;
  }
}

.sentence-space-large {
  margin-bottom: 33px;
}

@media screen and (min-width: 768px) {
  .sentence-space-large {
    margin-bottom: 50px;
  }
}

.sentence-list {
  margin-bottom: 20px;
}

.sentence-list li {
  font-size: 3.125vw;
  line-height: 1.5;
  margin: 0 0 0 15px;
}

@media screen and (min-width: 768px) {
  .sentence-list li {
    font-size: 1.6rem;
    margin: 0 0 0 20px;
  }
}

.sentence-list_number li {
  font-size: 3.125vw;
  line-height: 1.5;
  margin: 0 0 18px 0;
}

@media screen and (max-width: 767px) {
  .sentence-list_number li {
    list-style-position: inside;
  }
}

@media screen and (min-width: 768px) {
  .sentence-list_number li {
    font-size: 1.6rem;
    margin: 0 0 25px 20px;
  }
}

.sentence-list_number-indent li {
  font-size: 3.125vw;
  line-height: 1.5;
  margin: 0 0 18px 15px;
  list-style-position: outside;
}

@media screen and (min-width: 768px) {
  .sentence-list_number-indent li {
    font-size: 1.6rem;
    margin: 0 0 25px 20px;
  }
}

@media screen and (max-width: 767px) {
  .sentence-indent {
    margin-left: 10px;
  }
}

.accordion {
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .accordion {
    padding: 10px 0;
    border-bottom: 1px #e5e5e5 solid;
  }
  .accordion:last-child {
    border: none;
  }
}

@media screen and (min-width: 768px) {
  .accordion:after {
    position: absolute;
    bottom: 0;
    left: 170px;
    content: '';
    width: 890px;
    height: 1px;
    background: #e5e5e5;
  }
}

.accordion-header {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .accordion-header {
    margin: 20px 0 0;
  }
}

.accordion-date {
  float: left;
  font-size: 3.125vw;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0.01rem;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .accordion-date {
    width: 85px;
    font-size: 1.4rem;
    margin: 0;
  }
}

.accordion-date-long {
  float: left;
  font-size: 1.0rem;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0.01rem;
  margin-bottom: 10px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .accordion-date-long {
    width: 155px;
    font-size: 1.4rem;
    margin: 0;
  }
}

.accordion-genre {
  width: 47px;
  height: 13px;
  float: left;
  background: #0264b9;
  color: white;
  border-radius: 10px;
  text-align: center;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.01rem;
  padding: 1px 0;
  margin: 0 0 10px 10px;
}

@media screen and (min-width: 768px) {
  .accordion-genre {
    width: 70px;
    height: 20px;
    font-size: 1.3rem;
    padding: 4px 0;
    margin: 0;
  }
}

.accordion-title {
  float: left;
  width: 95%;
  padding: 0 5% 5px 0;
  font-size: 3.75vw;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.01rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .accordion-title {
    width: 820px;
    margin: -2px 0 0 15px;
    padding: 0 70px 20px 0;
    font-size: 2.0rem;
  }
}

.accordion-title:before {
  position: absolute;
  top: 4px;
  right: -6px;
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-bottom: 2px white solid;
  border-right: 2px white solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .accordion-title:before {
    top: 8px;
    right: -42px;
    width: 8px;
    height: 8px;
    border-bottom: 4px white solid;
    border-right: 4px white solid;
  }
}

.accordion-title:after {
  position: absolute;
  top: 1px;
  right: -10px;
  content: '';
  width: 14px;
  height: 14px;
  background: #0264b9;
  border-radius: 15px;
}

@media screen and (min-width: 768px) {
  .accordion-title:after {
    top: 2px;
    right: -50px;
    width: 28px;
    height: 28px;
    border-radius: 15px;
  }
}

.accordion-active {
  position: relative;
}

.accordion-active:before {
  top: 6px;
  border: none;
  border-top: 2px white solid;
  border-left: 2px white solid;
}

@media screen and (min-width: 768px) {
  .accordion-active:before {
    top: 12px;
    border-top: 4px white solid;
    border-left: 4px white solid;
  }
}

.accordion-active:after {
  background: #f6d600;
}

.accordion-none {
  display: none;
}

.accordion-body {
  display: none;
  clear: both;
  overflow: hidden;
  margin: 0 0 20px;
  border-top: 1px #ccc dotted;
  padding-top: 15px;
}

@media screen and (min-width: 768px) {
  .accordion-body {
    padding-top: 35px;
    width: 820px;
    margin: 0 40px 60px 170px;
  }
}

.accordion-body-active {
  display: block;
}

.accordion-image {
  height: 175px;
  text-align: center;
  margin-bottom: 10px;
}


.accordion-image img {
  max-height: 100%;
}


@media screen and (min-width: 768px) {
  .accordion-image {
    width: 300px;
    height: 300px;
    margin: 0 0 0 50px;
    float: right;
    text-align: center;
  }
  .accordion-image img {
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .accordion-image {
    height: auto;
  }
  .accordion-image img {
    width: 100%;
    height: auto;
  }

}

.accordion-text {
  margin-bottom: 10px;
  font-size: 3.125vw;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .accordion-text {
    margin-bottom: 20px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}

@media screen and (min-width: 768px) {
  .accordion-button {
    width: 220px;
    height: 50px;
    margin: 35px auto 0;
    display: flex;
  }
}

.accordion-button > a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 10px 0 8px;
  font-weight: bold;
  font-size: 1.1rem;
  text-align: center;
  color: #2d2d2d;
  border: 1px #0264b9 solid;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

@media screen and (min-width: 768px) {
  .accordion-button > a {
    font-size: 1.5rem;
    padding: 15px 0 13px;
    border: 2px #0264b9 solid;
  }
  .accordion-button > a:hover {
    background: #0264b9;
    border: 2px #0264b9 solid;
    color: white;
  }
  .accordion-button > a:hover .accordion-button-text:before {
    border-top: 3px #0264b9 solid;
    border-right: 3px #0264b9 solid;
  }
  .accordion-button > a:hover .accordion-button-text:after {
    background: #f6d600;
  }
}

.accordion-button-text {
  position: relative;
  font-weight: bold;
  margin-left: -8px;
}

.accordion-button-text:before {
  position: absolute;
  top: 50%;
  right: -9px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px white solid;
  border-right: 2px white solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -4px;
}

@media screen and (min-width: 768px) {
  .accordion-button-text:before {
    right: -15px;
    width: 5px;
    height: 5px;
    border-top: 3px white solid;
    border-right: 3px white solid;
    margin-top: -5px;
  }
}

.accordion-button-text:after {
  position: absolute;
  top: 50%;
  right: -13px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -7px;
}

@media screen and (min-width: 768px) {
  .accordion-button-text:after {
    right: -20px;
    width: 16px;
    height: 16px;
    margin-top: -9px;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .accordion-button-text {
    padding-bottom: 3px;
  }
}

.title {
  font-size: 1.4rem;
  font-weight: bold;
  float: left;
  padding-left: 10px;
  position: relative;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .title {
    font-size: 2.4rem;
    padding-left: 15px;
  }
}

.title:before {
  position: absolute;
  top: -1px;
  left: 0;
  content: '';
  width: 3px;
  height: 15px;
  background: #f6d600;
  border-radius: 2px;
}

@media screen and (min-width: 768px) {
  .title:before {
    width: 4px;
    height: 25px;
  }
}

.title-small {
  margin-right: 5px;
  font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
  .title-small {
    font-size: 1.8rem;
  }
}

.title-english {
  font-size: 1.0rem;
  font-weight: 600;
  font-family: "Open Sans", sans-serif;
  float: left;
  margin: 4px 0 0 5px;
  letter-spacing: 0.04rem;
}

@media screen and (min-width: 768px) {
  .title-english {
    font-size: 1.6rem;
    margin: 6px 0 0 20px;
  }
}

.title-section {
  font-size: 1.3rem;
  color: #026ac4;
  position: relative;
  font-weight: bold;
  padding: 3px 0 0 20px;
  line-height: 1.3;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .title-section {
    font-size: 2.2rem;
    padding-left: 35px;
  }
}

.title-section:before {
  position: absolute;
  top: -3px;
  left: 1px;
  content: "\f05d";
  font-family: FontAwesome;
  z-index: 2;
  font-size: 1.8rem;
}

@media screen and (min-width: 768px) {
  .title-section:before {
    top: 0;
    font-size: 2.6rem;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .title-section:before {
    top: 2px;
  }
}

/* libs
========================================================================== */
/**
 * Swiper 3.4.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 *
 * http://www.idangero.us/swiper/
 *
 * Copyright 2016, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 *
 * Licensed under MIT
 *
 * Released on: October 16, 2016
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: -webkit-transform,height;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform;
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-container-coverflow .swiper-wrapper, .swiper-container-flip .swiper-wrapper {
  -ms-perspective: 1200px;
}

.swiper-container-cube, .swiper-container-flip {
  overflow: visible;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  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;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* FONT PATH
 * -------------------------- */
@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;
}

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

.fa-music:before {
  content: "";
}

.fa-search:before {
  content: "";
}

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

.fa-heart:before {
  content: "";
}

.fa-star:before {
  content: "";
}

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

.fa-user:before {
  content: "";
}

.fa-film:before {
  content: "";
}

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

.fa-th:before {
  content: "";
}

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

.fa-check:before {
  content: "";
}

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

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

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

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

.fa-signal:before {
  content: "";
}

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

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

.fa-home:before {
  content: "";
}

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

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

.fa-road:before {
  content: "";
}

.fa-download:before {
  content: "";
}

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

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

.fa-inbox:before {
  content: "";
}

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

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

.fa-refresh:before {
  content: "";
}

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

.fa-lock:before {
  content: "";
}

.fa-flag:before {
  content: "";
}

.fa-headphones:before {
  content: "";
}

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

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

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

.fa-qrcode:before {
  content: "";
}

.fa-barcode:before {
  content: "";
}

.fa-tag:before {
  content: "";
}

.fa-tags:before {
  content: "";
}

.fa-book:before {
  content: "";
}

.fa-bookmark:before {
  content: "";
}

.fa-print:before {
  content: "";
}

.fa-camera:before {
  content: "";
}

.fa-font:before {
  content: "";
}

.fa-bold:before {
  content: "";
}

.fa-italic:before {
  content: "";
}

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

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

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

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

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

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

.fa-list:before {
  content: "";
}

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

.fa-indent:before {
  content: "";
}

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

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

.fa-pencil:before {
  content: "";
}

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

.fa-adjust:before {
  content: "";
}

.fa-tint:before {
  content: "";
}

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

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

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

.fa-arrows:before {
  content: "";
}

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

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

.fa-backward:before {
  content: "";
}

.fa-play:before {
  content: "";
}

.fa-pause:before {
  content: "";
}

.fa-stop:before {
  content: "";
}

.fa-forward:before {
  content: "";
}

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

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

.fa-eject:before {
  content: "";
}

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

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

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

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

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

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

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

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

.fa-crosshairs:before {
  content: "";
}

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

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

.fa-ban:before {
  content: "";
}

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

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

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

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

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

.fa-expand:before {
  content: "";
}

.fa-compress:before {
  content: "";
}

.fa-plus:before {
  content: "";
}

.fa-minus:before {
  content: "";
}

.fa-asterisk:before {
  content: "";
}

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

.fa-gift:before {
  content: "";
}

.fa-leaf:before {
  content: "";
}

.fa-fire:before {
  content: "";
}

.fa-eye:before {
  content: "";
}

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

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

.fa-plane:before {
  content: "";
}

.fa-calendar:before {
  content: "";
}

.fa-random:before {
  content: "";
}

.fa-comment:before {
  content: "";
}

.fa-magnet:before {
  content: "";
}

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

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

.fa-retweet:before {
  content: "";
}

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

.fa-folder:before {
  content: "";
}

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

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

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

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

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

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

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

.fa-key:before {
  content: "";
}

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

.fa-comments:before {
  content: "";
}

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

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

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

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

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

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

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

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

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

.fa-trophy:before {
  content: "";
}

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

.fa-upload:before {
  content: "";
}

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

.fa-phone:before {
  content: "";
}

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

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

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

.fa-twitter:before {
  content: "";
}

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

.fa-github:before {
  content: "";
}

.fa-unlock:before {
  content: "";
}

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

.fa-feed:before,
.fa-rss:before {
  content: "";
}

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

.fa-bullhorn:before {
  content: "";
}

.fa-bell:before {
  content: "";
}

.fa-certificate:before {
  content: "";
}

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

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

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

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

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

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

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

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

.fa-globe:before {
  content: "";
}

.fa-wrench:before {
  content: "";
}

.fa-tasks:before {
  content: "";
}

.fa-filter:before {
  content: "";
}

.fa-briefcase:before {
  content: "";
}

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

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

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

.fa-cloud:before {
  content: "";
}

.fa-flask:before {
  content: "";
}

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

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

.fa-paperclip:before {
  content: "";
}

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

.fa-square:before {
  content: "";
}

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

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

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

.fa-strikethrough:before {
  content: "";
}

.fa-underline:before {
  content: "";
}

.fa-table:before {
  content: "";
}

.fa-magic:before {
  content: "";
}

.fa-truck:before {
  content: "";
}

.fa-pinterest:before {
  content: "";
}

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

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

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

.fa-money:before {
  content: "";
}

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

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

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

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

.fa-columns:before {
  content: "";
}

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

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

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

.fa-envelope:before {
  content: "";
}

.fa-linkedin:before {
  content: "";
}

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

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

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

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

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

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

.fa-sitemap:before {
  content: "";
}

.fa-umbrella:before {
  content: "";
}

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

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

.fa-exchange:before {
  content: "";
}

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

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

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

.fa-stethoscope:before {
  content: "";
}

.fa-suitcase:before {
  content: "";
}

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

.fa-coffee:before {
  content: "";
}

.fa-cutlery:before {
  content: "";
}

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

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

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

.fa-ambulance:before {
  content: "";
}

.fa-medkit:before {
  content: "";
}

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

.fa-beer:before {
  content: "";
}

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

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

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

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

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

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

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

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

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

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

.fa-desktop:before {
  content: "";
}

.fa-laptop:before {
  content: "";
}

.fa-tablet:before {
  content: "";
}

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

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

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

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

.fa-spinner:before {
  content: "";
}

.fa-circle:before {
  content: "";
}

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

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

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

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

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

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

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

.fa-gamepad:before {
  content: "";
}

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

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

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

.fa-terminal:before {
  content: "";
}

.fa-code:before {
  content: "";
}

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

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

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

.fa-crop:before {
  content: "";
}

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

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

.fa-question:before {
  content: "";
}

.fa-info:before {
  content: "";
}

.fa-exclamation:before {
  content: "";
}

.fa-superscript:before {
  content: "";
}

.fa-subscript:before {
  content: "";
}

.fa-eraser:before {
  content: "";
}

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

.fa-microphone:before {
  content: "";
}

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

.fa-shield:before {
  content: "";
}

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

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

.fa-rocket:before {
  content: "";
}

.fa-maxcdn:before {
  content: "";
}

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

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

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

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

.fa-html5:before {
  content: "";
}

.fa-css3:before {
  content: "";
}

.fa-anchor:before {
  content: "";
}

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

.fa-bullseye:before {
  content: "";
}

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

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

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

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

.fa-ticket:before {
  content: "";
}

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

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

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

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

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

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

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

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

.fa-compass:before {
  content: "";
}

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

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

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

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

.fa-gbp:before {
  content: "";
}

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

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

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

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

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

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

.fa-file:before {
  content: "";
}

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

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

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

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

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

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

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

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

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

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

.fa-youtube:before {
  content: "";
}

.fa-xing:before {
  content: "";
}

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

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

.fa-dropbox:before {
  content: "";
}

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

.fa-instagram:before {
  content: "";
}

.fa-flickr:before {
  content: "";
}

.fa-adn:before {
  content: "";
}

.fa-bitbucket:before {
  content: "";
}

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

.fa-tumblr:before {
  content: "";
}

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

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

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

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

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

.fa-apple:before {
  content: "";
}

.fa-windows:before {
  content: "";
}

.fa-android:before {
  content: "";
}

.fa-linux:before {
  content: "";
}

.fa-dribbble:before {
  content: "";
}

.fa-skype:before {
  content: "";
}

.fa-foursquare:before {
  content: "";
}

.fa-trello:before {
  content: "";
}

.fa-female:before {
  content: "";
}

.fa-male:before {
  content: "";
}

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

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

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

.fa-archive:before {
  content: "";
}

.fa-bug:before {
  content: "";
}

.fa-vk:before {
  content: "";
}

.fa-weibo:before {
  content: "";
}

.fa-renren:before {
  content: "";
}

.fa-pagelines:before {
  content: "";
}

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

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

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

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

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

.fa-wheelchair:before {
  content: "";
}

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

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

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

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

.fa-slack:before {
  content: "";
}

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

.fa-wordpress:before {
  content: "";
}

.fa-openid:before {
  content: "";
}

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

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

.fa-yahoo:before {
  content: "";
}

.fa-google:before {
  content: "";
}

.fa-reddit:before {
  content: "";
}

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

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

.fa-stumbleupon:before {
  content: "";
}

.fa-delicious:before {
  content: "";
}

.fa-digg:before {
  content: "";
}

.fa-pied-piper-pp:before {
  content: "";
}

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

.fa-drupal:before {
  content: "";
}

.fa-joomla:before {
  content: "";
}

.fa-language:before {
  content: "";
}

.fa-fax:before {
  content: "";
}

.fa-building:before {
  content: "";
}

.fa-child:before {
  content: "";
}

.fa-paw:before {
  content: "";
}

.fa-spoon:before {
  content: "";
}

.fa-cube:before {
  content: "";
}

.fa-cubes:before {
  content: "";
}

.fa-behance:before {
  content: "";
}

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

.fa-steam:before {
  content: "";
}

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

.fa-recycle:before {
  content: "";
}

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

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

.fa-tree:before {
  content: "";
}

.fa-spotify:before {
  content: "";
}

.fa-deviantart:before {
  content: "";
}

.fa-soundcloud:before {
  content: "";
}

.fa-database:before {
  content: "";
}

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

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

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

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

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

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

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

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

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

.fa-vine:before {
  content: "";
}

.fa-codepen:before {
  content: "";
}

.fa-jsfiddle:before {
  content: "";
}

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

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

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "";
}

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

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

.fa-git:before {
  content: "";
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "";
}

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

.fa-qq:before {
  content: "";
}

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

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

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

.fa-history:before {
  content: "";
}

.fa-circle-thin:before {
  content: "";
}

.fa-header:before {
  content: "";
}

.fa-paragraph:before {
  content: "";
}

.fa-sliders:before {
  content: "";
}

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

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

.fa-bomb:before {
  content: "";
}

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

.fa-tty:before {
  content: "";
}

.fa-binoculars:before {
  content: "";
}

.fa-plug:before {
  content: "";
}

.fa-slideshare:before {
  content: "";
}

.fa-twitch:before {
  content: "";
}

.fa-yelp:before {
  content: "";
}

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

.fa-wifi:before {
  content: "";
}

.fa-calculator:before {
  content: "";
}

.fa-paypal:before {
  content: "";
}

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

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

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

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

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

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

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

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

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

.fa-trash:before {
  content: "";
}

.fa-copyright:before {
  content: "";
}

.fa-at:before {
  content: "";
}

.fa-eyedropper:before {
  content: "";
}

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

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

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

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

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

.fa-lastfm:before {
  content: "";
}

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

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

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

.fa-bicycle:before {
  content: "";
}

.fa-bus:before {
  content: "";
}

.fa-ioxhost:before {
  content: "";
}

.fa-angellist:before {
  content: "";
}

.fa-cc:before {
  content: "";
}

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

.fa-meanpath:before {
  content: "";
}

.fa-buysellads:before {
  content: "";
}

.fa-connectdevelop:before {
  content: "";
}

.fa-dashcube:before {
  content: "";
}

.fa-forumbee:before {
  content: "";
}

.fa-leanpub:before {
  content: "";
}

.fa-sellsy:before {
  content: "";
}

.fa-shirtsinbulk:before {
  content: "";
}

.fa-simplybuilt:before {
  content: "";
}

.fa-skyatlas:before {
  content: "";
}

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

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

.fa-diamond:before {
  content: "";
}

.fa-ship:before {
  content: "";
}

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

.fa-motorcycle:before {
  content: "";
}

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

.fa-heartbeat:before {
  content: "";
}

.fa-venus:before {
  content: "";
}

.fa-mars:before {
  content: "";
}

.fa-mercury:before {
  content: "";
}

.fa-intersex:before,
.fa-transgender:before {
  content: "";
}

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

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

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

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

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

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

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

.fa-neuter:before {
  content: "";
}

.fa-genderless:before {
  content: "";
}

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

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

.fa-whatsapp:before {
  content: "";
}

.fa-server:before {
  content: "";
}

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

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

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

.fa-viacoin:before {
  content: "";
}

.fa-train:before {
  content: "";
}

.fa-subway:before {
  content: "";
}

.fa-medium:before {
  content: "";
}

.fa-yc:before,
.fa-y-combinator:before {
  content: "";
}

.fa-optin-monster:before {
  content: "";
}

.fa-opencart:before {
  content: "";
}

.fa-expeditedssl:before {
  content: "";
}

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "";
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "";
}

.fa-battery-2:before,
.fa-battery-half:before {
  content: "";
}

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "";
}

.fa-battery-0:before,
.fa-battery-empty:before {
  content: "";
}

.fa-mouse-pointer:before {
  content: "";
}

.fa-i-cursor:before {
  content: "";
}

.fa-object-group:before {
  content: "";
}

.fa-object-ungroup:before {
  content: "";
}

.fa-sticky-note:before {
  content: "";
}

.fa-sticky-note-o:before {
  content: "";
}

.fa-cc-jcb:before {
  content: "";
}

.fa-cc-diners-club:before {
  content: "";
}

.fa-clone:before {
  content: "";
}

.fa-balance-scale:before {
  content: "";
}

.fa-hourglass-o:before {
  content: "";
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "";
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "";
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "";
}

.fa-hourglass:before {
  content: "";
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "";
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "";
}

.fa-hand-scissors-o:before {
  content: "";
}

.fa-hand-lizard-o:before {
  content: "";
}

.fa-hand-spock-o:before {
  content: "";
}

.fa-hand-pointer-o:before {
  content: "";
}

.fa-hand-peace-o:before {
  content: "";
}

.fa-trademark:before {
  content: "";
}

.fa-registered:before {
  content: "";
}

.fa-creative-commons:before {
  content: "";
}

.fa-gg:before {
  content: "";
}

.fa-gg-circle:before {
  content: "";
}

.fa-tripadvisor:before {
  content: "";
}

.fa-odnoklassniki:before {
  content: "";
}

.fa-odnoklassniki-square:before {
  content: "";
}

.fa-get-pocket:before {
  content: "";
}

.fa-wikipedia-w:before {
  content: "";
}

.fa-safari:before {
  content: "";
}

.fa-chrome:before {
  content: "";
}

.fa-firefox:before {
  content: "";
}

.fa-opera:before {
  content: "";
}

.fa-internet-explorer:before {
  content: "";
}

.fa-tv:before,
.fa-television:before {
  content: "";
}

.fa-contao:before {
  content: "";
}

.fa-500px:before {
  content: "";
}

.fa-amazon:before {
  content: "";
}

.fa-calendar-plus-o:before {
  content: "";
}

.fa-calendar-minus-o:before {
  content: "";
}

.fa-calendar-times-o:before {
  content: "";
}

.fa-calendar-check-o:before {
  content: "";
}

.fa-industry:before {
  content: "";
}

.fa-map-pin:before {
  content: "";
}

.fa-map-signs:before {
  content: "";
}

.fa-map-o:before {
  content: "";
}

.fa-map:before {
  content: "";
}

.fa-commenting:before {
  content: "";
}

.fa-commenting-o:before {
  content: "";
}

.fa-houzz:before {
  content: "";
}

.fa-vimeo:before {
  content: "";
}

.fa-black-tie:before {
  content: "";
}

.fa-fonticons:before {
  content: "";
}

.fa-reddit-alien:before {
  content: "";
}

.fa-edge:before {
  content: "";
}

.fa-credit-card-alt:before {
  content: "";
}

.fa-codiepie:before {
  content: "";
}

.fa-modx:before {
  content: "";
}

.fa-fort-awesome:before {
  content: "";
}

.fa-usb:before {
  content: "";
}

.fa-product-hunt:before {
  content: "";
}

.fa-mixcloud:before {
  content: "";
}

.fa-scribd:before {
  content: "";
}

.fa-pause-circle:before {
  content: "";
}

.fa-pause-circle-o:before {
  content: "";
}

.fa-stop-circle:before {
  content: "";
}

.fa-stop-circle-o:before {
  content: "";
}

.fa-shopping-bag:before {
  content: "";
}

.fa-shopping-basket:before {
  content: "";
}

.fa-hashtag:before {
  content: "";
}

.fa-bluetooth:before {
  content: "";
}

.fa-bluetooth-b:before {
  content: "";
}

.fa-percent:before {
  content: "";
}

.fa-gitlab:before {
  content: "";
}

.fa-wpbeginner:before {
  content: "";
}

.fa-wpforms:before {
  content: "";
}

.fa-envira:before {
  content: "";
}

.fa-universal-access:before {
  content: "";
}

.fa-wheelchair-alt:before {
  content: "";
}

.fa-question-circle-o:before {
  content: "";
}

.fa-blind:before {
  content: "";
}

.fa-audio-description:before {
  content: "";
}

.fa-volume-control-phone:before {
  content: "";
}

.fa-braille:before {
  content: "";
}

.fa-assistive-listening-systems:before {
  content: "";
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "";
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "";
}

.fa-glide:before {
  content: "";
}

.fa-glide-g:before {
  content: "";
}

.fa-signing:before,
.fa-sign-language:before {
  content: "";
}

.fa-low-vision:before {
  content: "";
}

.fa-viadeo:before {
  content: "";
}

.fa-viadeo-square:before {
  content: "";
}

.fa-snapchat:before {
  content: "";
}

.fa-snapchat-ghost:before {
  content: "";
}

.fa-snapchat-square:before {
  content: "";
}

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

.fa-first-order:before {
  content: "";
}

.fa-yoast:before {
  content: "";
}

.fa-themeisle:before {
  content: "";
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "";
}

.fa-fa:before,
.fa-font-awesome:before {
  content: "";
}

.fa-handshake-o:before {
  content: "";
}

.fa-envelope-open:before {
  content: "";
}

.fa-envelope-open-o:before {
  content: "";
}

.fa-linode:before {
  content: "";
}

.fa-address-book:before {
  content: "";
}

.fa-address-book-o:before {
  content: "";
}

.fa-vcard:before,
.fa-address-card:before {
  content: "";
}

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "";
}

.fa-user-circle:before {
  content: "";
}

.fa-user-circle-o:before {
  content: "";
}

.fa-user-o:before {
  content: "";
}

.fa-id-badge:before {
  content: "";
}

.fa-drivers-license:before,
.fa-id-card:before {
  content: "";
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "";
}

.fa-quora:before {
  content: "";
}

.fa-free-code-camp:before {
  content: "";
}

.fa-telegram:before {
  content: "";
}

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "";
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "";
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "";
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "";
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "";
}

.fa-shower:before {
  content: "";
}

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "";
}

.fa-podcast:before {
  content: "";
}

.fa-window-maximize:before {
  content: "";
}

.fa-window-minimize:before {
  content: "";
}

.fa-window-restore:before {
  content: "";
}

.fa-times-rectangle:before,
.fa-window-close:before {
  content: "";
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "";
}

.fa-bandcamp:before {
  content: "";
}

.fa-grav:before {
  content: "";
}

.fa-etsy:before {
  content: "";
}

.fa-imdb:before {
  content: "";
}

.fa-ravelry:before {
  content: "";
}

.fa-eercast:before {
  content: "";
}

.fa-microchip:before {
  content: "";
}

.fa-snowflake-o:before {
  content: "";
}

.fa-superpowers:before {
  content: "";
}

.fa-wpexplorer:before {
  content: "";
}

.fa-meetup:before {
  content: "";
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  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;
}

/* pages
========================================================================== */
.gallery-thumbs, .gallery-top {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .gallery-thumbs, .gallery-top {
    margin: 15px 3% 25px;
  }
}

@media screen and (min-width: 768px) {
  .gallery-top {
    width: 740px;
    height: 414px;
  }
}

.gallery-thumbs {
  box-sizing: border-box;
  padding: 15px 26px 15px 32px;
  background: #e1e8f0;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .gallery-thumbs {
    display: none;
  }
}

.videoclip {
  background: url(../img/top/bg_youtube01.png) repeat 0 0;
  position: relative;
  overflow: hidden;
  padding-bottom: 25px;
}

@media screen and (min-width: 768px) {
  .videoclip {
    margin: 60px 0;
    border-radius: 5px;
    padding: 0;
  }
}

.videoclip-header {
  padding: 13px 20px;
  box-sizing: border-box;
  overflow: hidden;
  border-bottom: 1px #b2b7bc solid;
}

@media screen and (min-width: 768px) {
  .videoclip-header {
    padding: 10px 20px 12px;
  }
}

.videoclip-body {
  overflow: hidden;
}

.videoclip-title {
  font-family: "Open Sans", sans-serif;
  font-size: 1.6rem;
  color: #587996;
  float: left;
  margin-top: 0px;
  padding-left: 35px;
  letter-spacing: -0.01rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .videoclip-title {
    font-size: 2.4rem;
    margin-top: 8px;
    padding-left: 35px;
  }
}

.videoclip-title:before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "\f167";
  font-family: FontAwesome;
  font-size: 2.1rem;
  z-index: 2;
  color: #0264b9;
  padding: 3px 5px;
  margin-top: -14px;
}

@media screen and (min-width: 768px) {
  .videoclip-title:before {
    font-size: 2.2rem;
    margin-top: -18px;
  }
}

.videoclip-title:after {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 15px;
  background: white;
  z-index: 1;
  margin-top: -14px;
}

@media screen and (min-width: 768px) {
  .videoclip-title:after {
    width: 30px;
    height: 30px;
    margin-top: -18px;
  }
}

.videoclip-text {
  float: left;
  font-size: 1.0rem;
  margin: 5px 0 0 10px;
}

@media screen and (min-width: 768px) {
  .videoclip-text {
    font-size: 1.4rem;
    margin: 18px 0 0 20px;
  }
}

@media screen and (min-width: 768px) {
  .videoclip-button {
    position: absolute;
    top: 10px;
    right: 20px;
  }
}

.videoclip-button-youtube {
  width: 88%;
  height: 34px;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: -0.01rem;
  margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .videoclip-button-youtube {
    margin: 15px 6% 0;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .videoclip-button-youtube {
    width: 212px;
    height: 34px;
  }
}

.videoclip-button-youtube > a {
  text-decoration: none;
  display: block;
  width: 100%;
  height: 34px;
  padding: 12px 15px 0;
  color: white;
  overflow: hidden;
  position: relative;
  border-radius: 5px;
  background: -webkit-linear-gradient(top, #5ba4e3 0%, #4a94d3 99%);
  background: linear-gradient(to bottom, #5ba4e3 0%, #4a94d3 99%);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

@media screen and (min-width: 768px) {
  .videoclip-button-youtube > a {
    background: #4d96d6;
  }
  .videoclip-button-youtube > a:before {
    position: absolute;
    top: 50%;
    right: 15px;
    content: '';
    width: 4px;
    height: 4px;
    border: 0px;
    border-top: 2px #4d96d6 solid;
    border-right: 2px #4d96d6 solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3px;
    z-index: 2;
  }
  .videoclip-button-youtube > a:after {
    position: absolute;
    top: 50%;
    right: 11px;
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 8px;
    background: #f6d600;
    z-index: 1;
    margin-top: -6px;
  }
}

.videoclip-button-youtube > a:hover:before {
  right: 12px;
}

.videoclip-button-youtube > a:hover:after {
  right: 8px;
}

@media screen and (max-width: 767px) {
  .videoclip-button-text {
    position: relative;
  }
  .videoclip-button-text:before {
    position: absolute;
    top: 50%;
    right: -16px;
    content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: 2px #4d96d6 solid;
    border-right: 2px #4d96d6 solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -4px;
    z-index: 2;
  }
  .videoclip-button-text:after {
    position: absolute;
    top: 50%;
    right: -20px;
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 8px;
    background: #f6d600;
    z-index: 1;
    margin-top: -7px;
  }
}

@media screen and (max-width: 767px) {
  .videoclip-play {
    position: relative;
    margin: 12px 3%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .videoclip-play {
    float: left;
    padding: 20px;
    border-top: 1px white solid;
  }
}

.videoclip-play > iframe {
  width: 100%;
  vertical-align: bottom;
}

@media screen and (max-width: 767px) {
  .videoclip-play > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .videoclip-play > iframe {
    width: 370px;
    height: 207px;
  }
}

.videoclip-detail {
  padding: 0 3%;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .videoclip-detail {
    float: left;
    height: 100%;
    padding: 20px 0 20px;
    border-left: 1px #b2b7bc solid;
    border-top: 1px white solid;
  }
  .videoclip-detail:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 1px;
    height: 100%;
    background: white;
  }
}

.videoclip-detail .hover {
  background: #90a5b8;
  color: white;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

.videoclip-detail .hover:before {
  border-top: 2px #90a5b8 solid;
  border-right: 2px #90a5b8 solid;
}

@media screen and (min-width: 768px) {
  .videoclip-detail .hover:before {
    border-top: 3px #90a5b8 solid;
    border-right: 3px #90a5b8 solid;
  }
}

.videoclip-detail .hover:after {
  background: #f6d600;
}

.videoclip-detail-inner {
  padding: 10px 2% 0 2%;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .videoclip-detail-inner {
    padding: 13px 20px 0 20px;
    margin-left: 2px;
  }
}

.videoclip-detail-inner:before {
  position: absolute;
  top: 50%;
  left: 14px;
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: 2px #e1e9f0 solid;
  border-right: 2px #e1e9f0 solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .videoclip-detail-inner:before {
    left: 24px;
    width: 5px;
    height: 5px;
    border-top: 3px #e1e9f0 solid;
    border-right: 3px #e1e9f0 solid;
  }
}

.videoclip-detail-inner:after {
  position: absolute;
  top: 50%;
  left: 10px;
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 8px;
  background: #0264b9;
  z-index: 1;
  margin-top: -10px;
}

@media screen and (min-width: 768px) {
  .videoclip-detail-inner:after {
    left: 20px;
    width: 18px;
    height: 18px;
    border-radius: 10px;
  }
}

.videoclip-detail-title {
  overflow: hidden;
  padding: 0 0 10px 0;
}

@media screen and (min-width: 768px) {
  .videoclip-detail-title {
    padding: 0 0 12px 25px;
  }
}

.videoclip-line {
  border-bottom: 1px #ccc dotted;
}

.videoclip-video-thumnail {
  float: left;
}

@media screen and (max-width: 767px) {
  .videoclip-video-thumnail {
    width: 90px;
    padding-left: 30px;
  }
  .videoclip-video-thumnail img {
    max-width: 100%;
  }
}

.videoclip-video-title {
  float: right;
  font-size: 3.4375vw;
  width: 100%;
  margin-left: -90px;
  padding: 5px 15px 0 100px;
  letter-spacing: -0.01rem;
  line-height: 1.5;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .videoclip-video-title {
    font-size: 1.3rem;
    width: 170px;
    margin: 0 8px 0 7px;
    padding: 0;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px) {
  .aside-body {
    margin-bottom: 12px;
    position: relative;
  }
  .aside-body:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    width: 100%;
    height: 10px;
    background: url(../img/common/bg_line01.png) repeat-x 0 0;
  }
}

.topics-header {
  overflow: hidden;
  padding: 0 0 30px;
}

@media screen and (max-width: 767px) {
  .topics-header {
    background: #0264b9;
    width: 100%;
    height: 35px;
    padding: 3px 3%;
  }
}

.topics-title {
  font-size: 2.2rem;
  font-family: "Open Sans", sans-serif;
  position: relative;
  padding-left: 48px;
  float: left;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .topics-title {
    font-size: 1.6rem;
    color: white;
    line-height: 28px;
    padding-left: 37px;
  }
}

.topics-title:before {
  position: absolute;
  top: 50%;
  left: -1px;
  content: "\f0e7";
  font-family: FontAwesome;
  z-index: 2;
  color: #0264b9;
  padding: 3px 10px;
  margin-top: -16px;
  font-size: 2.2rem;
}

@media screen and (min-width: 768px) {
  .topics-title:before {
    left: 4px;
    margin-top: -16px;
  }
}

.topics-title:after {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 15px;
  background: #f6d600;
  z-index: 1;
  margin-top: -14px;
}

@media screen and (min-width: 768px) {
  .topics-title:after {
    left: 4px;
    width: 30px;
    height: 30px;
    margin-top: -14px;
  }
}

.topics-button {
  float: right;
}

@media screen and (min-width: 768px) {
  .topics-button {
    margin-top: 2px;
  }
}

.topics-body {
  box-sizing: border-box;
  clear: both;
  overflow: hidden;
  position: relative;
  margin: 0 3%;
}

@media screen and (min-width: 768px) {
  .topics-body {
    margin: 0;
  }
}

.topics-body > a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 14px 0;
  color: #2d2d2d;
  overflow: hidden;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

@media screen and (min-width: 768px) {
  .topics-body > a {
    padding: 20px 30px 20px 0;
  }
}

.topics-body > a:hover {
  background: #edf7fc;
}

.topics-body + .topics-body {
  border-top: 1px #ccc dotted;
}

@media screen and (min-width: 768px) {
  .topics-body:before {
    position: absolute;
    top: 50%;
    right: 0;
    content: '';
    width: 18px;
    height: 18px;
    background: #f6d600;
    border-radius: 9px;
    margin-top: -9px;
  }
  .topics-body:after {
    position: absolute;
    top: 50%;
    right: 6px;
    content: '';
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: 3px white solid;
    border-right: 3px white solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -4px;
  }
}

.topics-body-title {
  color: #3c8dd3;
  font-size: 3.75vw;
  font-weight: bold;
  margin: 10px 0;
  line-height: 1.5;
  letter-spacing: -0.09rem;
}

@media screen and (min-width: 768px) {
  .topics-body-title {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .topics-detail {
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  .topics-detail_large {
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .topics-detail_large {
    height: 108px;
  }
}

.topics-image {
  float: right;
  margin-left: 10px;
  width: 38%;
}
.topics-image img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .topics-image {
    width: 35%;
  }
  .topics-image img {
    width: 100%;
    height: auto;
  }
}

.topics-info {
  overflow: hidden;
}

.topics-date {
  font-family: "Open Sans", sans-serif;
  font-size: 3.125vw;
  font-weight: bold;
  letter-spacing: -0.01rem;
  float: left;
  margin: 4px 5px 0 0;
}

@media screen and (min-width: 768px) {
  .topics-date {
    font-size: 1.3rem;
    margin: 2px 5px 0 0;
  }
}

.topics-genre {
  font-family: "Open Sans", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: white;
  background: #0264b9;
  width: 70px;
  height: 17px;
  text-align: center;
  padding: 3px 0;
  box-sizing: border-box;
  border-radius: 10px;
  float: left;
}

@media screen and (min-width: 768px) {
  .topics-genre {
    font-size: 1.2rem;
  }
}

.topics-text {
  font-size: 3.75vw;
  line-height: 1.5;
  letter-spacing: -0.09rem;
  clear: both;
  margin-top: 12px;
}

@media screen and (min-width: 768px) {
  .topics-text {
    font-size: 1.3rem;
    margin-top: 0;
  }
}

.announcement-header {
  overflow: hidden;
  padding: 20px 0 2px;
}

@media screen and (max-width: 767px) {
  .announcement {
    margin-top: 30px;
  }
  .announcement-header {
    background: #0264b9;
    width: 100%;
    height: 35px;
    padding: 3px 3%;
  }
}

.announcement-title {
  font-size: 2.2rem;
  position: relative;
  padding-left: 48px;
  float: left;
  line-height: 1.2;
  letter-spacing: -0.01rem;
}

@media screen and (max-width: 767px) {
  .announcement-title {
    font-size: 1.6rem;
    color: white;
    line-height: 30px;
    padding-left: 37px;
  }
}

.announcement-title:before {
  position: absolute;
  top: 50%;
  left: -1px;
  content: "\f0a1";
  font-family: FontAwesome;
  z-index: 2;
  font-size: 1.8rem;
  color: #0264b9;
  padding: 3px 6px;
  margin-top: -18px;
}

@media screen and (min-width: 768px) {
  .announcement-title:before {
    left: 4px;
    margin-top: -14px;
  }
}

.announcement-title:after {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 15px;
  background: #f6d600;
  z-index: 1;
  margin-top: -15px;
}

@media screen and (min-width: 768px) {
  .announcement-title:after {
    width: 30px;
    left: 4px;
    height: 30px;
    margin-top: -16px;
  }
}

.announcement-button {
  float: right;
}

.announcement-body {
  clear: both;
  overflow: hidden;
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .announcement-body {
    margin: 0 6%;
    padding-bottom: 22px;
  }
}

.announcement-body > a {
  color: #2d2d2d;
  text-decoration: none;
}

.announcement-body > a:hover {
  text-decoration: underline;
}

.announcement-date {
  font-family: "Open Sans", sans-serif;
  font-size: 3.75vw;
  font-weight: 600;
  letter-spacing: -0.01rem;
  margin: 15px 0 5px;
}

@media screen and (min-width: 768px) {
  .announcement-date {
    font-size: 1.3rem;
    margin: 10px 5px 5px 0;
  }
}

.announcement-text {
  font-size: 3.75vw;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: -0.09rem;
}

@media screen and (min-width: 768px) {
  .announcement-text {
    font-size: 1.3rem;
  }
}

.newinfo {
  margin-bottom: 60px;
  float: left;
  position: relative;
  clear: both;
}

@media screen and (max-width: 767px) {
  .newinfo {
    float: none;
    width: 100%;
    margin-bottom: 20px;
    position: relative;
  }
  .newinfo:after {
    position: absolute;
    left: 0;
    bottom: -10px;
    content: '';
    width: 100%;
    height: 10px;
    background: url(../img/common/bg_line01.png) repeat-x 0 0;
  }
}

.newinfo-header {
  overflow: hidden;
  width: 100%;
  margin-bottom: 14px;
}

@media screen and (max-width: 767px) {
  .newinfo-header {
    background: #0264b9;
    height: 35px;
    margin: 0;
    padding: 0 3%;
  }
}

.newinfo-title {
  font-family: "Open Sans", sans-serif;
  font-size: 2.4rem;
  float: left;
  margin-top: 8px;
  padding-left: 35px;
  letter-spacing: -0.01rem;
  position: relative;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .newinfo-title {
    font-size: 1.6rem;
    color: white;
  }
}

.newinfo-title:before {
  position: absolute;
  top: 50%;
  left: -5px;
  content: url("/img/top/ico_tc01.png");
  z-index: 2;
  margin-top: -25px;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
}

@media screen and (min-width: 768px) {
  .newinfo-title:before {
    left: -3px;
    margin-top: -25px;
  }
}

.newinfo-title:after {
  position: absolute;
  top: 50%;
  left: -1px;
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 15px;
  background: #f6d600;
  z-index: 1;
  margin-top: -15px;
}

@media screen and (min-width: 768px) {
  .newinfo-title:after {
    left: 0;
    width: 30px;
    height: 30px;
    margin-top: -16px;
  }
}

.newinfo-text {
  letter-spacing: -0.01rem;
  font-size: 3.125vw;
  background: #f2f2f2;
  padding: 10px 3%;
}

@media screen and (min-width: 768px) {
  .newinfo-text {
    margin: 18px 0 0 20px;
    width: 450px;
    position: absolute;
    top: 2px;
    left: 250px;
    font-size: 1.4rem;
    background: none;
    padding: 0;
  }
}

.newinfo-inner {
  width: 740px;
}

@media screen and (max-width: 767px) {
  .newinfo-inner {
    width: 100%;
    background: #f2f2f2;
    padding-bottom: 25px;
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .newinfo-box {
    position: absolute;
  }
}

.newinfo-body {
  width: 240px;
  box-sizing: border-box;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .newinfo-body {
    width: 100%;
    padding: 0 3%;
    margin-bottom: 10px;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 768px) {
  .newinfo-body {
    margin: 0 3px 0 0;
    position: relative;
  }
}

.newinfo-body > a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 4px 4px 20px 4px;
  overflow: hidden;
  box-shadow: 0 0 0 1px #ccc inset;
  color: #2d2d2d;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

@media screen and (max-width: 767px) {
  .newinfo-body > a {
    background: white;
    padding: 10px;
  }
}

@media screen and (min-width: 768px) {
  .newinfo-body > a {
    margin-bottom: 8px;
  }
}

.newinfo-body-title {
  font-weight: bold;
  color: #026ac4;
  margin: 10px 0 8px;
  line-height: 1.3;
  font-size: 3.4375vw;
}

@media screen and (min-width: 768px) {
  .newinfo-body-title {
    margin: 0 10px 12px;
    font-size: 1.4rem;
  }
}

.newinfo-body-text {
  letter-spacing: -0.04rem;
  line-height: 1.3;
  font-size: 3.4375vw;
}

@media screen and (min-width: 768px) {
  .newinfo-body-text {
    margin: 0 12px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .newinfo-image {
    float: left;
    width: 28%;
    margin-right: 10px;
  }
  .newinfo-image img {
    width: 100%;
    height: auto;
  }
}

.newinfo-icon {
  position: relative;
}

.newinfo-icon:before {
  position: absolute;
  top: 2px;
  left: -12px;
  content: "\f02b";
  font-family: FontAwesome;
  color: white;
}

@media screen and (min-width: 768px) {
  .newinfo-icon:before {
    top: 3px;
    left: -16px;
  }
}

.newinfo-tag {
  width: 60px;
  font-family: "Open Sans", sans-serif;
  font-size: 1.0rem;
  font-weight: 600;
  color: white;
  padding: 4px 5px 4px 15px;
  letter-spacing: -0.01rem;
  box-sizing: border-box;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .newinfo-tag {
    width: 75px;
    height: 20px;
    font-size: 1.3rem;
    padding: 4px 5px 4px 20px;
    margin: 12px 10px;
  }
}

.newinfo-tag_dvd {
  background: #85d1fa;
}

.newinfo-tag_event {
  background: #f967b9;
}

.newinfo-tag_movie {
  background: #5ecc56;
}

.newinfo-tag_others {
  background: #a75ed9;
}

.newinfo-tag_goods {
  background: #f6d600;
}

@media screen and (max-width: 767px) {
  .newinfo-detail {
    float: left;
    width: 100%;
    margin-left: -32%;
    margin-left: -webkit-calc(-29% - 10px);
    margin-left: -moz-calc(-29% - 10px);
    padding-left: 32%;
    padding-left: -webkit-calc(29% + 10px);
    padding-left: -moz-calc(29% + 10px);
  }
}

.newinfo-release {
  margin: 0 0 15px;
  letter-spacing: -0.01rem;
  font-size: 3.4375vw;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .newinfo-release {
    margin: 0 12px 20px 12px;
    font-size: 1.4rem;
    font-weight: bold;
  }
}

.newinfo-dvd > a:hover {
  box-shadow: 0 0 0 2px #85d1fa inset;
  opacity: 0.7;
}

.newinfo-event > a:hover {
  box-shadow: 0 0 0 2px #f967b9 inset;
  opacity: 0.7;
}

.newinfo-movie > a:hover {
  box-shadow: 0 0 0 2px #5ecc56 inset;
  opacity: 0.7;
}

.newinfo-others > a:hover {
  box-shadow: 0 0 0 2px #a75ed9 inset;
  opacity: 0.7;
}

.newinfo-goods > a:hover {
  box-shadow: 0 0 0 2px #f6d600 inset;
  opacity: 0.7;
}

.newinfo-button {
  clear: both;
  width: 94%;
  padding: 10px 0;
  margin: 5px 3% 0;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  border: 1px #b9b9b9 solid;
  background: -webkit-linear-gradient(top, #ffffff 0%, #f7f8f9 99%);
  background: linear-gradient(to bottom, #ffffff 0%, #f7f8f9 99%);
}

@media screen and (min-width: 768px) {
  .newinfo-button {
    font-size: 1.6rem;
    width: 100%;
    margin: 50px 0 10px;
    padding: 20px 0;
  }
  .newinfo-button:hover {
    opacity: 0.7;
  }
}

.newinfo-button-icon {
  position: relative;
}

.newinfo-button-icon:before {
  position: absolute;
  top: 3px;
  right: -15px;
  content: "\f103";
  font-family: FontAwesome;
}

.bnr-area_interviews {
  margin-bottom: 30px;
}

.bnr-area_interviews a {
  display: block;
}

@media screen and (min-width: 770px) {
  .bnr-area_interviews img {
    width: 320px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .bnr-area_interviews {
    margin: 0 3% 25px;
  }
  .bnr-area_interviews img {
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .calendar {
    margin: 20px 3% 25px;
  }
}

.calendar-title {
  font-size: 1.5rem;
  position: relative;
  padding: 15px 0 10px 44px;
  letter-spacing: -0.2rem;
  border-top: 1px #0264b9 solid;
  border-bottom: 1px #0264b9 solid;
}

.calendar-title:before {
  position: absolute;
  top: 50%;
  left: 10px;
  content: "\f073";
  font-family: FontAwesome;
  z-index: 2;
  color: #0264b9;
  font-size: 2.0rem;
  margin-top: -10px;
}

@media screen and (max-width: 767px) {
  .calendar-title {
    font-weight: bold;
  }
}

@media screen and (min-width: 768px) {
  .calendar-title {
    font-size: 2.2rem;
  }
  .calendar-title:before {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  .twitter {
    margin: 0 3%;
  }
}

.twitter-title {
  font-size: 1.5rem;
  position: relative;
  padding: 15px 0 10px 50px;
  letter-spacing: -0.01rem;
  border-top: 1px #0264b9 solid;
  border-bottom: 1px #0264b9 solid;
}

.twitter-title:before {
  background: url(../img/common/logoX.png) no-repeat;
  content: "";
  position: absolute;
  top: 50%;
  height: 22px;
  left: 8px;
  width: 22px;
  z-index: 2;
  margin-top: -10px;
}

@media screen and (max-width: 767px) {
  .twitter-title {
    font-weight: bold;
    padding-left: 44px;
  }
}
@media screen and (min-width: 768px) {
  .twitter {
    border-bottom: 1px #0264b9 solid;
  }
  .twitter-title {
    font-size: 2.2rem;
    margin-top: -8px;
  }
  .twitter-title:before {
    font-size: 2.2rem;
  }
}

.twitter-title-small {
  font-size: 1.0rem;
}

.twitter-body {
  margin: 20px auto;
  width: 300px;
}
.twitter-body li {
  list-style: none;
  margin: 16px 0;
}
@media screen and (min-width: 768px) {
  .twitter-body {
    margin: 20px 5px;
  }
}

.twitter-timeline {
  display: block;
  min-width: 240px;
  height: 260px;
}

@media screen and (min-width: 768px) {
  .twitter-timeline {
    width: 280px;
    height: 295px;
  }
}

.facebook {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .facebook {
    margin: 0 3% 25px;
  }
}

.facebook-title {
  font-size: 1.5rem;
  position: relative;
  padding: 15px 0 10px 46px;
  letter-spacing: -0.01rem;
  border-top: 1px #0264b9 solid;
  border-bottom: 1px #0264b9 solid;
}

.facebook-title:before {
  position: absolute;
  top: 50%;
  left: 10px;
  content: "\f09a";
  font-family: FontAwesome;
  z-index: 2;
  color: #0264b9;
  font-size: 2rem;
  margin-left: 2px;
  margin-top: -10px;
}

@media screen and (max-width: 767px) {
  .facebook-title {
    padding-left: 32px;
    font-weight: bold;
  }
}

@media screen and (min-width: 768px) {
  .facebook-title {
    font-size: 2.2rem;
  }
  .facebook-title:before {
    font-size: 2.2rem;
  }
}

.facebook-body {
  margin: 20px auto 0;
  width: 260px;
}

@media screen and (min-width: 768px) {
  .facebook-body {
    margin: 20px 20px 0;
    width: 280px;
  }
}

.facebook-body .fb-page {
  width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .facebook-body .fb-page {
    width: 280px;
  }
}

@media screen and (max-width: 767px) {
  .bnr-area {
    width: 100%;
    padding: 0 0 0 3%;
    margin-bottom: 17px;
    box-sizing: border-box;
    overflow: hidden;
  }
}

.bnr-area-image {
  margin-bottom: 10px;
}

.bnr-area-image a {
  display: block;
}

@media screen and (max-width: 767px) {
  .bnr-area-image {
    float: left;
    width: 47%;
    margin: 0 3% 8px 0;
  }
  .bnr-area-image img {
    max-width: 100%;
  }
}

.event {
  border-bottom: 1px #ccc dotted;
  padding-bottom: 20px;
  margin-bottom: 20px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .event {
    padding-bottom: 40px;
    margin-bottom: 30px;
  }
}

.event:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .event:last-child {
    padding-bottom: 10px;
  }
}

.event-image {
  float: left;
  width: 100%;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .event-image {
    width: 530px;
    margin: 0 30px 0 0;
  }
}

.event-image img {
  width: 100%;
  height: auto;
}

.event-body {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .event-body {
    float: left;
    width: 500px;
  }
}

.event-title {
  font-weight: bold;
  font-size: 3.75vw;
  margin: 0 0 10px;
  line-height: 1.4;
  letter-spacing: 0.01rem;
  color: #0264b9;
}

@media screen and (min-width: 768px) {
  .event-title {
    font-size: 2.2rem;
    margin: -3px 0 20px;
    color: #0264b9;
  }
}

.event-date {
  font-size: 3.75vw;
  font-weight: bold;
  margin-bottom: 5px;
  letter-spacing: 0.01rem;
  color: #0264b9;
}

@media screen and (min-width: 768px) {
  .event-date {
    font-size: 1.8rem;
    margin-bottom: 10px;
    color: #0264b9;
  }
}

.event-place {
  font-size: 3.75vw;
  font-weight: bold;
  letter-spacing: 0.01rem;
  color: #0264b9;
}

@media screen and (min-width: 768px) {
  .event-place {
    font-size: 1.8rem;
    color: #0264b9;
  }
}

.event-text {
  margin: 10px 0 0;
  font-size: 3.125vw;
  line-height: 1.8;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .event-text {
    margin: 40px 0;
    font-size: 1.6rem;
  }
}

.event-button {
  display: block;
  width: 90%;
  height: 45px;
  margin: 20px auto 0;
}

@media screen and (min-width: 768px) {
  .event-button {
    display: block;
    width: 500px;
    height: 45px;
    margin: 40px 0 0;
  }
}

.event-button > a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 10px 0 8px;
  line-height: 1;
  font-size: 1.1rem;
  text-align: center;
  color: #0264b9;
  border: 1px #0264b9 solid;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

@media screen and (min-width: 768px) {
  .event-button > a {
    font-size: 1.8rem;
    padding: 15px 0 13px;
    border: 2px #0264b9 solid;
  }
  .event-button > a:hover {
    background: #f6d600;
    border: 2px #f6d600 solid;
  }
  .event-button > a:hover .event-button-text:before {
    border-top: 3px #f6d600 solid;
    border-right: 3px #f6d600 solid;
  }
}

.event-button-text {
  position: relative;
  margin-left: -8px;
  font-weight: bold;
}

.event-button-text:before {
  position: absolute;
  top: 50%;
  right: -9px;
  content: "";
  width: 3px;
  height: 3px;
  border-top: 2px white solid;
  border-right: 2px white solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -3px;
}

@media screen and (min-width: 768px) {
  .event-button-text:before {
    right: -15px;
    width: 5px;
    height: 5px;
    border-top: 3px white solid;
    border-right: 3px white solid;
    margin-top: -5px;
  }
}

.event-button-text:after {
  position: absolute;
  top: 50%;
  right: -12px;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -6px;
}

@media screen and (min-width: 768px) {
  .event-button-text:after {
    right: -20px;
    width: 16px;
    height: 16px;
    margin-top: -9px;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .event-button-text {
    padding-bottom: 3px;
  }
}

.product {
  margin-bottom: 70px;
}

.product-inner {
  margin-bottom: 30px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .product-inner {
    margin-bottom: 75px;
  }
}

.product-inner + .product-inner {
  margin-bottom: 0;
}

.product-image {
  height: auto;
  text-align: center;
  margin-bottom: 15px;
}

.product-image a {
  display: block;
}


@media screen and (min-width: 768px) {
  .product-image {
    width: 290px;
    height: auto;
    float: left;
  }
  .product-image img {
    max-width: 290px;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .product-image {
    width: 100%;
  }
  .product-image img {
    width: 100%;
    height: auto;
  }
}

@media screen and (min-width: 768px) {
  .product-body {
    width: 720px;
    margin-left: 50px;
    float: left;
  }
}

.product-genre {
  overflow: hidden;
  margin-bottom: 12px;
}

@media screen and (min-width: 768px) {
  .product-genre {
    margin-bottom: 15px;
  }
}

.product-genre > li {
  font-size: 0.9rem;
  color: #026ac4;
  background: #f6d600;
  padding: 3px 15px 1px;
  border-radius: 10px;
  float: left;
  list-style: none;
  margin-right: 5px;
}

@media screen and (min-width: 768px) {
  .product-genre > li {
    font-size: 1.4rem;
    padding: 6px 20px 4px;
    border-radius: 15px;
  }
}

.product-title {
  font-size: 4.0625vw;
  font-weight: bold;
  border-bottom: 1px #a9a7a7 solid;
  padding-bottom: 10px;
  margin-bottom: 15px;
  clear: both;
}

@media screen and (min-width: 768px) {
  .product-title {
    font-size: 2.4rem;
  }
}

.product-sns {
  margin-bottom: 20px;
}

.product-sns .fb_iframe_widget > span {
  vertical-align: baseline !important;
}

@media screen and (min-width: 768px) {
  .product-sns {
    text-align: right;
  }
}

.product-type > li {
  float: left;
  list-style: none;
  border: 1px #0264b9 solid;
  border-radius: 2px;
  margin: 0 10px 10px 0;
  padding: 3px 0 1px;
  text-align: center;
  width: 50px;
  font-size: 1.0rem;
  letter-spacing: -0.01rem;
  color: #0264b9;
}

@media screen and (min-width: 768px) {
  .product-type > li {
    font-size: 1.2rem;
    border-radius: 5px;
    margin: 0 5px 10px 0;
    padding: 3px 0 2px;
    width: 55px;
  }
}

.product-detail {
  font-size: 3.4375vw;
  clear: both;
  overflow: hidden;
  margin-bottom: 10px;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .product-detail {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}

.product-detail dt {
  color: #026ac4;
  font-weight: bold;
  float: left;
  clear: both;
  margin: 0 10px 5px 0;
}

@media screen and (min-width: 768px) {
  .product-detail dt {
    margin: 0 10px 5px 0;
  }
}

.product-detail dt.product-calender {
  margin: 0 10px 1px 0;
}

.product-detail dd {
  margin-bottom: 5px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .product-detail dd {
    margin-bottom: 5px;
  }
}

.product-detail dd.product-calender {
  margin: 0 10px 1px 0;
}

.product-calender {
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .product-calender {
    line-height: 1.8;
    margin: 0 10px 0 0;
  }
}

.product-calender img {
  width: 60px;
  margin-left: 5px;
}

@media screen and (min-width: 768px) {
  .product-calender img {
    width: 100px;
    margin-left: 20px;
  }
}

.product-buy {
  display: table;
  clear: both;
}

.product-buy-mark {
  background: #c7d1da;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 10px 8px;
}

@media screen and (min-width: 768px) {
  .product-buy-mark {
    padding: 8px;
  }
}

.product-buy-icon {
  color: white;
  background: #587996;
  border-radius: 15px;
  width: 30px;
  height: 30px;
  font-size: 2.2rem;
  padding: 4px 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .product-buy-icon {
    padding: 4px 0;
  }
}

.product-buy-link {
  background: #f1f1f1;
  overflow: hidden;
  display: table-cell;
  vertical-align: middle;
  padding: 15px 15px 0 15px;
  font-size: 3.75vw;
}

@media screen and (min-width: 768px) {
  .product-buy-link {
    padding: 10px 15px 15px;
    font-size: 1.4rem;
  }
}

.product-buy-link > li {
  list-style: none;
  height: 25px;
  float: left;
  padding: 0 20px 35px 0;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .product-buy-link > li {
    line-height: 2.5;
    padding: 0 20px 15px 0;
  }
}

.product-buy-amazon {
  width: 75px;
}

@media screen and (min-width: 768px) {
  .product-buy-amazon {
    width: 105px;
  }
}

.product-description-title {
  font-size: 3.75vw;
  color: #0264b9;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .product-description-title {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  .product-description-video {
    position: relative;
    margin: 0;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }
}

.product-description-video > iframe {
  width: 100%;
  vertical-align: bottom;
}

@media screen and (max-width: 767px) {
  .product-description-video > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .product-description-video > iframe {
    width: 530px;
    height: 354px;
  }
}

.product-description-image {
  margin-bottom: 10px;
  overflow: hidden;
}

.product-description-image a {
  display: block;
}

@media screen and (min-width: 768px) {
  .product-description-image {
    margin-bottom: 30px;
  }
}

.product-description-image li {
  float: left;
  list-style: none;
}

.product-description-image li:first-child {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .product-description-image li:first-child {
    width: 530px;
    height: 354px;
  }
}

.product-description-image li:nth-child(2) {
  margin-top: 2%;
  width: 49%;
}

@media screen and (min-width: 768px) {
  .product-description-image li:nth-child(2) {
    margin: 0 0 0 5px;
    width: 260px;
    height: 174px;
  }
}

.product-description-image li:nth-child(3) {
  margin: 2% 0 0 2%;
  width: 49%;
}

@media screen and (min-width: 768px) {
  .product-description-image li:nth-child(3) {
    margin: 0 0 0 5px;
    width: 260px;
    height: 174px;
  }
}

.product-description-image li:nth-child(4) {
  margin-top: 2%;
  width: 49%;
}

@media screen and (min-width: 768px) {
  .product-description-image li:nth-child(4) {
    margin: 6px 0 0 5px;
    width: 260px;
    height: 174px;
  }
}

.product-description-image li:nth-child(5) {
  margin: 2% 0 0 2%;
  width: 49%;
}

@media screen and (min-width: 768px) {
  .product-description-image li:nth-child(5) {
    margin: 6px 0 0 5px;
    width: 260px;
    height: 174px;
  }
}

.product-description-image li img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .product-description-image li img {
    max-width: 100%;
  }
}

.product-description-list {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .product-description-list {
    margin-bottom: 40px;
  }
}

.product-description-list > li {
  list-style: none;
  font-size: 3.4375vw;
  font-weight: bold;
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .product-description-list > li {
    font-size: 1.8rem;
    padding-left: 25px;
    margin-bottom: 20px;
  }
}

.product-description-list > li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\f005";
  font-family: FontAwesome;
  z-index: 2;
  color: #f6d600;
}

@media screen and (min-width: 768px) {
  .product-description-list > li:before {
    left: 0;
  }
}

.product-description-inner {
  clear: both;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .product-description-inner {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px #2d2d2d dotted;
  }
}

.product-description-inner:last-child {
  padding: 0;
  margin: 0;
  border: none;
}

.product-description-header {
  font-size: 3.75vw;
  font-weight: bold;
  color: #0264b9;
  border-left: 2px #0264b9 solid;
  padding: 2px 5px;
  margin-bottom: 10px;
  line-height: 1.5;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .product-description-header {
    font-size: 2.0rem;
    width: 250px;
    float: left;
    clear: both;
    padding: 0 40px 0 10px;
    border-left: 5px #0264b9 solid;
  }
}

.product-description-body {
  font-size: 3.125vw;
  line-height: 1.5;
  letter-spacing: 0.01rem;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .product-description-body {
    width: 800px;
    line-height: 1.8;
    font-size: 1.4rem;
    margin: 0 0 0 250px;
  }
}

.product-description-body-text {
  font-size: 3.125vw;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .product-description-body-text {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
}

.product-related {
  position: relative;
  padding: 15px 3% 25px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .product-related {
    padding: 25px 40px 50px;
    width: 1140px;
    margin: 0 auto;
  }
}

.product-related:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 10px;
  background: url(../img/common/bg_line01.png) repeat-x 0 0;
}

.product-related-title {
  font-size: 1.2rem;
  font-weight: bold;
  color: #0264b9;
  margin-bottom: 10px;
  position: relative;
  padding-left: 28px;
  line-height: 2;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .product-related-title {
    font-size: 2.4rem;
    margin-bottom: 30px;
    padding-left: 55px;
  }
}

.product-related-title:before {
  position: absolute;
  top: 0;
  left: 6px;
  content: "\f0c1";
  font-family: FontAwesome;
  z-index: 2;
  color: #f6d600;
}

@media screen and (min-width: 768px) {
  .product-related-title:before {
    top: -2px;
    left: 12px;
  }
}

.product-related-title:after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 22px;
  height: 22px;
  border-radius: 10px;
  background: #0264b9;
}

@media screen and (min-width: 768px) {
  .product-related-title:after {
    width: 45px;
    height: 45px;
    border-radius: 22px;
  }
}

.product-related-body {
  width: 48.5%;
  float: left;
}

.product-related-body + .product-related-body:nth-child(odd) {
  margin-left: 3%;
}

.product-related-body > a {
  display: block;
  text-decoration: none;
  color: #2d2d2d;
}

@media screen and (min-width: 768px) {
  .product-related-body {
    width: 180px;
  }
  .product-related-body + .product-related-body {
    margin-left: 40px;
  }
  .product-related-body + .product-related-body:nth-child(5n+7) {
    margin-left: 0;
  }
}

.product-related-image {
  width: 100%;
}

.product-related-image img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .product-related-image img {
    max-width: 100%;
  }
}

.product-related-name {
  font-size: 3.125vw;
  font-weight: bold;
  color: #026ac4;
  margin: 10px 0 5px;
  line-height: 1.3;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .product-related-name {
    font-size: 1.4rem;
    margin: 15px 0 10px;
  }
}

.product-related-text {
  font-size: 3.125vw;
  margin: 0 0 5px;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .product-related-text {
    font-size: 1.4rem;
    margin: 0 0 10px;
  }
}

.company {
  margin: 25px 0;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .company {
    margin: 0 0 25px;
  }
}

.company-detail {
  margin: 10px 0 15px;
  font-size: 3.4375vw;
}

@media screen and (min-width: 768px) {
  .company-detail {
    margin: 10px 30px 45px;
    font-size: 1.8rem;
    background: #f1f1f1;
  }
}

.company-detail dt {
  padding: 5px 10px 3px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .company-detail dt {
    background: #f1f1f1;
  }
}

@media screen and (min-width: 768px) {
  .company-detail dt {
    padding: 18px 13px 16px 20px;
    width: 315px;
    box-sizing: border-box;
    float: left;
    clear: both;
    letter-spacing: -0.01rem;
    border-top: 10px white solid;
    line-height: 1.8;
  }
}

.company-detail dd {
  margin: 8px 10px;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .company-detail dd {
    margin: 0 0 0 315px;
    padding: 18px 20px 16px 50px;
    background: white;
    border-top: 10px white solid;
    line-height: 1.8;
    letter-spacing: 0.01rem;
  }
}

.company-map {
  width: 230px;
  height: 100px;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .company-map {
    width: 636px;
    height: 278px;
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .company-map {
    width: 100%;
    height: 150px;
    margin-top: 10px;
  }
}

.company-image {
  margin: 10px 0 0;
}

@media screen and (min-width: 768px) {
  .company-image {
    margin: 10px 0 0 60px;
  }
}

.company-image img {
  max-width: 100%;
}

.inquiry:first-child {
  border-bottom: 1px #ccc dotted;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .inquiry:last-child {
    margin-top: 50px;
  }
}

.inquiry-inner {
  margin: 10px 0 30px;
  letter-spacing: 0.01rem;
  overflow: hidden;
}

.inquiry-inner:last-child {
  margin: 10px 0 20px;
}

@media screen and (min-width: 768px) {
  .inquiry-inner {
    margin: 20px 0 30px;
    width: 530px;
    float: left;
  }
}

.inquiry-inner-large {
  margin: 10px 0 30px;
  letter-spacing: 0.01rem;
  overflow: hidden;
}

.inquiry-inner-large:last-child {
  margin: 10px 0 20px;
}

@media screen and (min-width: 768px) {
  .inquiry-inner-large {
    width: 100%;
  }
}

.inquiry-title {
  font-size: 1.1rem;
  color: white;
  background: #0264b9;
  width: 75px;
  height: 63px;
  font-weight: bold;
  text-align: center;
  padding: 33px 0 5px;
  margin-right: 10px;
  border-radius: 5px;
  line-height: 1.2;
  position: relative;
  float: left;
}

@media screen and (min-width: 768px) {
  .inquiry-title {
    font-size: 1.5rem;
    width: 114px;
    height: 96px;
    margin-right: 20px;
    padding: 52px 0 5px;
  }
}

.inquiry-title:before {
  position: absolute;
  top: 0;
  left: 50%;
  font-family: FontAwesome;
  font-weight: normal;
  color: #ebce20;
}

.inquiry-tel:before {
  top: 0;
  content: "\f095";
  font-size: 2.8rem;
  margin-left: -10px;
}

@media screen and (min-width: 768px) {
  .inquiry-tel:before {
    top: 3px;
    font-size: 4.2rem;
    margin-left: -20px;
  }
}

.inquiry-mail:before {
  top: 2px;
  content: "\f003";
  font-size: 2.6rem;
  margin-left: -13px;
}

@media screen and (min-width: 768px) {
  .inquiry-mail:before {
    top: 3px;
    font-size: 4.2rem;
    margin-left: -20px;
  }
}

.inquiry-body {
  float: left;
  width: 100%;
  margin-left: -85px;
  padding-left: 85px;
}

@media screen and (min-width: 768px) {
  .inquiry-body {
    width: 386px;
    margin: 0;
    padding: 0;
  }
}

.inquiry-body-large {
  float: left;
  width: 100%;
  margin-left: -85px;
  padding-left: 85px;
}

@media screen and (min-width: 768px) {
  .inquiry-body-large {
    width: auto;
    margin: 0;
    padding: 0;
  }
}

.inquiry-strong {
  font-weight: bold;
  font-size: 4.0625vw;
  margin-top: 2px;
}

@media screen and (min-width: 768px) {
  .inquiry-strong {
    font-size: 2.2rem;
    margin: 2px 0 8px;
  }
}

.inquiry-strong-mail {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  margin: 17px 0 0;
}

@media screen and (min-width: 768px) {
  .inquiry-strong-mail {
    font-size: 2.2rem;
    margin: 30px 0 0 15px;
    padding-bottom: 10px;
    letter-spacing: -0.01rem;
  }
}

.inquiry-number {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 4.0625vw;
  margin: 2px 0 5px;
  padding-left: 15px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .inquiry-number {
    font-size: 2.2rem;
    margin: 2px 0 8px;
    padding-left: 20px;
  }
}

.inquiry-number:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\f095";
  font-family: FontAwesome;
}

@media screen and (min-width: 768px) {
  .inquiry-number:before {
    top: 2px;
    font-size: 2.0rem;
  }
}

.inquiry-text {
  font-size: 1.0rem;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .inquiry-text {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

.inquiry-button {
  width: 175px;
  height: 30px;
  margin: 5px 0 0 10px;
}

@media screen and (min-width: 768px) {
  .inquiry-button {
    width: 225px;
    height: 60px;
    margin: 20px 35px 0;
  }
}

.inquiry-button > a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 10px 0 8px;
  font-size: 1.1rem;
  text-align: center;
  color: #0264b9;
  border: 1px #0264b9 solid;
  border-radius: 3px;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
  background: -webkit-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);
}

@media screen and (min-width: 768px) {
  .inquiry-button > a {
    font-size: 1.4rem;
    padding: 20px 0;
    border: 1px #0264b9 solid;
    border-radius: 5px;
  }
}

.inquiry-button > a:hover {
  background: -webkit-linear-gradient(top, #e6e6e6 0%, #ffffff 100%);
  background: linear-gradient(to bottom, #e6e6e6 0%, #ffffff 100%);
}

.inquiry-button-text {
  position: relative;
  margin-left: -8px;
  font-weight: bold;
}

.inquiry-button-text:before {
  position: absolute;
  top: 50%;
  right: -11px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px white solid;
  border-right: 2px white solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -4px;
}

@media screen and (min-width: 768px) {
  .inquiry-button-text:before {
    right: -30px;
    width: 5px;
    height: 5px;
    border-top: 3px white solid;
    border-right: 3px white solid;
    margin-top: -5px;
  }
}

.inquiry-button-text:after {
  position: absolute;
  top: 50%;
  right: -15px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -7px;
}

@media screen and (min-width: 768px) {
  .inquiry-button-text:after {
    right: -35px;
    width: 16px;
    height: 16px;
    margin-top: -9px;
  }
}

.inquiry-note {
  font-size: 1.3rem;
  line-height: 1.5;
  margin-bottom: 40px;
  clear: both;
}

.inquiry-note > a {
  color: #0264b9;
  margin: 0 1px;
}

.inquiry-material {
  clear: both;
  margin: 33px 0 0;
  color: #e61e4d;
  font-size: 3.125vw;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .inquiry-material {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

.inquiry-material-text {
  font-weight: bold;
}

.inquiry-material-list li {
  position: relative;
  list-style-position: outside;
  margin-left: 15px;
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .inquiry-button-text {
    padding-bottom: 3px;
  }
}

.inquiryform {
  margin: 15px 0 100px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .inquiryform {
    margin: 40px 0 150px;
  }
}

.inquiryform-text {
  font-size: 3.125vw;
  margin: 0 0 25px;
  line-height: 1.5;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .inquiryform-text {
    font-size: 1.4rem;
  }
}

.inquiryform-text-must {
  font-size: 3.125vw;
  font-weight: bold;
  color: #e61e4d;
}

@media screen and (min-width: 768px) {
  .inquiryform-text-must {
    font-size: 1.4rem;
    margin-right: 80px;
    text-align: right;
  }
}

.inquiryform-text-strong {
  font-weight: bold;
  font-size: 3.4375vw;
  margin: 2px 0 10px;
}

@media screen and (min-width: 768px) {
  .inquiryform-text-strong {
    font-size: 2.0rem;
  }
}

.inquiryform-body {
  margin: 5px 0 30px;
}

@media screen and (min-width: 768px) {
  .inquiryform-body {
    margin: 10px 80px 60px 100px;
  }
}

.inquiryform-body dt {
  padding: 5px 0 3px;
  font-size: 3.4375vw;
}

@media screen and (min-width: 768px) {
  .inquiryform-body dt {
    width: 205px;
    font-size: 1.8rem;
    float: left;
    clear: both;
    letter-spacing: 0.01rem;
    line-height: 1.8;
    text-align: right;
  }
}

.inquiryform-body dt label {
  font-weight: bold;
}

.inquiryform-body dd {
  line-height: 1.5;
  font-size: 1.0rem;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .inquiryform-body dd {
    margin: 0 0 20px 235px;
  }
}

.inquiryform-body-confirm {
  border: 1px #c7d1da solid;
  background: #f7fafc;
  padding: 15px 10px;
  margin: -5px 0 35px;
  font-size: 3.4375vw;
}

@media screen and (min-width: 768px) {
  .inquiryform-body-confirm {
    margin: 0 60px;
    font-size: 1.8rem;
    padding: 40px;
  }
}

.inquiryform-body-confirm dt {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .inquiryform-body-confirm dt {
    width: 205px;
    float: left;
    clear: both;
    text-align: right;
  }
}

.inquiryform-body-confirm dd {
  margin: 8px 0 18px;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .inquiryform-body-confirm dd:last-child {
    margin: 8px 0 0;
  }
}

@media screen and (min-width: 768px) {
  .inquiryform-body-confirm dd {
    margin: 0 0 20px 235px;
    width: 600px;
  }
}

.inquiryform-must {
  font-weight: bold;
  color: #e61e4d;
  font-size: 1.2rem;
}

.inquiryform-input {
  background: #e4ebf1;
  border-radius: 3px;
  padding: 5px 10px;
  width: 100%;
  height: 35px;
}

@media screen and (min-width: 768px) {
  .inquiryform-input {
    height: 44px;
    padding: 8px 20px;
    font-size: 1.4rem;
  }
}

.inquiryform-dropdown {
  padding: 5px 40px 5px 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 35px;
  margin: 0 0 5px;
  font-size: 3.75vw;
  display: block;
  font-family: "Open Sans", sans-serif;
  border: none;
  border-radius: 3px;
  background: #e4ebf1 url(../img/inquiryform/btn_inquiryform_select_sp01.png) no-repeat right center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .inquiryform-dropdown {
    height: 44px;
    margin: 0;
    padding: 5px 40px 5px 20px;
    font-size: 1.4rem;
    background: #e4ebf1 url(../img/inquiryform/btn_inquiryform_select01.png) no-repeat right center;
  }
}

.inquiryform-textarea {
  background: #e4ebf1;
  border-radius: 3px;
  width: 100%;
  resize: vertical;
  padding: 10px;
}

@media screen and (min-width: 768px) {
  .inquiryform-textarea {
    height: 275px;
    font-size: 1.4rem;
    padding: 20px;
  }
}

.inquiryform-next {
  width: 110px;
  margin: 0 auto 5px;
}

@media screen and (min-width: 768px) {
  .inquiryform-next {
    width: 220px;
  }
}

.inquiryform-next-confirm {
  width: 80%;
  margin: 0 auto 5px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .inquiryform-next-confirm {
    width: 460px;
    margin: 0 auto;
  }
}

.inquiryform-button {
  width: 110px;
  height: 40px;
  box-sizing: border-box;
  display: block;
  padding: 13px 0;
  font-size: 1.1rem;
  text-align: center;
  color: #2d2d2d;
  border: none;
  border-radius: 3px;
  background: #f6d600;
}

@media screen and (min-width: 768px) {
  .inquiryform-button {
    width: 220px;
    height: 60px;
    margin: 35px auto;
    font-size: 1.8rem;
    padding: 0;
    box-shadow: 0px 1px 2px 1px #e8e7e7;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
  }
  .inquiryform-button:hover {
    color: #0264b9;
    box-shadow: 0px 2px 2px 1px #e8e7e7;
  }
  .inquiryform-button:hover .inquiryform-button-text:before {
    right: -44px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
  }
  .inquiryform-button:hover .inquiryform-button-text:after {
    right: -50px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
  }
}

.inquiryform-button-text {
  position: relative;
  margin-left: -8px;
  font-weight: bold;
  padding: 14px 0;
}

.inquiryform-button-text:before {
  position: absolute;
  top: 50%;
  right: -10px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px #e4ebf1 solid;
  border-right: 2px #e4ebf1 solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -3px;
}

@media screen and (min-width: 768px) {
  .inquiryform-button-text:before {
    right: -23px;
    width: 6px;
    height: 6px;
    border-top: 4px #e4ebf1 solid;
    border-right: 4px #e4ebf1 solid;
    margin-top: -4px;
  }
}

.inquiryform-button-text:after {
  position: absolute;
  top: 50%;
  right: -14px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -6px;
}

@media screen and (min-width: 768px) {
  .inquiryform-button-text:after {
    right: -30px;
    width: 20px;
    height: 20px;
    margin-top: -9px;
  }
}

.inquiryform-back {
  background: #e4ebf1;
  float: left;
  margin-right: 10px;
  padding: 15px 0;
  width: 45%;
}
.inquiryform-button-textb {
  width: 45%;
  padding: 14px 0;
}

@media screen and (min-width: 768px) {
  .inquiryform-back {
    width: 220px;
    height: 60px;
    margin: 35px auto;
    font-size: 1.8rem;
    padding: 22px 0 0;
    margin-right: 12px;
    box-shadow: 0px 1px 2px 1px #e8e7e7;
  }
  .inquiryform-back:hover {
    color: #0264b9;
    box-shadow: 0px 2px 2px 1px #e8e7e7;
  }
  .inquiryform-back:hover .inquiryform-back-text:before {
    left: -34px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
  }
  .inquiryform-back:hover .inquiryform-back-text:after {
    left: -40px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
  }
}

.inquiryform-back-text {
  position: relative;
  margin-left: 10px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .inquiryform-back-text {
    margin-left: 30px;
  }
}

.inquiryform-back-text:before {
  position: absolute;
  top: 50%;
  left: -9px;
  content: "";
  width: 4px;
  height: 4px;
  border-bottom: 2px #fff solid;
  border-left: 2px #fff solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -4px;
}


@media screen and (min-width: 768px) {
  .inquiryform-back-text:before {
    left: -23px;
    width: 6px;
    height: 6px;
    border-bottom: 4px #fff solid;
    border-left: 4px #fff solid;
    margin-top: -6px;
  }
}

.inquiryform-back-text:after {
  position: absolute;
  top: 50%;
  left: -13px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -7px;
}

@media screen and (min-width: 768px) {
  .inquiryform-back-text:after {
    left: -30px;
    width: 20px;
    height: 20px;
    margin-top: -11px;
  }
}

.inquiryform-finish {
  margin: 25px 0 180px;
}

@media screen and (min-width: 768px) {
  .inquiryform-finish {
    width: 670px;
    margin: 65px auto 180px;
  }
}

.inquiryform-finish-title {
  font-size: 4.0625vw;
  font-weight: bold;
  margin-bottom: 25px;
  letter-spacing: 0.05rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .inquiryform-finish-title {
    font-size: 2.0rem;
    margin-bottom: 40px;
  }
}

.inquiryform-finish-text {
  margin-bottom: 10px;
  line-height: 1.5;
  letter-spacing: 0.05rem;
  font-size: 3.125vw;
}

@media screen and (min-width: 768px) {
  .inquiryform-finish-text {
    font-size: 1.4rem;
    margin-bottom: 20px;
  }
}

.form {
  margin: 15px 0 100px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .form {
    margin: 0 80px 150px;
  }
}

.form-header {
  background: #2d2d2d;
  overflow: hidden;
  padding: 12px 0 5px;
}

@media screen and (min-width: 768px) {
  .form-header {
    padding: 27px 0 8px 20px;
  }
}

.form-logo {
  float: left;
}

.form-logo img {
  width: 190px;
}

@media screen and (min-width: 768px) {
  .form-logo img {
    width: 328px;
  }
}

.form-title {
  float: left;
  color: white;
  font-weight: bold;
  font-size: 1.7rem;
  letter-spacing: 0.01rem;
  margin-left: 8px;
  padding-top: 8px;
}

@media screen and (min-width: 768px) {
  .form-title {
    font-size: 3.0rem;
    margin-left: 20px;
    padding-top: 13px;
  }
}

.form-image {
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .form-image {
    margin-bottom: 60px;
  }
}

.form-image img {
  max-width: 100%;
}

.form-text {
  font-size: 3.125vw;
  margin: 0 0 25px;
  line-height: 1.5;
  letter-spacing: 0.01rem;
}

@media screen and (min-width: 768px) {
  .form-text {
    font-size: 1.4rem;
  }
}

.form-text-must {
  font-size: 1.0rem;
  font-weight: bold;
  color: #e61e4d;
}

@media screen and (min-width: 768px) {
  .form-text-must {
    font-size: 1.4rem;
    margin-left: 110px;
  }
}

.form-text-strong {
  font-weight: bold;
  font-size: 3.4375vw;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .form-text-strong {
    font-size: 2.0rem;
    margin-bottom: 20px;
  }
}

.form-body {
  margin: 15px 0 30px;
}

@media screen and (min-width: 768px) {
  .form-body {
    margin: 35px 110px 60px;
  }
}

.form-body dt {
  padding-left: 5px;
  font-size: 3.75vw;
  border-left: 3px #0264b9 solid;
  margin-bottom: 10px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .form-body dt {
    padding: 5px 0 3px 10px;
    font-size: 1.8rem;
    border-left: 5px #0264b9 solid;
    margin-bottom: 12px;
    letter-spacing: 0.01rem;
  }
}

.form-body dt label {
  font-weight: bold;
}

.form-body dd {
  line-height: 1.5;
  font-size: 3.125vw;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .form-body dd {
    margin: 0 0 30px 15px;
  }
}

.form-body-confirm {
  border: 1px #bfc3c3 solid;
  padding: 20px 15px;
  margin: 0 0 35px;
  font-size: 3.4375vw;
}

@media screen and (min-width: 768px) {
  .form-body-confirm {
    margin: 0;
    font-size: 1.8rem;
    padding: 40px;
  }
}

.form-body-confirm dt {
  padding: 2px 0 0 5px;
  font-size: 3.75vw;
  border-left: 3px #0264b9 solid;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .form-body-confirm dt {
    padding: 5px 0 3px 10px;
    font-size: 1.8rem;
    border-left: 5px #0264b9 solid;
    margin-bottom: 12px;
    letter-spacing: 0.01rem;
  }
}

.form-body-confirm dt label {
  font-weight: bold;
}

.form-body-confirm dd {
  line-height: 1.5;
  font-size: 3.75vw;
  margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
  .form-body-confirm dd {
    margin: 0 0 30px 15px;
    font-size: 1.8rem;
  }
}

.form-must {
  font-weight: bold;
  color: #e61e4d;
  font-size: 1.5rem;
}

.form-input {
  border: 1px #bfc3c3 solid;
  border-radius: 3px;
  padding: 5px 10px;
  width: 100%;
  height: 29px;
  -webkit-appearance: none;
}

@media screen and (min-width: 768px) {
  .form-input {
    width: 520px;
    height: 42px;
    padding: 8px 20px;
    font-size: 1.4rem;
  }
}

.form-input-short {
  border: 1px #bfc3c3 solid;
  border-radius: 3px;
  padding: 5px 10px;
  width: 50%;
  height: 29px;
  -webkit-appearance: none;
}

@media screen and (min-width: 768px) {
  .form-input-short {
    width: 210px;
    height: 44px;
    padding: 8px 20px;
    font-size: 1.4rem;
    border-radius: 0;
  }
}

.form-input-very-short {
  border: 1px #bfc3c3 solid;
  border-radius: 3px;
  padding: 5px 10px;
  width: 25%;
  height: 29px;
  -webkit-appearance: none;
}

@media screen and (min-width: 768px) {
  .form-input-very-short {
    width: 100px;
    height: 44px;
    padding: 8px 20px;
    font-size: 1.4rem;
    border-radius: 0;
  }
}

.form-input-radio, .form-input-check {
  margin-right: 5px;
}

@media screen and (min-width: 768px) {
  .form-input-radio, .form-input-check {
    margin-right: 15px;
    vertical-align: 0.2rem;
  }
}

.form-input-radio {
  position: relative;
  top: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  content: '';
  background-color: #f7f7f7;
  border: 1px #cccfcf solid;
  border-radius: 12px;
  vertical-align: middle;
  cursor: pointer;
  box-shadow: none;
}

@media screen and (min-width: 768px) {
  .form-input-radio {
    width: 24px;
    height: 24px;
  }
}

.form-input-radio:checked:after {
  display: block;
  position: absolute;
  top: -1px;
  left: -1px;
  content: "";
  width: 16px;
  height: 16px;
  background: #2d2d2d;
  border-radius: 12px;
}

@media screen and (min-width: 768px) {
  .form-input-radio:checked:after {
    width: 24px;
    height: 24px;
  }
}

.form-input-check {
  position: relative;
  top: -1px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  content: '';
  background-color: #f7f7f7;
  border: 1px #cccfcf solid;
  border-radius: 4px;
  vertical-align: middle;
  cursor: pointer;
  box-shadow: none;
}

@media screen and (min-width: 768px) {
  .form-input-check {
    width: 24px;
    height: 24px;
  }
}

.form-input-check:checked::before {
  content: "\f00c";
  font-family: FontAwesome;
  position: absolute;
  left: 0;
  top: -2px;
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .form-input-check:checked::before {
    left: 1px;
    top: -1px;
    font-size: 2.1rem;
  }
}

.form-dropdown {
  padding: 5px 40px 5px 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 29px;
  font-size: 1.2rem;
  display: block;
  font-family: "Open Sans", sans-serif;
  border: none;
  border-radius: 3px;
  border: 1px #bfc3c3 solid;
  background: url(../img/form/btn_form_sp01.png) no-repeat right center;
  background-size: 23px 30px;
  position: relative;
  display: inline;
}

@media screen and (min-width: 768px) {
  .form-dropdown {
    width: 520px;
    height: 42px;
    margin: 0;
    padding: 5px 40px 5px 20px;
    font-size: 1.4rem;
    background: url(../img/form/btn_form01.png) no-repeat right center;
    display: inline;
  }
}

.form-textarea {
  border: 1px #bfc3c3 solid;
  border-radius: 3px;
  width: 100%;
  resize: vertical;
  padding: 10px;
}

@media screen and (min-width: 768px) {
  .form-textarea {
    height: 275px;
    font-size: 1.4rem;
    padding: 20px;
  }
}

.form-line {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .form-line {
    border-top: 1px #bfc3c3 solid;
    border-left: 1px #bfc3c3 solid;
    border-right: 1px #bfc3c3 solid;
    border-radius: 2px;
    width: 100%;
    height: 38px;
    padding: 12px 2% 0;
    margin: 0;
    font-size: 1.1rem;
  }
  .form-line:last-child {
    border: 1px #bfc3c3 solid;
  }
}

@media screen and (min-width: 768px) {
  .form-line {
    display: inline;
    margin-right: 30px;
  }
}

@media screen and (min-width: 768px) {
  .form-line-line-check {
    font-size: 1.8rem;
  }
}

.form-next {
  width: 110px;
  margin: 0 auto 5px;
}

@media screen and (min-width: 768px) {
  .form-next {
    width: 220px;
  }
}

.form-next-confirm {
  width: 235px;
  margin: 0 auto 5px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .form-next-confirm {
    width: 460px;
    margin: 0 auto;
  }
}

.form-next-finish {
  width: 200px;
  margin: 0 auto 5px;
}

@media screen and (min-width: 768px) {
  .form-next-finish {
    width: 370px;
    margin: 0 auto;
  }
}

.form-button {
  width: 110px;
  height: 40px;
  display: block;
  padding: 14px 0;
  font-size: 1.1rem;
  text-align: center;
  color: #2d2d2d;
  border: none;
  border-radius: 3px;
  background: #f6d600;
}

@media screen and (min-width: 768px) {
  .form-button {
    width: 220px;
    height: 60px;
    margin: 55px auto 0;
    font-size: 1.8rem;
    letter-spacing: -0.02rem;
    padding: 0;
    box-shadow: 0px 1px 2px 1px #e8e7e7;
  }
  .form-button:hover {
    color: #0264b9;
    box-shadow: 0px 2px 2px 1px #e8e7e7;
  }
  .form-button:hover .form-button-text:before {
    right: -34px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .form-button:hover .form-button-text:after {
    right: -40px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

.form-button-text {
  position: relative;
  margin-left: -8px;
  font-weight: bold;
}

.form-button-text:before {
  position: absolute;
  top: 50%;
  right: -10px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px #f6d600 solid;
  border-right: 2px #f6d600 solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -3px;
}

@media screen and (min-width: 768px) {
  .form-button-text:before {
    right: -23px;
    width: 6px;
    height: 6px;
    border-top: 4px #f6d600 solid;
    border-right: 4px #f6d600 solid;
    margin-top: -4px;
  }
}

.form-button-text:after {
  position: absolute;
  top: 50%;
  right: -14px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -6px;
}

@media screen and (min-width: 768px) {
  .form-button-text:after {
    right: -30px;
    width: 20px;
    height: 20px;
    margin-top: -9px;
  }
}

.form-back {
  background: #e4ebf1;
  float: left;
  margin-right: 10px;
  padding: 15px 0;
}

@media screen and (min-width: 768px) {
  .form-back {
    width: 220px;
    height: 60px;
    margin: 55px auto 0;
    font-size: 1.8rem;
    padding: 22px 0 0;
    margin-right: 12px;
    box-shadow: 0px 1px 2px 1px #e8e7e7;
  }
  .form-back:hover {
    color: #0264b9;
    box-shadow: 0px 2px 2px 1px #e8e7e7;
  }
  .form-back:hover .form-back-text:before {
    left: -34px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .form-back:hover .form-back-text:after {
    left: -40px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

.form-back-text {
  position: relative;
  margin-left: 10px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .form-back-text {
    margin-left: 30px;
  }
}

.form-back-text:before {
  position: absolute;
  top: 50%;
  left: -10px;
  content: "";
  width: 4px;
  height: 4px;
  border-bottom: 2px white solid;
  border-left: 2px white solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 2;
  margin-top: -3px;
}

@media screen and (min-width: 768px) {
  .form-back-text:before {
    left: -23px;
    width: 6px;
    height: 6px;
    border-bottom: 4px white solid;
    border-left: 4px white solid;
    margin-top: -6px;
  }
}

.form-back-text:after {
  position: absolute;
  top: 50%;
  left: -14px;
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 15px;
  background: #0264b9;
  z-index: 1;
  margin-top: -6px;
}

@media screen and (min-width: 768px) {
  .form-back-text:after {
    left: -30px;
    width: 20px;
    height: 20px;
    margin-top: -11px;
  }
}

.form-top {
  width: 200px;
  height: 40px;
}

@media screen and (min-width: 768px) {
  .form-top {
    font-size: 2.2rem;
    width: 370px;
    height: 80px;
    margin-top: 45px;
    padding: 32px 0 0;
  }
}

.form-finish {
  margin: 25px 0 180px;
}

@media screen and (min-width: 768px) {
  .form-finish {
    overflow: hidden;
    margin: 40px auto 190px;
    padding: 0 80px;
  }
}

.form-finish-text {
  font-size: 3.75vw;
  font-weight: bold;
  margin: 40px 0;
  color: #0264b9;
  letter-spacing: 0.05rem;
  line-height: 1.3;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .form-finish-text {
    font-size: 2.6rem;
    margin: -10px 0 0;
    line-height: 3;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .form-button-text {
    padding-top: 3px;
  }
}

@media screen and (min-width: 768px) {
  _:-ms-lang(x), _::-webkit-meter-bar, .form-back-text {
    padding-bottom: 3px;
  }
}