@charset "UTF-8";
                /*!
* ress.css v1.2.2
* MIT License
* github.com/filipelinhares/ress
*/
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%; }

*, ::after, ::before {
  background-repeat: no-repeat;
  box-sizing: inherit; }

::after, ::before {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  padding: 0;
  margin: 0; }

audio:not([controls]) {
  display: none;
  height: 0; }

hr {
  overflow: visible; }

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block; }

summary {
  display: block;
  display: list-item; }

small {
  font-size: 80%; }

[hidden], template {
  display: none; }

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none; }

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects; }
  a:active, a:hover {
    outline-width: 0; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

b, strong {
  font-weight: bolder; }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

input {
  border-radius: 0; }

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer; }

[disabled] {
  cursor: default; }

[type=number] {
  width: auto; }

[type=search] {
  -webkit-appearance: textfield; }
  [type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
    -webkit-appearance: none; }

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

optgroup {
  font-weight: 700; }

button {
  overflow: visible; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: 0;
  padding: 0; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button; }

button, select {
  text-transform: none; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }
  select::-ms-expand {
    display: none; }
  select::-ms-value {
    color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

svg:not(:root) {
  overflow: hidden; }

audio, canvas, progress, video {
  display: inline-block; }

@media screen {
  [hidden~=screen] {
    display: inherit; }
    [hidden~=screen]:not(:active):not(:focus):not(:target) {
      position: absolute !important;
      clip: rect(0 0 0 0) !important; } }
[aria-busy=true] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled] {
  cursor: default; }

::-moz-selection, ::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none; }

body {
  font-family: -apple-system,BlinkMacSystemFont,Roboto,'游ゴシック体',YuGothic,'Yu Gothic Medium',sans-serif;
  font-feature-settings: 'palt' 1; }

strong {
  font-family: -apple-system,BlinkMacSystemFont,Roboto,'游ゴシック体',YuGothic,'Yu Gothic',sans-serif;
  font-feature-settings: 'palt' 1;
  font-weight: 700; }

.checkbox, .drawer__button, .input, .radio, .select select, .textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: 0 0;
  border: none;
  border-radius: 0;
  margin: 0;
  outline: 0;
  padding: 0; }

.button, .button2 {
  -moz-user-select: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  display: inline-block;
  outline: 0;
  overflow: hidden;
  text-decoration: none; }

.icon-bars3 {
  height: 24px;
  position: relative;
  width: 24px; }
  .icon-bars3 .bar, .icon-bars3::after, .icon-bars3::before {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: #333;
    content: '';
    height: 2px;
    left: 0;
    width: 24px;
    overflow: hidden;
    position: absolute;
    transition: all .3s;
    will-change: transform; }

body {
  background-color: #f5f5f5;
  color: #333;
  font-size: 16px; }

* {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

p {
  line-height: 1.8;
  margin-top: 1em;
  font-size: 18px; }

@media print, screen and (min-width: 1024px) {
  p {
    font-size: 18px; } }
a {
  color: #00c8de; }

img {
  vertical-align: bottom; }

svg {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden; }

.header {
  display: flex;
  justify-content: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 8; }
  .header::before {
    background-color: #f5f5f5;
    content: '';
    display: block;
    left: 0;
    height: 88px;
    position: absolute;
    opacity: .9;
    top: 0;
    width: 100%;
    z-index: -1; }

@media print, screen and (min-width: 1024px) {
  .header {
    background-color: transparent; } }
@media print, screen and (min-width: 1024px) {
  .header::before {
    bottom: -32px;
    display: none;
    height: 72px; } }
.header__body {
  padding: 56px 12px 0 12px;
  width: 100%; }

@media print, screen and (min-width: 1024px) {
  .header__body {
    display: flex;
    padding: 32px 24px 0 24px; } }
@media print, screen and (min-width: 1280px) {
  .header__body {
    padding: 32px 12px 0 12px;
    width: 1120px; } }
@media print, screen and (min-width: 1024px) {
  .header__nav {
    flex: 1;
    padding-right: 8px;
    position: relative; } }
.header__contact {
  position: absolute;
  right: 54px;
  top: 10px;
  text-align: center; }
  .header__contact > a {
    line-height: 1;
    text-decoration: none;
    color: #333; }
  .header__contact svg {
    fill: #333;
    height: 26px;
    width: 26px; }

@media print, screen and (min-width: 1024px) {
  .header__contact {
    font-weight: 700;
    padding-left: 8px;
    position: relative;
    top: auto;
    right: auto;
    width: 260px; } }
@media print, screen and (min-width: 1024px) {
  .header__contact > a {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 0 12px rgba(51, 51, 51, 0.2);
    color: #00c8de;
    height: 80px;
    color: #fff;
    background-color: #00c8de; } }
@media print, screen and (min-width: 1024px) {
  .header__contact svg {
    height: 40px;
    width: 40px;
    margin-right: 8px;
    fill: #fff; } }
.header__contact__label {
  display: block;
  font-size: 10px;
  letter-spacing: -1px;
  line-height: 1;
  margin-top: -3px;
  font-weight: 700; }

@media print, screen and (min-width: 1024px) {
  .header__contact__label {
    display: inline-block;
    font-size: 20px;
    letter-spacing: 0;
    margin-top: 0; } }
.header__brand {
  position: absolute;
  left: 12px;
  top: 18px; }

@media print, screen and (min-width: 1024px) {
  .header__brand {
    display: none;
    left: auto;
    width: 240px;
    position: relative;
    top: auto; } }
.footer__copyright {
  border-top: 1px solid #dfdfdf;
  font-size: 14px;
  margin-top: 32px;
  padding: 24px 0 96px 0;
  text-align: center; }

@media print, screen and (min-width: 1024px) {
  .footer__copyright {
    margin-top: 64px;
    padding: 32px 0 160px 0; } }
.anchor--card {
  text-decoration: none; }
  .anchor--card .card__meta {
    color: #00c8de; }
    .anchor--card .card__meta .icon::before {
      border-right-color: #00c8de;
      border-bottom-color: #00c8de; }
    .anchor--card .card__meta .icon::after {
      background-color: #00c8de; }

.anchor--cta {
  text-decoration: none;
  color: #555; }

.badge {
  background-color: #ccc;
  border-radius: 4px;
  color: #fff;
  font-family: Roboto,sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  min-width: 18px;
  min-height: 18px;
  padding: 5px 7px;
  white-space: nowrap;
  vertical-align: middle;
  display: inline-block;
  margin-top: -4px; }

.badge--pill {
  border-radius: 10px; }

.badge--SM {
  border-radius: 3px;
  font-size: 10px;
  font-weight: 400;
  min-height: 13px;
  min-width: 13px;
  padding: 3px 5.4px; }
  .badge--SM.badge--pill {
    border-radius: 8px; }

.badge--primary {
  background-color: #00c8de; }

.badge--secondary {
  background-color: #4682b4; }

.badge--tertiary {
  background-color: #708090; }

.badge--sup {
  margin-top: -8px;
  vertical-align: super; }

.banner {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  display: block;
  padding: 4px;
  width: 100%; }
  .banner img {
    display: block;
    height: auto;
    width: 100%; }
  .banner + .banner {
    margin-top: 16px; }

.body--fixed {
  position: fixed;
  width: 100%; }

.box {
  background-color: #fff;
  border-radius: 6px;
  padding: 12px;
  position: relative; }

@media print, screen and (min-width: 1024px) {
  .box {
    padding: 24px; } }
.box--pale {
  background-color: #f5f5f5; }

.box--bordered {
  padding: 20px;
  border: 1px solid #dfdfdf; }

@media print, screen and (min-width: 1024px) {
  .box--bordered {
    padding: 24px; } }
.box__heading {
  position: absolute;
  top: -12px;
  left: 16px;
  display: inline-block;
  border-radius: 4px;
  font-size: 14px;
  padding: 6px 8px;
  font-weight: 400;
  color: #fff;
  background-color: #444;
  line-height: 1; }

.box-content {
  background-color: #fff;
  border-top: 12px solid #eee;
  margin-left: -24px;
  margin-right: -24px; }
  .box-content:last-child {
    border-bottom: 12px solid #eee; }

@media print, screen and (min-width: 1024px) {
  .box-content:last-child {
    border-bottom: 1px solid #dfdfdf; } }
@media print, screen and (min-width: 1024px) {
  .box-content {
    background-color: #fff;
    border: 1px solid #dfdfdf;
    border-radius: 8px;
    margin-left: 0;
    margin-right: 0;
    margin-top: 64px;
    position: relative; } }
.box-content__header {
  padding: 24px;
  position: relative;
  overflow: hidden; }
  .box-content__header::before {
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
    display: block;
    content: '';
    width: 6px;
    height: 28px;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -14px;
    background-color: #00c8de; }

@media print, screen and (min-width: 1024px) {
  .box-content__header {
    border-bottom: 1px solid #dfdfdf;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    padding: 32px; } }
@media print, screen and (min-width: 1024px) {
  .box-content__header::before {
    width: 8px;
    height: 48px;
    left: -1px;
    margin-top: -24px; } }
.box-content__heading {
  line-height: 1.25;
  font-size: 20px; }

@media print, screen and (min-width: 1024px) {
  .box-content__heading {
    font-size: 24px; } }
.box-content__subheading {
  line-height: 1.25;
  font-size: 16px;
  font-weight: 700; }

@media print, screen and (min-width: 1024px) {
  .box-content__subheading {
    font-size: 18px; } }
.box-content__body {
  padding: 0 24px 24px 24px; }

@media print, screen and (min-width: 1024px) {
  .box-content__body {
    padding: 32px 32px 32px 32px; } }
.box-content__footer {
  border-top: 1px solid #dfdfdf;
  padding: 16px 24px; }

@media print, screen and (min-width: 1024px) {
  .box-content__footer {
    padding: 24px 32px; } }
.box-content__meta {
  color: #555;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-align: right; }
  .box-content__meta a {
    text-decoration: none;
    color: #00c8de; }
  .box-content__meta .icon {
    margin-left: 8px;
    vertical-align: .08em; }
    .box-content__meta .icon::before {
      border-right-color: #00c8de;
      border-bottom-color: #00c8de; }
    .box-content__meta .icon::after {
      background-color: #00c8de; }

@media print, screen and (min-width: 1024px) {
  .box-content__meta a:hover {
    text-decoration: underline; } }
@media print, screen and (min-width: 1024px) {
  .box-content__meta {
    font-size: 16px; } }
.box-content--border-less {
  border-top: 0; }

@media print, screen and (min-width: 1024px) {
  .box-content--border-less {
    border-top: 1px solid #dfdfdf; } }
@media print, screen and (min-width: 1024px) {
  .box-content__text-LG {
    font-size: 28px;
    font-weight: 700; } }
.box-content .postit {
  background-color: #f5f5f5; }

.box-content--campaign {
  background-color: #3e81b3;
  border: 0;
  color: #fff;
  text-align: center; }
  .box-content--campaign .separator {
    border-bottom: 1px dotted #83b1d4; }
  .box-content--campaign .box-content__header {
    border-bottom: 1px solid #70a6cd;
    padding: 32px; }
    .box-content--campaign .box-content__header::before {
      display: none; }
  .box-content--campaign .box-content__heading {
    font-size: 24px; }
  .box-content--campaign p {
    font-size: 24px;
    line-height: 1; }
  .box-content--campaign .box-content__lead {
    font-size: 24px;
    line-height: 1.5; }
  .box-content--campaign .box-content__price {
    display: inline-block;
    letter-spacing: -2px;
    margin-left: 12px; }
  .box-content--campaign .box-content__price--default {
    font-size: 40px;
    text-decoration: line-through; }
  .box-content--campaign .box-content__price--campaign {
    font-size: 68px; }
  .box-content--campaign .box-content__label {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 12px;
    line-height: 1;
    background-color: #f0be19;
    border-bottom-right-radius: 8px; }
  .box-content--campaign .box-content__footer {
    border-top: 1px solid #70a6cd; }
  .box-content--campaign .button--more {
    background-color: #f0be19; }
    .box-content--campaign .button--more:hover {
      background-color: #00c8de; }

@media print, screen and (min-width: 1024px) {
  .box-content--campaign .separator {
    border-bottom: 0;
    border-right: 1px dotted #83b1d4; } }
@media print, screen and (min-width: 1024px) {
  .box-content--campaign .box-content__header {
    padding: 48px; } }
@media print, screen and (min-width: 1024px) {
  .box-content--campaign .box-content__heading {
    font-size: 48px;
    line-height: 1.2; } }
@media print, screen and (min-width: 1024px) {
  .box-content--campaign .box-content__lead {
    font-size: 40px;
    line-height: 1.5; } }
@media print, screen and (min-width: 1024px) {
  .box-content--campaign .box-content__price--default {
    font-size: 56px; } }
@media print, screen and (min-width: 1024px) {
  .box-content--campaign .box-content__price--campaign {
    font-size: 72px; } }
@media print, screen and (min-width: 1024px) {
  .box-content--campaign .box-content__label {
    font-size: 40px;
    padding: 20px; } }
.brand__logo {
  width: 136px;
  height: 21px; }

@media print, screen and (min-width: 1024px) {
  .brand__logo {
    width: 176px;
    height: 27px; } }
.button {
  display: inline-flex;
  justify-content: center;
  background-color: #ccc;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 10px 24px;
  position: relative;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap; }
  .button .icon-chevron::before {
    border-color: #fff; }
  .button .svg {
    fill: #fff; }

@media print, screen and (min-width: 1024px) {
  .button {
    cursor: pointer;
    font-size: 14px;
    padding: 12px 32px; } }
@media print, screen and (min-width: 1024px) {
  .button:hover {
    background-color: #00c8de; } }
.button--SM {
  font-size: 10px;
  padding: 8px 20px; }

@media print, screen and (min-width: 1024px) {
  .button--SM {
    font-size: 12px;
    padding: 10px 24px; } }
.button--XS {
  font-size: 9px;
  padding: 5px 14px; }
  .button--XS + .button--XS {
    margin-left: 4px; }

.button--LG {
  font-size: 14px;
  padding: 12px 32px; }

@media print, screen and (min-width: 1024px) {
  .button--LG {
    font-size: 16px;
    padding: 16px 40px; } }
.button--XLG {
  font-size: 16px;
  padding: 16px 40px; }

@media print, screen and (min-width: 1024px) {
  .button--XLG {
    font-size: 24px;
    padding: 24px 56px; } }
.button--text {
  background-color: transparent;
  padding: 0;
  color: #333; }
  .button--text:hover {
    background-color: transparent; }
  .button--text .icon {
    margin-left: 4px; }
    .button--text .icon::before {
      border-color: #333; }

.button--round {
  border-radius: 5px; }

.button--pill {
  border-radius: 100px; }

.button--primary {
  background-color: #00c8de; }

@media print, screen and (min-width: 1024px) {
  .button--primary:hover {
    background-color: #4682b4; } }
.button--secondary {
  background-color: #4682b4; }

@media print, screen and (min-width: 1024px) {
  .button--secondary:hover {
    background-color: #00c8de; } }
.button--tertiary {
  background-color: #708090; }

@media print, screen and (min-width: 1024px) {
  .button--tertiary:hover {
    background-color: #00c8de; } }
.button--outline {
  background-color: #fff;
  border: 1px solid #ddd;
  color: #bbb; }
  .button--outline:hover {
    background-color: transparent;
    border-color: #00c8de;
    color: #00c8de; }
    .button--outline:hover .icon-chevron::before {
      border-color: #00c8de; }
  .button--outline.button--primary {
    border-color: #00c8de;
    color: #00c8de; }
  .button--outline.button--secondary {
    border-color: #4682b4;
    color: #4682b4; }
  .button--outline.button--tertiary {
    border-color: #708090;
    color: #708090; }
  .button--outline .icon-chevron::before {
    border-color: #aaa; }

.button--icon_R {
  padding-right: 32px; }
  .button--icon_R .icon {
    position: absolute;
    right: 8px; }
  .button--icon_R.button--XS {
    padding-right: 20px; }
    .button--icon_R.button--XS .icon {
      right: 6px; }
  .button--icon_R.button--XLG {
    padding-right: 48px; }

@media print, screen and (min-width: 1024px) {
  .button--icon_R {
    padding-right: 40px; } }
@media print, screen and (min-width: 1024px) {
  .button--icon_R .icon {
    right: 12px; } }
@media print, screen and (min-width: 1024px) {
  .button--icon_R.button--XS {
    padding-right: 22px; } }
@media print, screen and (min-width: 1024px) {
  .button--icon_R.button--XS .icon {
    right: 8px; } }
@media print, screen and (min-width: 1024px) {
  .button--icon_R.button--XLG {
    padding-right: 72px; } }
.button--icon_L {
  padding-left: 32px; }
  .button--icon_L .icon {
    left: 8px;
    position: absolute; }

@media print, screen and (min-width: 1024px) {
  .button--icon_L {
    padding-left: 40px; } }
@media print, screen and (min-width: 1024px) {
  .button--icon_L .icon {
    left: 12px; } }
.button--circle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  color: #ddd;
  font-size: 24px;
  font-weight: 700;
  height: 40px;
  padding: 0;
  width: 40px; }
  .button--circle:hover {
    background-color: #f1f1f1;
    color: #999; }
    .button--circle:hover .svg {
      fill: #999; }
  .button--circle .svg {
    fill: #ccc; }

.button--detail {
  font-size: 16px;
  background-color: #00c8de; }
  .button--detail .icon {
    margin-top: -5px;
    position: absolute;
    right: 12px !important;
    top: 50%;
    transform: scale(1.2) rotate(-90deg); }
    .button--detail .icon:before {
      border-color: #fff; }
    .button--detail .icon:after {
      background-color: #fff; }
  .button--detail:hover {
    background-color: #f0be19; }

@media print, screen and (min-width: 1024px) {
  .button--detail .icon {
    margin-top: -5px;
    position: absolute;
    right: 16px !important;
    top: 50%;
    transform: scale(1.6) rotate(-90deg); } }
.button--more {
  font-weight: 700; }
  .button--more .icon {
    position: absolute;
    margin-top: -6px;
    top: 50%;
    right: 20px;
    transform: scale(1.8) rotate(-90deg); }
    .button--more .icon:before {
      border-color: #fff; }
    .button--more .icon:after {
      background-color: #fff; }
  .button--more:hover {
    background-color: #f0be19; }

@media print, screen and (min-width: 1024px) {
  .button--more .icon {
    margin-top: -6px;
    top: 50%;
    right: 32px;
    transform: scale(2.4) rotate(-90deg); } }
.button--floating {
  display: block;
  border: 4px solid #fff;
  background-color: #f0be19;
  position: absolute;
  top: 0;
  left: 50%;
  padding: 12px 0;
  font-size: 18px;
  font-weight: 700;
  width: 240px;
  margin-left: -120px;
  box-shadow: 0 0 12px rgba(51, 51, 51, 0.35); }
  .button--floating svg {
    width: 28px;
    height: 28px;
    fill: #fff;
    margin-right: 8px;
    display: inline-block;
    vertical-align: -.42em; }

@media print, screen and (min-width: 1024px) {
  .button--floating {
    border-width: 5px;
    padding: 16px 0;
    width: 440px;
    font-size: 32px;
    margin-left: -220px;
    box-shadow: 0 0 16px rgba(51, 51, 51, 0.35); } }
@media print, screen and (min-width: 1024px) {
  .button--floating:hover {
    background-color: #00c8de; } }
@media print, screen and (min-width: 1024px) {
  .button--floating svg {
    width: 48px;
    height: 48px;
    margin-right: 12px;
    vertical-align: -.36em; } }
.button2 {
  background-color: #ccc;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 12px 24px;
  position: relative;
  vertical-align: middle;
  white-space: nowrap; }

@media print, screen and (min-width: 1024px) {
  .button2 {
    cursor: pointer;
    font-size: 14px;
    padding: 12px 32px; } }
.button2--pill {
  border-radius: 100px; }

.button2--round {
  border-radius: 4px; }

.button2--XS {
  font-size: 9px;
  padding: 8px 16px; }

@media print, screen and (min-width: 1024px) {
  .button2--XS {
    font-size: 10px;
    padding: 10px 20px; } }
.button2--SM {
  font-size: 10px;
  padding: 10px 20px; }

@media print, screen and (min-width: 1024px) {
  .button2--SM {
    font-size: 12px;
    padding: 10px 24px; } }
.button2--LG {
  font-size: 16px;
  padding: 16px 32px; }

@media print, screen and (min-width: 1024px) {
  .button2--LG {
    font-size: 20px;
    padding: 20px 40px; } }
.button2--XLG {
  font-size: 18px;
  padding: 20px 36px; }

@media print, screen and (min-width: 1024px) {
  .button2--XLG {
    font-size: 28px;
    padding: 28px 52px; } }
.card {
  background-color: #fff;
  border: 1px solid #dfdfdf;
  position: relative;
  border-radius: 6px; }

.card__header {
  border-bottom: 1px solid #dfdfdf;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  line-height: 1;
  padding: 20px 0 20px 20px; }

@media print, screen and (min-width: 1024px) {
  .card__header {
    padding: 28px 0 28px 28px; } }
.card__heading {
  color: #333;
  display: inline;
  font-size: 20px;
  line-height: 1.2; }

.card__heading--SM {
  font-size: 14px; }

@media print, screen and (min-width: 1024px) {
  .card__heading--SM {
    font-size: 16px; } }
.card__subheading {
  font-size: 15px;
  margin-bottom: 12px; }

@media print, screen and (min-width: 1024px) {
  .card__subheading {
    font-size: 16px; } }
.card__body {
  color: #333;
  padding: 20px;
  position: relative; }
  .card__body p {
    font-size: 16px;
    line-height: 1.5; }
    .card__body p:first-child {
      margin-top: 0; }

@media print, screen and (min-width: 1024px) {
  .card__body {
    padding: 24px; } }
.card__img {
  position: relative; }
  .card__img::before {
    content: '';
    display: block;
    padding-top: 41.333%; }
  .card__img img {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.card__label {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: -40px;
  right: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 4px;
  line-height: 1.2;
  background-color: #fa4ba0;
  border-radius: 50%;
  text-align: center;
  width: 80px;
  height: 80px; }
  .card__label::after {
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 8px;
    left: 50%;
    margin-left: -4px; }

.card__footer {
  border-top: 1px solid #dfdfdf;
  padding: 12px;
  width: 100%; }

@media print, screen and (min-width: 1024px) {
  .card__footer {
    padding: 16px 12px; } }
.card__footer--C {
  border-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 24px 0; }

@media print, screen and (min-width: 1024px) {
  .card__footer--C {
    padding: 0 0 24px 0; } }
.card__meta {
  color: #555;
  font-size: 12px;
  line-height: 1;
  text-align: right;
  font-weight: 700; }
  .card__meta a {
    color: #555;
    text-decoration: none; }
  .card__meta .icon {
    margin-left: 8px; }

.checkbox {
  display: none; }
  .checkbox + .label:after {
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    border-right: 4px solid tomato;
    border-bottom: 4px solid tomato;
    content: '';
    display: none;
    height: 14px;
    left: 7px;
    margin-top: -7px;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 10px; }
  .checkbox + .label:before {
    border: 2px solid #ccc;
    border-radius: 3px;
    content: '';
    height: 24px;
    left: 0;
    top: 0;
    position: absolute;
    width: 24px; }
  .checkbox:checked + .label:before {
    border-color: tomato; }
  .checkbox:checked + .label:after {
    display: block; }

.col--10\@XS, .col--11\@XS, .col--12\@XS, .col--1\@XS, .col--2\@XS, .col--3\@XS, .col--4\@XS, .col--5\@XS, .col--6\@XS, .col--7\@XS, .col--8\@XS, .col--9\@XS {
  flex: 0 0 auto;
  position: relative; }

.col--first\@XS {
  order: -1; }

.col--last\@XS {
  order: 1; }

.col--1\@XS {
  flex-basis: 8.33333%;
  max-width: 8.33333%; }

.col--2\@XS {
  flex-basis: 16.66667%;
  max-width: 16.66667%; }

.col--3\@XS {
  flex-basis: 25%;
  max-width: 25%; }

.col--4\@XS {
  flex-basis: 33.33333%;
  max-width: 33.33333%; }

.col--5\@XS {
  flex-basis: 41.66667%;
  max-width: 41.66667%; }

.col--6\@XS {
  flex-basis: 50%;
  max-width: 50%; }

.col--7\@XS {
  flex-basis: 58.33333%;
  max-width: 58.33333%; }

.col--8\@XS {
  flex-basis: 66.66667%;
  max-width: 66.66667%; }

.col--9\@XS {
  flex-basis: 75%;
  max-width: 75%; }

.col--10\@XS {
  flex-basis: 83.33333%;
  max-width: 83.33333%; }

.col--11\@XS {
  flex-basis: 91.66667%;
  max-width: 91.66667%; }

.col--12\@XS {
  flex-basis: 100%;
  max-width: 100%; }

.col--1--offset\@XS {
  margin-left: 8.33333%; }

.col--2--offset\@XS {
  margin-left: 16.66667%; }

.col--3--offset\@XS {
  margin-left: 25%; }

.col--4--offset\@XS {
  margin-left: 33.33333%; }

.col--5--offset\@XS {
  margin-left: 41.66667%; }

.col--6--offset\@XS {
  margin-left: 50%; }

.col--7--offset\@XS {
  margin-left: 58.33333%; }

.col--8--offset\@XS {
  margin-left: 66.66667%; }

.col--9--offset\@XS {
  margin-left: 75%; }

.col--10--offset\@XS {
  margin-left: 83.33333%; }

.col--11--offset\@XS {
  margin-left: 91.66667%; }

.col--12--offset\@XS {
  margin-left: 100%; }

@media print, screen and (min-width: 480px) {
  .col--10\@SM, .col--11\@SM, .col--12\@SM, .col--1\@SM, .col--2\@SM, .col--3\@SM, .col--4\@SM, .col--5\@SM, .col--6\@SM, .col--7\@SM, .col--8\@SM, .col--9\@SM {
    flex: 0 0 auto;
    position: relative; }

  .col--first\@SM {
    order: -1; }

  .col--last\@SM {
    order: 1; }

  .col--1\@SM {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }

  .col--2\@SM {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }

  .col--3\@SM {
    flex-basis: 25%;
    max-width: 25%; }

  .col--4\@SM {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }

  .col--5\@SM {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }

  .col--6\@SM {
    flex-basis: 50%;
    max-width: 50%; }

  .col--7\@SM {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }

  .col--8\@SM {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }

  .col--9\@SM {
    flex-basis: 75%;
    max-width: 75%; }

  .col--10\@SM {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }

  .col--11\@SM {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }

  .col--12\@SM {
    flex-basis: 100%;
    max-width: 100%; }

  .col--1--offset\@SM {
    margin-left: 8.33333%; }

  .col--2--offset\@SM {
    margin-left: 16.66667%; }

  .col--3--offset\@SM {
    margin-left: 25%; }

  .col--4--offset\@SM {
    margin-left: 33.33333%; }

  .col--5--offset\@SM {
    margin-left: 41.66667%; }

  .col--6--offset\@SM {
    margin-left: 50%; }

  .col--7--offset\@SM {
    margin-left: 58.33333%; }

  .col--8--offset\@SM {
    margin-left: 66.66667%; }

  .col--9--offset\@SM {
    margin-left: 75%; }

  .col--10--offset\@SM {
    margin-left: 83.33333%; }

  .col--11--offset\@SM {
    margin-left: 91.66667%; }

  .col--12--offset\@SM {
    margin-left: 100%; } }
@media print, screen and (min-width: 768px) {
  .col--10\@MD, .col--11\@MD, .col--12\@MD, .col--1\@MD, .col--2\@MD, .col--3\@MD, .col--4\@MD, .col--5\@MD, .col--6\@MD, .col--7\@MD, .col--8\@MD, .col--9\@MD {
    flex: 0 0 auto;
    position: relative; }

  .col--first\@MD {
    order: -1; }

  .col--last\@MD {
    order: 1; }

  .col--1\@MD {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }

  .col--2\@MD {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }

  .col--3\@MD {
    flex-basis: 25%;
    max-width: 25%; }

  .col--4\@MD {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }

  .col--5\@MD {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }

  .col--6\@MD {
    flex-basis: 50%;
    max-width: 50%; }

  .col--7\@MD {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }

  .col--8\@MD {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }

  .col--9\@MD {
    flex-basis: 75%;
    max-width: 75%; }

  .col--10\@MD {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }

  .col--11\@MD {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }

  .col--12\@MD {
    flex-basis: 100%;
    max-width: 100%; }

  .col--1--offset\@MD {
    margin-left: 8.33333%; }

  .col--2--offset\@MD {
    margin-left: 16.66667%; }

  .col--3--offset\@MD {
    margin-left: 25%; }

  .col--4--offset\@MD {
    margin-left: 33.33333%; }

  .col--5--offset\@MD {
    margin-left: 41.66667%; }

  .col--6--offset\@MD {
    margin-left: 50%; }

  .col--7--offset\@MD {
    margin-left: 58.33333%; }

  .col--8--offset\@MD {
    margin-left: 66.66667%; }

  .col--9--offset\@MD {
    margin-left: 75%; }

  .col--10--offset\@MD {
    margin-left: 83.33333%; }

  .col--11--offset\@MD {
    margin-left: 91.66667%; }

  .col--12--offset\@MD {
    margin-left: 100%; } }
@media print, screen and (min-width: 1024px) {
  .col--10\@LG, .col--11\@LG, .col--12\@LG, .col--1\@LG, .col--2\@LG, .col--3\@LG, .col--4\@LG, .col--5\@LG, .col--6\@LG, .col--7\@LG, .col--8\@LG, .col--9\@LG {
    flex: 0 0 auto;
    position: relative; }

  .col--first\@LG {
    order: -1; }

  .col--last\@LG {
    order: 1; }

  .col--1\@LG {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }

  .col--2\@LG {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }

  .col--3\@LG {
    flex-basis: 25%;
    max-width: 25%; }

  .col--4\@LG {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }

  .col--5\@LG {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }

  .col--6\@LG {
    flex-basis: 50%;
    max-width: 50%; }

  .col--7\@LG {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }

  .col--8\@LG {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }

  .col--9\@LG {
    flex-basis: 75%;
    max-width: 75%; }

  .col--10\@LG {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }

  .col--11\@LG {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }

  .col--12\@LG {
    flex-basis: 100%;
    max-width: 100%; }

  .col--1--offset\@LG {
    margin-left: 8.33333%; }

  .col--2--offset\@LG {
    margin-left: 16.66667%; }

  .col--3--offset\@LG {
    margin-left: 25%; }

  .col--4--offset\@LG {
    margin-left: 33.33333%; }

  .col--5--offset\@LG {
    margin-left: 41.66667%; }

  .col--6--offset\@LG {
    margin-left: 50%; }

  .col--7--offset\@LG {
    margin-left: 58.33333%; }

  .col--8--offset\@LG {
    margin-left: 66.66667%; }

  .col--9--offset\@LG {
    margin-left: 75%; }

  .col--10--offset\@LG {
    margin-left: 83.33333%; }

  .col--11--offset\@LG {
    margin-left: 91.66667%; }

  .col--12--offset\@LG {
    margin-left: 100%; } }
@media print, screen and (min-width: 1280px) {
  .col--10\@XLG, .col--11\@XLG, .col--12\@XLG, .col--1\@XLG, .col--2\@XLG, .col--3\@XLG, .col--4\@XLG, .col--5\@XLG, .col--6\@XLG, .col--7\@XLG, .col--8\@XLG, .col--9\@XLG {
    flex: 0 0 auto;
    position: relative; }

  .col--first\@XLG {
    order: -1; }

  .col--last\@XLG {
    order: 1; }

  .col--1\@XLG {
    flex-basis: 8.33333%;
    max-width: 8.33333%; }

  .col--2\@XLG {
    flex-basis: 16.66667%;
    max-width: 16.66667%; }

  .col--3\@XLG {
    flex-basis: 25%;
    max-width: 25%; }

  .col--4\@XLG {
    flex-basis: 33.33333%;
    max-width: 33.33333%; }

  .col--5\@XLG {
    flex-basis: 41.66667%;
    max-width: 41.66667%; }

  .col--6\@XLG {
    flex-basis: 50%;
    max-width: 50%; }

  .col--7\@XLG {
    flex-basis: 58.33333%;
    max-width: 58.33333%; }

  .col--8\@XLG {
    flex-basis: 66.66667%;
    max-width: 66.66667%; }

  .col--9\@XLG {
    flex-basis: 75%;
    max-width: 75%; }

  .col--10\@XLG {
    flex-basis: 83.33333%;
    max-width: 83.33333%; }

  .col--11\@XLG {
    flex-basis: 91.66667%;
    max-width: 91.66667%; }

  .col--12\@XLG {
    flex-basis: 100%;
    max-width: 100%; }

  .col--1--offset\@XLG {
    margin-left: 8.33333%; }

  .col--2--offset\@XLG {
    margin-left: 16.66667%; }

  .col--3--offset\@XLG {
    margin-left: 25%; }

  .col--4--offset\@XLG {
    margin-left: 33.33333%; }

  .col--5--offset\@XLG {
    margin-left: 41.66667%; }

  .col--6--offset\@XLG {
    margin-left: 50%; }

  .col--7--offset\@XLG {
    margin-left: 58.33333%; }

  .col--8--offset\@XLG {
    margin-left: 66.66667%; }

  .col--9--offset\@XLG {
    margin-left: 75%; }

  .col--10--offset\@XLG {
    margin-left: 83.33333%; }

  .col--11--offset\@XLG {
    margin-left: 91.66667%; }

  .col--12--offset\@XLG {
    margin-left: 100%; } }
@media print, screen and (min-width: 1024px) {
  .column {
    padding: 0 48px; } }
.column__header {
  background-color: #00c8de;
  color: #fff;
  margin: 0 -24px;
  padding: 0 16px 16px 16px;
  position: relative; }
  .column__header h1 {
    font-size: 28px;
    line-height: 1.2;
    margin-top: 16px; }

@media print, screen and (min-width: 1024px) {
  .column__header {
    border-radius: 8px;
    margin: 0 -48px 0 -48px;
    padding: 0 24px 24px 24px;
    overflow: hidden; } }
@media print, screen and (min-width: 1024px) {
  .column__header h1 {
    font-size: 40px;
    margin-top: 24px; } }
.column__content h2 {
  margin-top: 64px;
  margin-bottom: 32px;
  line-height: 1.2;
  font-size: 28px;
  font-weight: 700; }
.column__content h3 {
  margin-top: 48px;
  margin-bottom: 24px;
  line-height: 1.2;
  font-size: 24px;
  font-weight: 700; }
.column__content p {
  margin-top: 1.5em; }
.column__content ul {
  margin: 2.5em 0;
  list-style: none; }
  .column__content ul li:not(.topicpath__item) {
    font-size: 18px;
    line-height: 1.375;
    padding-left: 16px;
    position: relative; }
    .column__content ul li:not(.topicpath__item)::before {
      background-color: #00c8de;
      border-radius: 50%;
      content: '';
      display: block;
      height: 8px;
      left: 0;
      position: absolute;
      top: 7px;
      width: 8px; }
.column__content li:not(.topicpath__item) + li:not(.topicpath__item) {
  margin-top: 8px; }
.column__content ol:not(.topicpath__list) {
  margin: 2.5em 0;
  margin-left: 1.5em; }
.column__content ol li:not(.topicpath__item) {
  font-size: 18px;
  line-height: 1.375; }
.column__content .table {
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin: 2.5em 0;
  width: 100%;
  padding: 0; }
  .column__content .table th {
    text-align: left; }
  .column__content .table td, .column__content .table th {
    border-bottom: 1px solid #ccc;
    display: block;
    font-size: 14px;
    padding: 8px;
    z-index: -1; }
  .column__content .table tr th {
    background-color: #eee; }
  .column__content .table thead {
    display: none; }
  .column__content .table .right {
    text-align: right; }
  .column__content .table .center {
    text-align: center; }
.column__content .link-box {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  display: flex;
  font-size: 14px;
  line-height: 1.2;
  margin: 2.5em 0;
  padding: 12px; }
  .column__content .link-box svg {
    fill: #00c8de;
    width: 16px;
    height: 16px; }
.column__content .link-box__icon {
  display: flex;
  align-items: center;
  border-right: 1px solid #ddd;
  padding: 4px 12px 4px 0; }
.column__content .link-box__content {
  display: flex;
  align-items: center;
  padding-left: 12px; }
.column__content .link-box + .link-box {
  margin-top: -1.5em; }

@media print, screen and (min-width: 1024px) {
  .column__content h2 {
    font-size: 32px;
    margin-top: 80px; } }
@media print, screen and (min-width: 1024px) {
  .column__content h3 {
    margin-top: 64px; } }
@media print, screen and (min-width: 1024px) {
  .column__content .table td, .column__content .table th {
    border-left: 1px solid #ccc;
    display: table-cell;
    font-size: 16px; }
  .column__content .table td:first-child, .column__content .table th:first-child {
    border-left: 0; }
  .column__content .table tr th {
    background-color: transparent; }
  .column__content .table thead {
    background-color: #eee;
    display: table-header-group; }
    .column__content .table thead th {
      text-align: center; } }
@media print, screen and (min-width: 1024px) {
  .column__content .link-box {
    font-size: 16px;
    padding: 16px; } }
@media print, screen and (min-width: 1024px) {
  .column__content .link-box:hover {
    border-color: #00c8de; } }
@media print, screen and (min-width: 1024px) {
  .column__content .link-box svg {
    width: 20px;
    height: 20px; } }
@media print, screen and (min-width: 1024px) {
  .column__content .link-box__icon {
    padding-right: 14px; } }
@media print, screen and (min-width: 1024px) {
  .column__content .link-box__content {
    padding-left: 16px; } }
.column__link {
  background-color: #fff;
  margin: 2.5em 0;
  display: block;
  border-radius: 6px;
  border: 1px solid #ddd;
  padding: 24px;
  line-height: 1.2; }

.column__image {
  margin: 0 -16px;
  overflow: hidden;
  position: relative;
  height: 185px; }
  .column__image img {
    width: 100%; }

@media print, screen and (min-width: 1024px) {
  .column__image {
    margin: 0 -24px;
    overflow: hidden;
    position: relative;
    height: 339px; } }
.column__crop {
  height: 100%;
  width: 100%;
  left: 0;
  overflow: hidden;
  padding-top: 66.66667%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%); }
  .column__crop > img {
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translate(-50%, 0);
    width: auto; }

@media print, screen and (min-width: 1024px) {
  .column__crop {
    height: 100%;
    width: 100%;
    left: 0;
    overflow: hidden;
    padding-top: 66.65039%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); }
    .column__crop > img {
      display: block;
      height: 100%;
      left: 50%;
      position: absolute;
      top: 0;
      transform: translate(-50%, 0);
      width: auto; } }
.column__category {
  line-height: 1;
  display: inline-block;
  background-color: #fff;
  font-size: 16px;
  padding: 8px 12px;
  border-radius: 4px;
  color: #00c8de;
  font-weight: 700;
  margin-top: 16px; }

@media print, screen and (min-width: 1024px) {
  .column__category {
    margin-top: 24px; } }
.column__date {
  font-size: 14px;
  line-height: 1;
  color: #fff;
  margin-top: 16px; }

@media print, screen and (min-width: 1024px) {
  .column__date {
    margin-top: 24px; } }
.column__corner::before {
  border-bottom: 88px solid transparent;
  border-left: 88px solid #fa0046;
  content: '';
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1; }
.column__corner::after {
  content: 'New!';
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: 700;
  left: 4px;
  position: absolute;
  top: 28px;
  transform: rotate(-45deg);
  z-index: 2; }

@media print, screen and (min-width: 1024px) {
  .column__corner::before {
    border-bottom: 120px solid transparent;
    border-left: 120px solid #fa0046;
    top: 0;
    left: 0; } }
@media print, screen and (min-width: 1024px) {
  .column__corner::after {
    font-size: 32px;
    left: 4px;
    top: 24px; } }
.column .topicpath {
  margin-bottom: 24px;
  margin-top: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }
.column .topicpath__list {
  border-top: 0; }

@media print, screen and (min-width: 1024px) {
  .column .topicpath {
    margin-bottom: 48px;
    margin-left: -32px;
    margin-right: -32px; } }
.container {
  padding-left: 24px;
  padding-right: 24px;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

@media print, screen and (min-width: 480px) {
  .container {
    padding-left: 24px;
    padding-right: 24px;
    width: 100%; } }
@media print, screen and (min-width: 768px) {
  .container {
    padding-left: 24px;
    padding-right: 24px;
    width: 100%; } }
@media print, screen and (min-width: 1024px) {
  .container {
    padding-left: 24px;
    padding-right: 24px;
    width: 100%; } }
@media print, screen and (min-width: 1280px) {
  .container {
    padding-left: 12px;
    padding-right: 12px;
    width: 900px; } }
.divider {
  border: 0;
  margin: 0; }

.divider--bordered {
  background-color: #ddd;
  height: 1px; }

.divider--double {
  border-bottom: medium double #ddd; }

.divider--dotted {
  border-bottom: 1px dotted #ddd; }

.divider--dashed {
  border-bottom: 1px dashed #bbb; }

.divider--asterisk {
  background-color: #ddd;
  height: 1px;
  text-align: center; }
  .divider--asterisk::after {
    background-color: #fff;
    color: #ddd;
    content: "* * *";
    display: inline-block;
    font-family: Arial;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    padding: 0 .8em;
    position: relative;
    top: -.3em; }

@media print, screen and (min-width: 1024px) {
  .divider--asterisk::after {
    font-size: 32px; } }
.drawer {
  position: relative; }

.drawer__container {
  position: relative;
  z-index: 11; }

.drawer__header {
  height: 56px;
  left: 0;
  position: fixed;
  top: 0;
  width: 56px; }

.drawer__body {
  background-color: #fff;
  display: none;
  position: fixed;
  top: 0;
  width: 240px; }

@media print, screen and (min-width: 768px) {
  .drawer__body {
    width: 320px; } }
.drawer__content {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  width: 100%; }

.drawer__button {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  line-height: 1;
  position: fixed;
  width: 56px;
  height: 56px; }
  .drawer__button .icon-bars3--close .bar, .drawer__button .icon-bars3--close::after, .drawer__button .icon-bars3--close::before {
    background-color: #fff; }

.floating {
  display: none;
  height: 90px;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 6; }

@media print, screen and (min-width: 1024px) {
  .floating {
    height: 140px; } }
.global-nav {
  position: relative; }

.global-nav__list {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 0 12px rgba(51, 51, 51, 0.25);
  display: flex;
  list-style: none; }

@media print, screen and (min-width: 1024px) {
  .global-nav__list {
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(51, 51, 51, 0.15); } }
.global-nav__item {
  width: 50%; }
  .global-nav__item > a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333;
    font-size: 16px;
    font-weight: 700;
    height: 48px;
    line-height: 1;
    position: relative;
    text-decoration: none; }

@media print, screen and (min-width: 1024px) {
  .global-nav__item {
    text-align: center;
    width: 33.333%; } }
@media print, screen and (min-width: 1024px) {
  .global-nav__item > a {
    font-size: 20px;
    height: 80px; } }
@media print, screen and (min-width: 1024px) {
  .global-nav__item > a:hover::before {
    background-color: #00c8de;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    bottom: 0;
    content: '';
    display: block;
    height: 6px;
    left: 50%;
    margin-left: -40px;
    position: absolute;
    width: 80px; } }
.global-nav__item--disable {
  display: none;
  cursor: not-allowed; }
  .global-nav__item--disable > a {
    opacity: 60%;
    pointer-events: none; }

.global-nav__item--active > a::before {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  display: block;
  content: '';
  width: 60px;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30px;
  background-color: #00c8de; }

@media print, screen and (min-width: 1024px) {
  .global-nav__item--active > a::before {
    width: 80px;
    height: 6px;
    margin-left: -40px; } }
.global-nav__label {
  border-left: 1px solid #ddd;
  display: block;
  text-align: center;
  width: 100%; }

.global-nav__en {
  color: #00c8de;
  display: block;
  font-size: 9px;
  font-weight: 400;
  margin-top: 4px; }

@media print, screen and (min-width: 1024px) {
  .global-nav__en {
    font-size: 12px;
    margin-top: 8px; } }
.global-nav__brand {
  display: none; }

@media print, screen and (min-width: 1024px) {
  .global-nav__brand {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 33.333%; } }
@media print, screen and (min-width: 1024px) {
  .global-nav__brand::before {
    background-color: #00c8de;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
    content: '';
    display: block;
    height: 60px;
    left: 0;
    margin-top: -30px;
    position: absolute;
    top: 50%;
    width: 8px; } }
.heading {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 16px;
  margin-top: 40px;
  position: relative; }

@media print, screen and (min-width: 1024px) {
  .heading {
    font-size: 40px;
    margin-bottom: 40px;
    margin-top: 80px; } }
.heading--boxed {
  background-color: #00c8de;
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 28px;
  padding: 8px 16px;
  position: relative;
  margin: 0; }

@media print, screen and (min-width: 1024px) {
  .heading--boxed {
    border-radius: 6px;
    font-size: 56px;
    padding: 12px 32px; } }
.heading--boxed--SM {
  font-size: 24px; }

@media print, screen and (min-width: 1024px) {
  .heading--boxed--SM {
    font-size: 56px; } }
.heading--boxed--XS {
  font-size: 20px; }

@media print, screen and (min-width: 1024px) {
  .heading--boxed--XS {
    font-size: 52px; } }
.heading--underline {
  line-height: 1;
  display: block;
  font-size: 32px;
  margin-bottom: 24px; }

@media print, screen and (min-width: 1024px) {
  .heading--underline {
    font-size: 48px;
    margin-bottom: 40px; } }
.heading__anchor {
  color: #00c8de;
  position: absolute;
  top: 30%;
  right: 0;
  font-size: 14px; }
  .heading__anchor:hover {
    text-decoration: underline; }
  .heading__anchor .icon {
    display: inline-block;
    margin-left: 8px; }
    .heading__anchor .icon::before {
      border-color: #00c8de; }

@media print, screen and (min-width: 1024px) {
  .heading__anchor {
    top: 30%;
    font-size: 16px; } }
.heading-box {
  font-size: 12px;
  line-height: 1;
  position: relative; }
  .heading-box::before {
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    display: block;
    height: 3px;
    width: 100%;
    background-color: #444; }
  .heading-box span {
    display: inline-block;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding: 10px 14px 8px 14px;
    font-weight: 400;
    color: #fff;
    background-color: #444; }

@media print, screen and (min-width: 1024px) {
  .heading-box {
    font-size: 14px; } }
.heading-box--LG {
  font-size: 18px; }
  .heading-box--LG::before {
    display: none; }
  .heading-box--LG span {
    padding: 14px 16px 12px 16px;
    width: 100%; }

@media print, screen and (min-width: 1024px) {
  .heading-box--LG {
    font-size: 24px; } }
@media print, screen and (min-width: 1024px) {
  .heading-box--LG span {
    padding: 20px 20px 18px 20px; } }
.heading-side-line {
  align-items: center;
  display: flex;
  font-size: 24px;
  line-height: 1.25;
  text-align: center; }
  .heading-side-line::after {
    border-bottom: 1px dotted #ccc;
    content: '';
    flex-grow: 1;
    height: 0; }
  .heading-side-line::before {
    border-bottom: 1px dotted #ccc;
    content: '';
    flex-grow: 1;
    height: 0;
    margin-right: .5em; }
  .heading-side-line::after {
    margin-left: .5em; }

@media print, screen and (min-width: 1024px) {
  .heading-side-line {
    font-size: 40px; } }
@media print, screen and (min-width: 1024px) {
  .heading-side-line::before {
    margin-right: .75em; } }
@media print, screen and (min-width: 1024px) {
  .heading-side-line::after {
    margin-left: .75em; } }
.hero-split {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 40px;
  width: 100%; }

@media print, screen and (min-width: 1024px) {
  .hero-split {
    flex-direction: row;
    margin-top: 96px; } }
.hero-split__item {
  margin-left: -24px;
  margin-right: -24px;
  position: relative; }
  .hero-split__item img {
    width: 100%; }

@media print, screen and (min-width: 1024px) {
  .hero-split__item {
    align-items: center;
    display: flex;
    margin-left: 0;
    margin-right: 0;
    width: 50%; } }
.hero-split__heading {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2; }

@media print, screen and (min-width: 1024px) {
  .hero-split__heading {
    font-size: 40px; } }
.hero-split__content {
  background-color: #00c8de;
  color: #fff;
  padding: 24px; }

@media print, screen and (min-width: 1024px) {
  .hero-split__content {
    padding: 32px; } }
.hero-split__sentence {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 24px; }

@media print, screen and (min-width: 1024px) {
  .hero-split__sentence {
    font-size: 18px;
    margin-top: 32px; } }
.hero-split__badge {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fa4ba0;
  border-radius: 100px;
  height: 90px;
  position: absolute;
  right: 16px;
  top: -40px;
  width: 90px;
  z-index: 2; }
  .hero-split__badge::after {
    display: block;
    content: '';
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -5px; }
  .hero-split__badge span {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center; }

@media print, screen and (min-width: 1024px) {
  .hero-split__badge {
    left: 24px;
    height: 120px;
    right: auto;
    top: -40px;
    width: 120px; } }
@media print, screen and (min-width: 1024px) {
  .hero-split__badge::after {
    width: 12px;
    height: 12px;
    top: 12px;
    margin-left: -6px; } }
@media print, screen and (min-width: 1024px) {
  .hero-split__badge span {
    font-size: 18px; } }
.hero-split--reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 1024px) {
  .hero-split--reverse {
    flex-direction: row-reverse; }
    .hero-split--reverse .hero-split__badge {
      left: auto;
      right: 24px; } }
.icon-arrow {
  display: inline-flex;
  justify-content: center;
  height: 13px;
  position: relative;
  width: 13px; }
  .icon-arrow::after {
    content: '';
    display: block;
    position: absolute; }
  .icon-arrow::before {
    content: '';
    display: block;
    position: absolute;
    top: 1px;
    height: 9px;
    width: 9px;
    border-right: 1px solid #555;
    border-bottom: 1px solid #555;
    transform: rotate(45deg); }
  .icon-arrow::after {
    background-color: #555;
    height: 10px;
    width: 1px;
    top: 1px; }

.icon-arrow--SM {
  height: 9px;
  width: 9px; }
  .icon-arrow--SM::before {
    top: 1px;
    height: 7px;
    width: 7px; }
  .icon-arrow--SM::after {
    height: 8px;
    width: 1px;
    top: 0; }

.icon-arrow--L {
  transform: rotate(90deg); }

.icon-arrow--R {
  transform: rotate(-90deg); }

.icon-arrow--U {
  transform: rotate(180deg); }

.icon-bars3 {
  transition: transform .3s; }
  .icon-bars3 .bar {
    top: 3px; }
  .icon-bars3::before {
    top: 11px; }
  .icon-bars3::after {
    top: 19px; }

.icon-bars3--close {
  transform: rotate(360deg); }
  .icon-bars3--close .bar {
    transform: translateY(8px) rotate(45deg); }
  .icon-bars3--close::before {
    opacity: 0; }
  .icon-bars3--close::after {
    transform: translateY(-8px) rotate(-45deg); }

.icon-chevron {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 12px;
  position: relative;
  width: 12px; }
  .icon-chevron::before {
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    border-right: 1px solid #555;
    border-bottom: 1px solid #555;
    transform: rotate(45deg);
    margin-top: -5px; }

.icon-chevron--SM {
  height: 8px;
  width: 8px; }
  .icon-chevron--SM::before {
    height: 6px;
    width: 6px;
    margin-top: -3px; }

.icon-chevron--L {
  transform: rotate(90deg); }

.icon-chevron--R {
  transform: rotate(-90deg); }

.icon-chevron--U {
  transform: rotate(180deg); }

.image {
  display: block;
  width: 100%; }

.image--round {
  background-color: transparent;
  border-radius: 6px;
  padding: 0; }

.it, .image-box {
  margin: 0 -24px; }

@media print, screen and (min-width: 1024px) {
  .it {
    margin: 0; } }
@media print, screen and (min-width: 1024px) {
  .image-box {
    margin: 0;
    background-color: #eee;
    padding: 16px; } }
.index-campaign {
  margin-top: 32px; }

@media print, screen and (min-width: 1024px) {
  .index-campaign {
    display: flex;
    margin-top: 64px; } }
.index-campaign__item {
  background-color: #00c8de;
  display: flex;
  border-bottom: 1px dotted #fff;
  margin: 0 -24px;
  padding: 16px 16px; }
  .index-campaign__item:first-child {
    border-left: 0; }
  .index-campaign__item:last-child {
    border-bottom: 0; }

@media print, screen and (min-width: 1024px) {
  .index-campaign__item {
    border-left: 1px dotted #fff;
    border-bottom: 0;
    display: block;
    margin: 0;
    padding: 32px 32px;
    width: 100%; } }
@media print, screen and (min-width: 1024px) {
  .index-campaign__item:first-child {
    border-bottom-left-radius: 6px;
    border-top-left-radius: 6px; } }
@media print, screen and (min-width: 1024px) {
  .index-campaign__item:last-child {
    border-bottom-right-radius: 6px;
    border-top-right-radius: 6px; } }
.index-campaign__header {
  display: flex;
  justify-content: center;
  padding-right: 16px; }

@media print, screen and (min-width: 1024px) {
  .index-campaign__header {
    padding-right: 0; } }
.index-campaign__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  height: 72px;
  width: 72px; }
  .index-campaign__icon svg {
    fill: #00c8de;
    height: 40px;
    width: 40px; }

@media print, screen and (min-width: 1024px) {
  .index-campaign__icon {
    height: 100px;
    width: 100px; } }
@media print, screen and (min-width: 1024px) {
  .index-campaign__icon svg {
    height: 48px;
    width: 48px; } }
.index-campaign__heading {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1; }

@media print, screen and (min-width: 1024px) {
  .index-campaign__heading {
    font-size: 24px;
    margin-top: 24px;
    text-align: center; } }
.index-campaign__description {
  font-size: 13px;
  color: #fff;
  line-height: 1.5;
  margin-top: 8px; }

@media print, screen and (min-width: 1024px) {
  .index-campaign__description {
    font-size: 14px;
    margin-top: 16px; } }
.index-campaign__button {
  display: flex;
  justify-content: center;
  margin-top: 12px; }
  .index-campaign__button .button {
    background-color: #fff;
    color: #00c8de;
    font-size: 14px;
    padding-right: 16px; }
  .index-campaign__button svg {
    fill: #00c8de;
    height: 12px;
    margin-left: 8px;
    width: 12px; }

@media print, screen and (min-width: 1024px) {
  .index-campaign__button {
    margin-top: 24px; } }
.index-support {
  margin-top: 24px; }

@media print, screen and (min-width: 1024px) {
  .index-support {
    display: flex;
    margin-top: 48px; } }
.index-support__item {
  border-bottom: 1px dotted #ccc;
  display: flex;
  padding: 16px 0; }
  .index-support__item:first-child {
    border-left: 0; }

@media print, screen and (min-width: 1024px) {
  .index-support__item {
    border-left: 1px dotted #ccc;
    border-bottom: 0;
    display: block;
    padding: 0 32px;
    width: 100%; } }
.index-support__header {
  display: flex;
  justify-content: center;
  padding-right: 16px; }

@media print, screen and (min-width: 1024px) {
  .index-support__header {
    padding-right: 0; } }
.index-support__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  height: 72px;
  width: 72px; }
  .index-support__icon svg {
    fill: #00c8de;
    height: 40px;
    width: 40px; }

@media print, screen and (min-width: 1024px) {
  .index-support__icon {
    height: 100px;
    width: 100px; } }
@media print, screen and (min-width: 1024px) {
  .index-support__icon svg {
    height: 48px;
    width: 48px; } }
.index-support__heading {
  font-size: 18px;
  font-weight: 700;
  line-height: 1; }

@media print, screen and (min-width: 1024px) {
  .index-support__heading {
    font-size: 24px;
    margin-top: 24px;
    text-align: center; } }
.index-support__description {
  font-size: 13px;
  line-height: 1.5;
  margin-top: 8px; }

@media print, screen and (min-width: 1024px) {
  .index-support__description {
    font-size: 14px;
    margin-top: 16px; } }
.index-support__button {
  display: flex;
  justify-content: center;
  margin-top: 12px; }
  .index-support__button .button {
    font-size: 14px;
    padding-right: 16px; }
  .index-support__button svg {
    fill: #fff;
    height: 12px;
    margin-left: 8px;
    width: 12px; }

@media print, screen and (min-width: 1024px) {
  .index-support__button {
    margin-top: 24px; } }
.input {
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  padding: 12px; }
  .input::placeholder {
    color: #ccc; }

.input--error {
  border-color: #ff2846; }

.inquiry {
  font-size: 14px; }
  .inquiry .row {
    margin-top: 12px; }

@media print, screen and (min-width: 1024px) {
  .inquiry .row {
    margin-top: 12px; } }
.inquiry__corporate {
  font-size: 14px;
  margin-top: 0; }

@media print, screen and (min-width: 1024px) {
  .inquiry__corporate {
    font-size: 16px;
    line-height: 1; } }
.inquiry__department {
  font-size: 18px;
  line-height: 1; }

@media print, screen and (min-width: 1024px) {
  .inquiry__department {
    font-size: 24px;
    margin-bottom: 32px;
    margin-top: 8px; } }
.inquiry__label {
  font-weight: 700; }

.jumbotron {
  margin-left: -24px;
  margin-right: -24px;
  margin-bottom: 32px;
  position: relative;
  display: flex;
  justify-content: center; }
  .jumbotron img {
    width: 100%; }
  .jumbotron .heading {
    position: absolute;
    bottom: -24px; }
  .jumbotron .heading--boxed--XS {
    bottom: -20px; }

@media print, screen and (min-width: 1024px) {
  .jumbotron {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 64px; } }
@media print, screen and (min-width: 1024px) {
  .jumbotron img {
    border-radius: 6px; } }
@media print, screen and (min-width: 1024px) {
  .jumbotron .heading {
    bottom: -48px; } }
@media print, screen and (min-width: 1024px) {
  .jumbotron .heading--boxed--XS {
    bottom: -48px; } }
.label {
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  padding-left: 30px;
  padding-top: 4px;
  position: relative; }

.label--text {
  color: #333;
  cursor: auto;
  font-weight: 700;
  margin-bottom: 8px;
  padding-left: 0; }

.list {
  list-style: none; }

.list__item {
  font-size: 15px;
  line-height: 1.375;
  padding-left: 16px;
  position: relative; }
  .list__item::before {
    background-color: #ccc;
    border-radius: 50%;
    content: '';
    display: block;
    height: 8px;
    left: 0;
    position: absolute;
    top: 5px;
    width: 8px; }
  .list__item + .list__item {
    margin-top: 12px; }

@media print, screen and (min-width: 1024px) {
  .list__item {
    font-size: 16px; } }
@media print, screen and (min-width: 1024px) {
  .list__item::before {
    top: 5px; } }
.list__item--child .list {
  margin-top: 12px; }
.list__item--child::before {
  display: none; }

.list--primary .list__item::before {
  background-color: #00c8de; }

.list--secondary .list__item::before {
  background-color: #4682b4; }

.list--tertiary .list__item::before {
  background-color: #708090; }

.list--circle .list__item::before {
  background-color: transparent;
  border: 2px solid #666; }
.list--circle.list--primary .list__item::before {
  border-color: #00c8de; }
.list--circle.list--secondary .list__item::before {
  border-color: #4682b4; }
.list--circle.list--tertiary .list__item::before {
  border-color: #708090; }

.list--square .list__item::before {
  border-radius: 0; }

.list--tableofcontent .list__item {
  font-size: 13px;
  padding-left: 0; }
  .list--tableofcontent .list__item::before {
    display: none; }
  .list--tableofcontent .list__item + .list__item {
    margin-top: 16px; }
.list--tableofcontent a {
  color: #333;
  text-decoration: none; }
  .list--tableofcontent a:hover {
    text-decoration: underline; }

.list-group {
  list-style: none;
  margin: 0;
  padding: 0; }

.list-group__item {
  font-size: 14px;
  padding: 12px 32px 12px 16px;
  position: relative; }
  .list-group__item a {
    display: flex;
    align-items: center;
    color: #333;
    line-height: 1.2;
    margin: 0 -32px 0 -16px;
    padding: 0 32px 0 16px;
    position: relative;
    text-decoration: none; }
    .list-group__item a:hover {
      color: #00c8de; }
      .list-group__item a:hover .icon::before {
        border-color: #00c8de; }
  .list-group__item .icon {
    position: absolute;
    right: 16px; }
  .list-group__item .badge {
    margin-left: 8px;
    margin-top: 0;
    vertical-align: .1em; }
  .list-group__item .list-group {
    margin: 12px -32px -12px 8px; }

.list-group--bordered {
  border-bottom: 1px solid #ddd; }
  .list-group--bordered .list-group__item .list-group {
    border-bottom: 0; }

.list-group--boxed {
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd; }
  .list-group--boxed .list-group__item .list-group {
    border-left: 1px solid #ddd; }

.list-group.list-group--SM .list-group__item {
  font-size: 12px;
  padding: 12px 32px 12px 16px; }
  .list-group.list-group--SM .list-group__item a {
    margin: -12px -32px -12px -16px;
    padding: 12px 32px 12px 16px; }
  .list-group.list-group--SM .list-group__item .icon {
    right: 12px; }
  .list-group.list-group--SM .list-group__item .list-group {
    margin: 12px -32px -12px 16px; }

.list-group--bordered.list-group--table {
  background-color: #fff;
  border-bottom: 0;
  border-radius: 6px;
  margin-left: -24px;
  margin-right: -24px; }
  .list-group--bordered.list-group--table .list-group__item {
    border-top: 1px dotted #ddd;
    padding-right: 16px; }
    .list-group--bordered.list-group--table .list-group__item:last-child {
      border-bottom: 1px dotted #ddd; }
  .list-group--bordered.list-group--table .list-group__header {
    font-size: 14px;
    margin-bottom: 8px;
    width: 100%; }
  .list-group--bordered.list-group--table .list-group__content {
    width: 100%; }
.list-group--bordered .list-group__item {
  border-top: 1px solid #ddd;
  padding: 16px 32px 16px 16px; }

@media print, screen and (min-width: 1024px) {
  .list-group--bordered.list-group--table {
    margin-left: 0;
    margin-right: 0;
    padding: 24px; } }
@media print, screen and (min-width: 1024px) {
  .list-group--bordered.list-group--table .list-group__item {
    display: flex; } }
@media print, screen and (min-width: 1024px) {
  .list-group--bordered.list-group--table .list-group__header {
    font-size: 16px;
    margin-bottom: 0;
    width: 30%; } }
@media print, screen and (min-width: 1024px) {
  .list-group--bordered.list-group--table .list-group__content {
    width: 70%; } }
.list-group--boxed .list-group__item {
  border-top: 1px solid #ddd;
  padding: 16px 32px 16px 16px; }

.list-group--bordered .list-group__item a, .list-group--boxed .list-group__item a {
  margin: -16px -32px -16px -16px;
  padding: 16px 32px 16px 16px; }

.main {
  /*margin-top: 88px;*/ }

@media print, screen and (min-width: 480px) {
  .main {
    /*margin-top: 144px;*/
    margin-top: 16px; } }
@media print, screen and (min-width: 1024px) {
  .main {
    /*margin-top: 144px;*/
    margin-top: 88px; } }
.map {
  height: 0;
  position: relative;
  padding-bottom: 100%;
  margin-left: -24px;
  margin-right: -24px; }
  .map iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    vertical-align: bottom;
    width: 100%; }

@media print, screen and (min-width: 1024px) {
  .map {
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 56.25%; } }
.media {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  margin: -1px -24px 0 -24px;
  position: relative; }

@media print, screen and (min-width: 1024px) {
  .media {
    border: 1px solid #ddd;
    margin: -1px 0 0 0; } }
.media__anchor {
  color: #00c8de;
  background-color: #fff;
  display: block;
  text-decoration: none; }

@media print, screen and (min-width: 1024px) {
  .media__anchor:hover {
    background-color: #f5f5f5; }
    .media__anchor:hover .icon {
      fill: #00c8de; }
    .media__anchor:hover .media__heading {
      text-decoration: underline; } }
.media .icon {
  fill: #ddd;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -8px; }

@media print, screen and (min-width: 1024px) {
  .media .icon {
    width: 24px;
    height: 24px;
    margin-top: -12px;
    right: 16px; } }
.media__inner {
  display: flex;
  padding: 8px;
  position: relative; }

@media print, screen and (min-width: 1024px) {
  .media__inner {
    padding: 12px; } }
.media__body {
  margin-left: 12px;
  margin-right: 28px;
  position: relative;
  flex: 1; }

@media print, screen and (min-width: 1024px) {
  .media__body {
    margin-left: 12px;
    margin-right: 56px; } }
.media__header {
  width: 64px; }

@media print, screen and (min-width: 1024px) {
  .media__header {
    width: 112px; } }
.media__content {
  padding-bottom: 28px; }
  .media__content p {
    color: #555;
    font-size: 14px;
    line-height: 1.3; }

@media print, screen and (min-width: 1024px) {
  .media__content {
    padding-bottom: 40px; } }
.media__footer {
  border-top: 1px solid #eaeaea;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding-top: 8px; }

@media print, screen and (min-width: 1024px) {
  .media__footer {
    padding-top: 12px; } }
.media__thumb {
  border-radius: 4px;
  width: 100%;
  height: auto; }

.media__heading {
  color: #00c8de;
  font-size: 17px;
  line-height: 1.2;
  margin-top: 8px;
  font-weight: 700; }

@media print, screen and (min-width: 1024px) {
  .media__heading {
    font-size: 18px;
    line-height: 1.3;
    margin-top: 12px; } }
.media__meta {
  color: #ccc;
  font-size: 11px;
  line-height: 1; }

@media print, screen and (min-width: 1024px) {
  .media__meta {
    font-size: 12px; } }
.media__category {
  background-color: #fff;
  border: 1px solid #f0be19;
  border-radius: 3px;
  color: #f0be19;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 6px; }

@media print, screen and (min-width: 1024px) {
  .media__category {
    font-size: 13px; } }
.media__corner::before {
  border-bottom: 48px solid transparent;
  border-left: 48px solid #fa0046;
  content: '';
  top: -1px;
  left: -1px;
  position: absolute;
  z-index: 1; }
.media__corner::after {
  content: 'New!';
  color: #fff;
  display: block;
  font-size: 12px;
  font-weight: 700;
  left: 0;
  position: absolute;
  top: 10px;
  transform: rotate(-45deg);
  z-index: 2; }

@media print, screen and (min-width: 1024px) {
  .media__corner::before {
    border-bottom: 60px solid transparent;
    border-left: 60px solid #fa0046; } }
@media print, screen and (min-width: 1024px) {
  .media__corner::after {
    font-size: 14px;
    left: 4px;
    top: 12px; } }
.news {
  list-style-type: none;
  margin-top: 16px; }
  .news a {
    text-decoration: none; }

@media print, screen and (min-width: 1024px) {
  .news a:hover .news__content {
    text-decoration: underline; } }
.news__item + .news__item {
  margin-top: 8px; }

@media print, screen and (min-width: 1024px) {
  .news__item + .news__item {
    margin-top: 12px; } }
.news__date {
  color: #00c8de;
  line-height: 1;
  display: block;
  font-size: 10px;
  margin-bottom: 8px; }

@media print, screen and (min-width: 1024px) {
  .news__date {
    font-size: 11px; } }
.news__content {
  display: inline-block;
  line-height: 1.375;
  color: #333;
  font-size: 13px; }

.radio {
  display: none; }
  .radio + .label:after {
    background-color: tomato;
    border-radius: 50%;
    content: '';
    display: none;
    height: 14px;
    left: 5px;
    position: absolute;
    top: 5px;
    width: 14px; }
  .radio + .label:before {
    border: 2px solid #ccc;
    border-radius: 50%;
    content: '';
    height: 24px;
    left: 0;
    top: 0;
    position: absolute;
    width: 24px; }
  .radio:checked + .label:before {
    border-color: tomato; }
  .radio:checked + .label:after {
    display: block; }

.row {
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -4px;
  margin-right: -4px; }
  .row div[class^=col--] {
    padding-left: 4px;
    padding-right: 4px; }

.row--fit\@XS {
  margin-left: -24px;
  margin-right: -24px; }
  .row--fit\@XS div[class^=col--] {
    padding-left: 0;
    padding-right: 0; }

.row--edge_0\@XS {
  margin-left: -24px;
  margin-right: -24px; }
  .row--edge_0\@XS > div:first-child {
    padding-left: 0; }
  .row--edge_0\@XS > div:last-child {
    padding-right: 0; }

.row--gutter_0\@XS {
  margin-left: 0;
  margin-right: 0; }
  .row--gutter_0\@XS div[class^=col--] {
    padding-left: 0;
    padding-right: 0; }

.row--gutter_half\@XS {
  margin-left: -2px;
  margin-right: -2px; }
  .row--gutter_half\@XS div[class^=col--] {
    padding-left: 2px;
    padding-right: 2px; }

.row--edge_0--gutter_half\@XS {
  margin-left: -24px;
  margin-right: -24px; }
  .row--edge_0--gutter_half\@XS div[class^=col--] {
    padding-left: 2px;
    padding-right: 2px; }
  .row--edge_0--gutter_half\@XS > div:first-child {
    padding-left: 0; }
  .row--edge_0--gutter_half\@XS > div:last-child {
    padding-right: 0; }

.row--reverse\@XS {
  flex-direction: row-reverse; }

.row--top\@XS {
  align-items: flex-start; }

.row--middle\@XS {
  align-items: center; }

.row--bottom\@XS {
  align-items: flex-end; }

.row--start\@XS {
  justify-content: flex-start;
  text-align: start; }

.row--center\@XS {
  justify-content: center;
  text-align: center; }

.row--end\@XS {
  justify-content: flex-end;
  text-align: end; }

.row--around\@XS {
  justify-content: space-around; }

.row--between\@XS {
  justify-content: space-between; }

@media print, screen and (min-width: 480px) {
  .row {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: -4px;
    margin-right: -4px; }
    .row div[class^=col--] {
      padding-left: 4px;
      padding-right: 4px; }

  .row--fit\@SM {
    margin-left: -24px;
    margin-right: -24px; }
    .row--fit\@SM div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--edge_0\@SM {
    margin-left: -24px;
    margin-right: -24px; }
    .row--edge_0\@SM > div:first-child {
      padding-left: 0; }
    .row--edge_0\@SM > div:last-child {
      padding-right: 0; }

  .row--gutter_0\@SM {
    margin-left: 0;
    margin-right: 0; }
    .row--gutter_0\@SM div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--gutter_half\@SM {
    margin-left: -2px;
    margin-right: -2px; }
    .row--gutter_half\@SM div[class^=col--] {
      padding-left: 2px;
      padding-right: 2px; }

  .row--edge_0--gutter_half\@SM {
    margin-left: -24px;
    margin-right: -24px; }
    .row--edge_0--gutter_half\@SM div[class^=col--] {
      padding-left: 2px;
      padding-right: 2px; }
    .row--edge_0--gutter_half\@SM > div:first-child {
      padding-left: 0; }
    .row--edge_0--gutter_half\@SM > div:last-child {
      padding-right: 0; }

  .row--reverse\@SM {
    flex-direction: row-reverse; }

  .row--top\@SM {
    align-items: flex-start; }

  .row--middle\@SM {
    align-items: center; }

  .row--bottom\@SM {
    align-items: flex-end; }

  .row--start\@SM {
    justify-content: flex-start;
    text-align: start; }

  .row--center\@SM {
    justify-content: center;
    text-align: center; }

  .row--end\@SM {
    justify-content: flex-end;
    text-align: end; }

  .row--around\@SM {
    justify-content: space-around; }

  .row--between\@SM {
    justify-content: space-between; } }
@media print, screen and (min-width: 768px) {
  .row {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: -4px;
    margin-right: -4px; }
    .row div[class^=col--] {
      padding-left: 4px;
      padding-right: 4px; }

  .row--fit\@MD {
    margin-left: -24px;
    margin-right: -24px; }
    .row--fit\@MD div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--edge_0\@MD {
    margin-left: -24px;
    margin-right: -24px; }
    .row--edge_0\@MD > div:first-child {
      padding-left: 0; }
    .row--edge_0\@MD > div:last-child {
      padding-right: 0; }

  .row--gutter_0\@MD {
    margin-left: 0;
    margin-right: 0; }
    .row--gutter_0\@MD div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--gutter_half\@MD {
    margin-left: -2px;
    margin-right: -2px; }
    .row--gutter_half\@MD div[class^=col--] {
      padding-left: 2px;
      padding-right: 2px; }

  .row--edge_0--gutter_half\@MD {
    margin-left: -24px;
    margin-right: -24px; }
    .row--edge_0--gutter_half\@MD div[class^=col--] {
      padding-left: 2px;
      padding-right: 2px; }
    .row--edge_0--gutter_half\@MD > div:first-child {
      padding-left: 0; }
    .row--edge_0--gutter_half\@MD > div:last-child {
      padding-right: 0; }

  .row--reverse\@MD {
    flex-direction: row-reverse; }

  .row--top\@MD {
    align-items: flex-start; }

  .row--middle\@MD {
    align-items: center; }

  .row--bottom\@MD {
    align-items: flex-end; }

  .row--start\@MD {
    justify-content: flex-start;
    text-align: start; }

  .row--center\@MD {
    justify-content: center;
    text-align: center; }

  .row--end\@MD {
    justify-content: flex-end;
    text-align: end; }

  .row--around\@MD {
    justify-content: space-around; }

  .row--between\@MD {
    justify-content: space-between; } }
@media print, screen and (min-width: 1024px) {
  .row {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px; }
    .row div[class^=col--] {
      padding-left: 8px;
      padding-right: 8px; }

  .row--fit\@LG {
    margin-left: -24px;
    margin-right: -24px; }
    .row--fit\@LG div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--edge_0\@LG {
    margin-left: -24px;
    margin-right: -24px; }
    .row--edge_0\@LG > div:first-child {
      padding-left: 0; }
    .row--edge_0\@LG > div:last-child {
      padding-right: 0; }

  .row--gutter_0\@LG {
    margin-left: 0;
    margin-right: 0; }
    .row--gutter_0\@LG div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--gutter_half\@LG {
    margin-left: -4px;
    margin-right: -4px; }
    .row--gutter_half\@LG div[class^=col--] {
      padding-left: 4px;
      padding-right: 4px; }

  .row--edge_0--gutter_half\@LG {
    margin-left: -24px;
    margin-right: -24px; }
    .row--edge_0--gutter_half\@LG div[class^=col--] {
      padding-left: 4px;
      padding-right: 4px; }
    .row--edge_0--gutter_half\@LG > div:first-child {
      padding-left: 0; }
    .row--edge_0--gutter_half\@LG > div:last-child {
      padding-right: 0; }

  .row--reverse\@LG {
    flex-direction: row-reverse; }

  .row--top\@LG {
    align-items: flex-start; }

  .row--middle\@LG {
    align-items: center; }

  .row--bottom\@LG {
    align-items: flex-end; }

  .row--start\@LG {
    justify-content: flex-start;
    text-align: start; }

  .row--center\@LG {
    justify-content: center;
    text-align: center; }

  .row--end\@LG {
    justify-content: flex-end;
    text-align: end; }

  .row--around\@LG {
    justify-content: space-around; }

  .row--between\@LG {
    justify-content: space-between; } }
@media print, screen and (min-width: 1280px) {
  .row {
    display: flex;
    flex: 0 1 auto;
    flex-direction: row;
    flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px; }
    .row div[class^=col--] {
      padding-left: 8px;
      padding-right: 8px; }

  .row--fit\@XLG {
    margin-left: -12px;
    margin-right: -12px; }
    .row--fit\@XLG div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--edge_0\@XLG {
    margin-left: -12px;
    margin-right: -12px; }
    .row--edge_0\@XLG > div:first-child {
      padding-left: 0; }
    .row--edge_0\@XLG > div:last-child {
      padding-right: 0; }

  .row--gutter_0\@XLG {
    margin-left: 0;
    margin-right: 0; }
    .row--gutter_0\@XLG div[class^=col--] {
      padding-left: 0;
      padding-right: 0; }

  .row--gutter_half\@XLG {
    margin-left: -4px;
    margin-right: -4px; }
    .row--gutter_half\@XLG div[class^=col--] {
      padding-left: 4px;
      padding-right: 4px; }

  .row--edge_0--gutter_half\@XLG {
    margin-left: -12px;
    margin-right: -12px; }
    .row--edge_0--gutter_half\@XLG div[class^=col--] {
      padding-left: 4px;
      padding-right: 4px; }
    .row--edge_0--gutter_half\@XLG > div:first-child {
      padding-left: 0; }
    .row--edge_0--gutter_half\@XLG > div:last-child {
      padding-right: 0; }

  .row--reverse\@XLG {
    flex-direction: row-reverse; }

  .row--top\@XLG {
    align-items: flex-start; }

  .row--middle\@XLG {
    align-items: center; }

  .row--bottom\@XLG {
    align-items: flex-end; }

  .row--start\@XLG {
    justify-content: flex-start;
    text-align: start; }

  .row--center\@XLG {
    justify-content: center;
    text-align: center; }

  .row--end\@XLG {
    justify-content: flex-end;
    text-align: end; }

  .row--around\@XLG {
    justify-content: space-around; }

  .row--between\@XLG {
    justify-content: space-between; } }
.overlay {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #000;
  height: 100%;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: all .5s;
  visibility: hidden;
  width: 100%;
  will-change: opacity;
  z-index: 9; }

.overlay--open {
  opacity: .75;
  visibility: visible; }

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 32px; }

@media print, screen and (min-width: 1024px) {
  .pagination {
    margin-top: 48px; } }
.pagination__body {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0; }

.pagination__item {
  display: block; }
  .pagination__item a {
    align-items: center;
    background-color: #fff;
    border-radius: 4px;
    color: #00c8de;
    display: flex;
    font-size: 16px;
    height: 36px;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    width: 36px; }
    .pagination__item a:hover {
      background-color: #00c8de;
      color: #fff; }
      .pagination__item a:hover .pagination__icon {
        fill: #fff; }

@media print, screen and (min-width: 1024px) {
  .pagination__item a {
    font-size: 20px;
    height: 48px;
    width: 48px; } }
.pagination__item--active a {
  background-color: #00c8de;
  color: #fff; }

.pagination__item + .pagination__item {
  margin-left: 4px; }

.pagination__icon {
  fill: #00c8de;
  height: 12px;
  width: 12px; }

@media print, screen and (min-width: 1024px) {
  .pagination__icon {
    height: 16px;
    width: 16px; } }
.postit {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 12px 12px 12px 16px;
  position: relative; }
  .postit::before {
    display: block;
    content: '';
    position: absolute;
    background-color: #00c8de;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    width: 6px;
    height: calc(100% + 2px);
    top: -1px;
    left: -1px;
    display: flex; }
  .postit p {
    font-size: 16px;
    line-height: 1.5; }
    .postit p:first-child {
      margin-top: 0; }

@media print, screen and (min-width: 1024px) {
  .postit {
    padding: 24px; }
    .postit::before {
      width: 9px; } }
.postit__heading {
  font-size: 16px;
  font-weight: 700;
  line-height: 1; }

@media print, screen and (min-width: 1024px) {
  .postit__heading {
    font-size: 20px; } }
.section-box {
  margin-top: 32px;
  margin-left: -24px;
  margin-right: -24px;
  border-top: 12px solid #eee; }
  .section-box:last-child {
    border-bottom: 12px solid #eee; }

@media print, screen and (min-width: 1024px) {
  .section-box {
    border-top: 0;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    border: 6px solid #47ade2;
    border-width: 10px; }
    .section-box:last-child {
      border-bottom: 0; }
    .section-box + .section-box {
      margin-top: 80px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__wrap {
    display: flex; } }
.section-box__header {
  position: relative;
  line-height: 1;
  padding: 24px 24px 24px 48px; }
  .section-box__header::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 80px 50px 0 0;
    border-color: #47ade2 transparent transparent transparent; }

@media print, screen and (min-width: 1024px) {
  .section-box__header {
    padding-left: 64px;
    width: 30%; }
    .section-box__header::before {
      position: absolute;
      top: -10px;
      left: -10px;
      display: block;
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 160px 80px 0 0 !important;
      border-color: #333 transparent transparent transparent; } }
.section-box__body {
  padding: 0 24px 24px 24px; }

@media print, screen and (min-width: 1024px) {
  .section-box__body {
    padding: 0;
    margin-bottom: 40px;
    width: 70%; } }
@media print, screen and (min-width: 1024px) {
  .section-box__content {
    padding-right: 24px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__footer {
    display: flex;
    justify-content: flex-end;
    background-color: #47ade2;
    height: 64px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__heading {
    font-size: 32px;
    font-weight: 700;
    line-height: 1; } }
@media print, screen and (min-width: 1024px) {
  .section-box__subheading {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 0 0 0 64px;
    margin-top: 8px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__image {
    background-color: #555;
    height: 320px;
    margin-right: -24px;
    margin-top: 32px;
    margin-bottom: 32px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__cover {
    background-color: #555;
    height: 240px;
    margin-right: -24px;
    margin-bottom: 32px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__button {
    text-align: center;
    background-color: #333;
    line-height: 76px;
    display: block;
    width: 72%;
    margin-bottom: -10px;
    margin-right: -10px;
    position: relative;
    color: #fff;
    font-weight: 700;
    font-size: 32px;
    text-decoration: none;
    padding-right: 64px; } }
@media print, screen and (min-width: 1024px) {
  .section-box__icon {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #47ade2;
    height: 74px;
    width: 74px; } }
.section-box--stack {
  display: block; }
  .section-box--stack .section-box__header {
    position: relative; }

@media print, screen and (min-width: 1024px) {
  .section-box--stack .section-box__header {
    padding: 64px;
    width: auto; }
    .section-box--stack .section-box__header::before {
      position: absolute;
      top: -10px;
      left: -10px;
      display: block;
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 120px 80px 0 0;
      border-color: #333 transparent transparent transparent; } }
@media print, screen and (min-width: 1024px) {
  .section-box--stack .section-box__body {
    width: auto;
    display: flex;
    justify-content: flex-end; } }
@media print, screen and (min-width: 1024px) {
  .section-box--stack .section-box__content {
    width: 70%; } }
@media print, screen and (min-width: 1024px) {
  .section-box--stack .section-box__heading {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    padding: 0; } }
.select {
  background: 0 0;
  border: 2px solid #ddd;
  border-radius: 4px;
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  position: relative; }
  .select select {
    padding: 16px 16px;
    width: 100%; }
  .select:after {
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    content: '';
    height: 12px;
    margin-top: -8px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: rotate(45deg);
    width: 12px; }

.select--error {
  border-color: #ff2846; }

.side-bar {
  margin: 16px; }

@media print, screen and (min-width: 1024px) {
  .side-bar {
    margin: 0; } }
.side-bar__banner + .side-bar__menu, .side-bar__menu + .side-bar__banner {
  margin-top: 24px; }

@media print, screen and (min-width: 1024px) {
  .side-bar__menu {
    padding-left: 16px; } }
@media print, screen and (min-width: 1024px) {
  .side-bar__banner {
    margin-left: 16px; } }
.svg {
  background-color: transparent;
  display: inline-block;
  fill: #666;
  height: 16px;
  line-height: 1;
  width: 16px; }

.svg--primary {
  fill: #00c8de; }

.svg--secondary {
  fill: #4682b4; }

.svg--tertiary {
  fill: #708090; }

.svg--XS {
  height: 10px;
  width: 10px; }

.svg--SM {
  height: 12px;
  width: 12px; }

.svg--LG {
  height: 20px;
  width: 20px; }

.svg--XLG {
  height: 24px;
  width: 24px; }

.textarea {
  border: 2px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  height: 120px;
  padding: 12px; }
  .textarea::placeholder {
    color: #ccc; }

.textarea--error {
  border-color: #ff2846; }

.topicpath {
  margin-top: 12px;
  margin-bottom: 32px;
  margin-left: -24px;
  margin-right: -24px; }

@media print, screen and (min-width: 1024px) {
  .topicpath {
    margin-top: 16px;
    margin-bottom: 64px;
    margin-left: 0;
    margin-right: 0; } }
.topicpath__list {
  font-size: 14px;
  list-style: none;
  margin: 0;
  padding: 12px;
  line-height: 1;
  border-bottom: 1px solid #dfdfdf;
  border-top: 1px solid #dfdfdf; }

@media print, screen and (min-width: 1024px) {
  .topicpath__list {
    padding: 16px; } }
.topicpath__item {
  color: #555;
  display: inline-block;
  line-height: 1; }
  .topicpath__item::before {
    color: #555;
    content: '\0232A';
    display: inline-block;
    padding: 0 8px; }
  .topicpath__item:first-child::before {
    display: none; }
  .topicpath__item a {
    color: #00c8de;
    text-decoration: none; }
    .topicpath__item a:hover {
      text-decoration: underline; }

.topicpath--slashed .topicpath__item::before {
  content: '\0002f'; }

.topicpath--bullet .topicpath__item::before {
  content: '\02022';
  font-weight: 700; }

.topicpath--chevron .topicpath__list {
  align-items: center;
  display: flex; }
.topicpath--chevron .topicpath__item {
  align-items: center;
  display: flex; }
  .topicpath--chevron .topicpath__item::before {
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    content: '';
    display: inline-block;
    height: 6px;
    margin: -.2em 10px 0 10px;
    padding: 0;
    transform: rotate(45deg);
    width: 6px; }
  .topicpath--chevron .topicpath__item:first-child::before {
    display: none; }

.topicpath--bar > * {
  -webkit-transform: translateZ(0); }
.topicpath--bar .topicpath__inner {
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%; }
.topicpath--bar .topicpath__item {
  padding: 5px 0;
  white-space: nowrap; }
  .topicpath--bar .topicpath__item::before {
    border-right-color: #ddd;
    border-top-color: #ddd;
    height: 30px;
    margin: 0 20px 0 0;
    width: 30px; }
  .topicpath--bar .topicpath__item:first-child {
    padding-left: 16px; }
  .topicpath--bar .topicpath__item:last-child {
    padding-right: 16px; }
  .topicpath--bar .topicpath__item a {
    margin-top: 1px; }

.topicpath--cover {
  position: relative; }
  .topicpath--cover:after {
    background: -webkit-linear-gradient(left, #fff, rgba(255, 255, 255, 0));
    background: linear-gradient(left, #fff, rgba(255, 255, 255, 0));
    content: '';
    display: block;
    height: calc(100% - 2px);
    left: 0;
    position: absolute;
    top: 1px;
    width: 32px; }

.price {
  font-size: 18px;
  font-weight: 700; }

@media print, screen and (min-width: 1024px) {
  .price {
    font-size: 32px; } }
.price--campaign {
  color: #00c8de;
  font-size: 24px; }

@media print, screen and (min-width: 1024px) {
  .price--campaign {
    font-size: 40px; } }
.box--scroll {
  border: 2px solid #ddd;
  padding: 12px;
  border-radius: 6px;
  overflow-y: scroll;
  height: 160px; }
  .box--scroll p:first-child {
    margin-top: 0; }

@media print, screen and (min-width: 1024px) {
  .box--scroll {
    height: 200px; } }
@media print, screen and (min-width: 1024px) {
  .box--scroll p {
    font-size: 12px; } }
@media print, screen and (min-width: 1024px) {
  label[for=kana1], label[for=kana2] {
    font-size: 14px; } }
.banner-contact {
  padding: 12px 0;
  border: 1px solid #dfdfdf;
  border-radius: 6px;
  background-color: #fff; }

.banner-contact__icon {
  display: flex;
  justify-content: center; }

.banner-contact__text {
  margin-top: 12px;
  text-align: center;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: #555; }

@media print, screen and (min-width: 1024px) {
  .banner-contact__text {
    font-size: 18px;
    margin-top: 16px; } }
.banner-contact .svg {
  fill: #00c8de;
  width: 32px;
  height: 32px; }
.banner-contact a {
  text-decoration: none;
  color: #555; }

@media print, screen and (min-width: 1024px) {
  .banner-contact .svg {
    width: 48px;
    height: 48px; } }
@media print, screen and (min-width: 1024px) {
  .banner-contact {
    padding: 20px 0; } }
.cta {
  margin: 24px -12px 0 -12px; }

@media print, screen and (min-width: 1024px) {
  .cta {
    margin: 0; } }
.cta__body {
  display: flex;
  justify-content: space-between;
  margin-top: 12px; }

@media print, screen and (min-width: 1024px) {
  .cta__body {
    margin-top: 16px; } }
.cta__item {
  width: 31.6%; }

@media print, screen and (min-width: 1024px) {
  .cta__item {
    width: 32.4%; } }
.banner-test {
  background-color: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 0 6px rgba(51, 51, 51, 0.08); }
  .banner-test a {
    text-decoration: none; }

.banner-test__image {
  height: 60px;
  overflow: hidden; }
  .banner-test__image img {
    width: 100%; }

@media print, screen and (min-width: 1024px) {
  .banner-test__image {
    height: 80px; } }
.banner-test__text {
  background-color: #00c8de;
  color: #fff;
  font-size: 13px;
  text-align: center;
  padding: 6px 0;
  font-weight: 700; }

@media print, screen and (min-width: 1024px) {
  .banner-test__text {
    font-size: 18px;
    padding: 8px 0; } }
.u-color_primary {
  color: #00c8de; }

.u-color_secondary {
  color: #4682b4; }

.u-color_tertiary {
  color: #708090; }

.u-bold {
  font-weight: 700; }

.u-hang {
  padding-left: 1em;
  text-indent: -1em; }

.u-line-through {
  text-decoration: line-through; }

.u-leading_none\@XS {
  line-height: 1; }

.u-leading_tight\@XS {
  line-height: 1.25; }

.u-leading_snug\@XS {
  line-height: 1.375; }

.u-leading_normal\@XS {
  line-height: 1.5; }

.u-leading_relaxed\@XS {
  line-height: 1.625; }

.u-leading_loose\@XS {
  line-height: 2; }

.u-align_L\@XS {
  text-align: left; }

.u-align_R\@XS {
  text-align: right; }

.u-align_C\@XS {
  text-align: center; }

@media print, screen and (min-width: 1024px) {
  .u-align_L\@LG {
    text-align: left; }

  .u-align_R\@LG {
    text-align: right; }

  .u-align_C\@LG {
    text-align: center; } }
.u-align_H\@XS {
  display: flex;
  justify-content: center; }

.u-align_V\@XS {
  align-items: center;
  display: flex; }

.u-width_full\@XS {
  width: 100% !important; }

.u-width_1\/2\@XS {
  width: 50% !important; }

.u-width_1\/3\@XS {
  width: 33.33333% !important; }

.u-width_1\/4\@XS {
  width: 25% !important; }

@media print, screen and (min-width: 768px) {
  .u-width_full\@MD {
    width: 100% !important; }

  .u-width_1\/2\@MD {
    width: 50% !important; }

  .u-width_1\/3\@MD {
    width: 33.33333% !important; }

  .u-width_1\/4\@MD {
    width: 25% !important; } }
@media print, screen and (min-width: 1024px) {
  .u-width_full\@LG {
    width: 100% !important; }

  .u-width_1\/2\@LG {
    width: 50% !important; }

  .u-width_1\/3\@LG {
    width: 33.33333% !important; }

  .u-width_1\/4\@LG {
    width: 25% !important; } }
.u-hide\@XS {
  display: none !important; }

.u-block\@XS {
  display: block !important; }

.u-inline\@XS {
  display: inline !important; }

.u-inline-block\@XS {
  display: inline-block !important; }

@media print, screen and (min-width: 768px) {
  .u-hide\@MD {
    display: none !important; }

  .u-block\@MD {
    display: block !important; }

  .u-inline\@MD {
    display: inline !important; }

  .u-inline-block\@MD {
    display: inline-block !important; } }
@media print, screen and (min-width: 1024px) {
  .u-hide\@LG {
    display: none !important; }

  .u-block\@LG {
    display: block !important; }

  .u-inline\@LG {
    display: inline !important; }

  .u-inline-block\@LG {
    display: inline-block !important; } }
.u-MT_0\@XS {
  margin-top: 0; }

.u-MT_4\@XS {
  margin-top: 4px; }

.u-MT_8\@XS {
  margin-top: 8px; }

.u-MT_16\@XS {
  margin-top: 16px; }

.u-MT_24\@XS {
  margin-top: 24px; }

.u-MT_32\@XS {
  margin-top: 32px; }

.u-MT_48\@XS {
  margin-top: 48px; }

.u-MB_16\@XS {
  margin-bottom: 16px; }

.u-MB_32\@XS {
  margin-bottom: 32px; }

.u-PB_32\@XS {
  padding-bottom: 32px; }

@media print, screen and (min-width: 768px) {
  .u-MT_0\@MD {
    margin-top: 0; }

  .u-MT_32\@MD {
    margin-top: 32px; }

  .u-MT_64\@MD {
    margin-top: 64px; } }
@media print, screen and (min-width: 1024px) {
  .u-MT_0\@LG {
    margin-top: 0; }

  .u-MT_8\@LG {
    margin-top: 8px; }

  .u-MT_16\@LG {
    margin-top: 16px; }

  .u-MT_24\@LG {
    margin-top: 24px; }

  .u-MT_32\@LG {
    margin-top: 32px; }

  .u-MT_48\@LG {
    margin-top: 48px; }

  .u-MT_64\@LG {
    margin-top: 64px; }

  .u-MT_80\@LG {
    margin-top: 80px; }

  .u-MB_24\@LG {
    margin-bottom: 24px; }

  .u-MB_32\@LG {
    margin-bottom: 32px; }

  .u-MV_16\@LG {
    margin-bottom: 16px;
    margin-top: 16px; }

  .u-PB_0\@LG {
    padding-bottom: 0; } }
