/**
 Advanced Checkbox Hack
http://timpietrusky.com/advanced-checkbox-hack

 # What? #
 The better Checkbox-Hack because it works for both iOS and Android.

 ## 1. Android <= 4.1.2
 pseudo-class + general/adjacent sibling doesn't
 work on Android so we need a hack:

 body { -webkit-animation: bugfix infinite 1s; }
 @-webkit-keyframes bugfix { from {padding:0;} to {padding:0;} }

 ## 2. iOS < 6.0
 Due to a bug on iOS it's not possible to click the label
 to toggle the input (checkbox), so we add an empty
 onclick to the label:

 <label for="button" onclick>click / touch</label>


 # 2012 by Tim Pietrusky
 # timpietrusky.com
**/
body { -webkit-animation: bugfix infinite 1s; }
@-webkit-keyframes bugfix {
    from {padding:0;} to {padding:0;}
}

body {
    font-family: 'Open Sans', sans-serif;
    margin: 0;
    color: #3e3e3d;
    -webkit-font-smoothing: antialiased;
}
hr {
    color: #585857;
    border-width: 2px 0 0 0;
    border-top-style: solid;
}
* {
    font-size: 16px;
}
* {
    font-size: 1em;
}
h1 {
    font-size: 1.33em;
    text-transform: uppercase;
    font-weight: bold;
    color: #00359c;
}
h2 {
    font-size: 1.17em;
    text-transform: uppercase;
    font-weight: bold;
    color: #00359c;
    text-align: center;
    margin: 16px 20px;
}
h2 img {
    width: 36px;
    height: auto;
}
h3 {
    font-size: 1em;
    text-transform: uppercase;
    font-weight: 600;
    color: #6f6e6e;
    margin: 0 20px;
    text-align: center;
}
h4 {
    font-size: 1em;
    text-transform: uppercase;
    font-weight: bold;
}
p  {
    font-size: 1em;
}
a {
    font-size: 1em;
    color: inherit;
    text-decoration: none;
}
img {
    height: 100%;
}
ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
span, b {
    font-size: 1em;
}
.accent {
    color: #f62e25;
    font-weight: bold;
}
.vertical-center, .vertical-bottom, .vertical-top {
    /* May want to do this if there is risk the container may be narrower than the element inside */
    white-space: nowrap;
    text-align: center;
}
.vertical-center::before, .vertical-bottom::before, .vertical-top::before{
    content: '';
    display: inline-block;
    height: 100%;
    margin-right: -0.25em; /* Adjusts for spacing */
}
.vertical-center > *, .vertical-bottom > *, .vertical-top > * {
    display: inline-block;
}
.vertical-center::before, .vertical-center > *{
    vertical-align: middle;
}
.vertical-bottom::before, .vertical-bottom > *{
    vertical-align: bottom;
}
.vertical-top::before, .vertical-top > *{
    vertical-align: top;
}
.white-bg {
    background-color: #fff;
}
.gray-bg {
    background-color: #dadada;
}
.padding-top-bottom {
    padding: 16px 0 48px;
    margin-bottom: -48px;
}
.row > * {
    float: left;
    position: relative;
}
.row::after {
    content: " ";
    display: block;
    clear: both;
    width: 0;
}
/*modal*/
.toggle {
    position: absolute;
    visibility: hidden;
}
.modal-contain {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  z-index: 999;
}
.toggle:checked ~ .modal-contain {
  visibility: visible;

}
.modal-close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: default;
}
.modal {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  -moz-transform: translateY(-50%);
                    -o-transform: translateY(-50%);
               transform: translateY(-50%);
  margin: 0 auto;
  width: 25em;
  padding: 1em;
  background: #fff;
  max-height: 90%;
}

.header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
}
.header .banner-wraper {
    display: none;
}
.header .navbar {
    background-color: #d82926;
    padding: 8px 64px;
    position: relative;
    text-align: center;
}
.header .navbar .menu-img {
    position: absolute;
    height: 100%;
    top: 0;
    left: 20px;
}
.header .navbar .menu-img img {
    width: 24px;
    height: auto;
}
.header .navbar .toggle {
    position: absolute;
    visibility: hidden;
}
.header .navbar .logo {
    height: 60px;
}
.header .navbar .list {
    position: absolute;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #00359c;
    background-color: rgba(0, 53, 156, 0.8);
    -webkit-backdrop-filter: blur(5px);
    color: #fff;
    overflow: hidden;
    height: 0;
    -webkit-transition: all 0.5s cubic-bezier(.7, 0, .3, 1);
    -o-transition: all 0.5s cubic-bezier(.7, 0, .3, 1);
    -moz-transition: all 0.5s cubic-bezier(.7, 0, .3, 1);
    transition: all 0.5s cubic-bezier(.7, 0, .3, 1);
}
.header .navbar .toggle:checked ~ .list {
    height: 204px;
    padding: 10px 0;
}
.header .navbar .list a {
    display: inline-block;
    padding: 0.75em 0px .5em;
    text-transform: uppercase;
    font-weight: bold;
    border-bottom: 4px solid transparent;
    font-size: 1em;
}
.header .navbar .list a:hover {
    border-color: #f62e25;
}
.header .navbar .list a.active {
    color: #00359c;
}
.content {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 76px;
    overflow: hidden;
    width: 100%;
}
.swiper-button-prev {
    background-image: url('../img/arrow-left.svg');
    background-color: rgba(255, 255, 255, 0.1);
    -webkit-background-size: 11px auto;
       -moz-background-size: 11px auto;
         -o-background-size: 11px auto;
            background-size: 11px auto;
    width: 24px;
    left: 0;
}
.swiper-button-next {
    background-image: url('../img/arrow-right.svg');
    background-color: rgba(255, 255, 255, 0.1);
    -webkit-background-size: 11px auto;
       -moz-background-size: 11px auto;
         -o-background-size: 11px auto;
            background-size: 11px auto;
    width: 24px;
    right: 0;
}
.swiper-container-horizontal > .swiper-scrollbar {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    -webkit-border-radius: 0;
       -moz-border-radius: 0;
            border-radius: 0;
}
.swiper-scrollbar-drag {
    -webkit-border-radius: 0;
       -moz-border-radius: 0;
            border-radius: 0;
    height: 4px;
    top: -1px;
    background-color: #9d9d9c;
}
.footer {
    background-color: #00359c;
    border-top: 10px solid #f92421;
    border-bottom: 10px solid #002975;
    color: #fff;
    position: relative;
}
.footer > * {
    margin: 16px auto 0;
    width: 280px;
}
.footer > *:last-child {
    margin: 16px auto;
}
.ibc-row-footer {

}
.ibc-row-footer .col-1 {
    width: 96px;
    padding-left: 40px;
    margin-right: 24px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.ibc-row-footer .col-1::after {
    content: " ";
    position: absolute;
    top: 0;
    right: -12px;
    border-left: 2px solid #fff;
    height: 100%;
}
.ibc-row-footer .col-1 img {
    width: 100%;
    height: auto;
}
.ibc-row-footer .col-2 {
    width: 160px;
    padding-right: 40px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.ibc-row-footer .col-2 p {
    font-size: 0.6em;
    text-align: left;
    margin: 0;
    white-space: normal;
}
.ibc-row-footer .col-2 span {
    font-size: 1em;
    font-weight: bold;
}
.ibc-row-footer .col-3 {
    width: 280px;
    /*margin: 8px 0;*/
}
.ibc-row-footer .col-3 a {
    font-size: 0.6em;
}
.footer a:hover {
    color: #d82926;
}
.ibc-row-footer .col-3 img {
    width: 20px;
    height: auto;
}
.powered {

}
.powered p {
    text-align: center;
    font-size: 0.5em;
    margin: 0;
}
/*phablet*/
@media (min-width: 36em) {

}
/*tablet*/
@media (min-width: 48em) {
    h1 {
        font-size: 2em;
    }
    h2 {
        font-size: 2em;
    }
    h2 img {
        width: 70px;
        height: auto;
    }
    h3 {
        font-size: 1.5em;
        text-align: left;
    }
    h4 {
        font-size: 1.33em;
    }
    p, a  {
        font-size: 1em;
    }
    .header .banner-wraper {
        display: block;
        background-image: url('../img/header/banner.jpg');
        -webkit-background-size: cover;
           -moz-background-size: cover;
             -o-background-size: cover;
                background-size: cover;
        background-position: center;
        position: relative;
        height: 302px;
    }
    .header.condensed .banner-wraper{
        display: none;
    }
    .header .banner {
        width: 768px;
        height: 260px;
        margin: auto;
        position: relative;
        text-align: left;
    }
    .header .banner img{
        width: 680px;
        height: auto;
    }
    .header .banner-wraper .logo {
        position: absolute;
        height: 100px;
        left: 50%;
        bottom: -10px;
        z-index: 1;
        -webkit-border-radius: 50%;
           -moz-border-radius: 50%;
                border-radius: 50%;
    }
    .header .banner-wraper .logo img {
        right: 50%;
        position: relative;
    }
    .header .banner-wraper .title {
        margin: 0 0 0 50%;
        padding: 10px 70px;
        text-transform: uppercase;
        font-weight: bold;
        background-color: #00359c;
        background-color: rgba(0, 53, 156, 0.8);
        color: #fff;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .header .navbar-wraper {
        /*border-bottom: 2px solid #d82926;*/
        background-color: #dadada;
        background-color: rgba(218, 218, 218, 0.90);
        -webkit-backdrop-filter: blur(5px);
        line-height: 0;
    }
    .header .navbar {
        padding: 0;
        text-align: left;
        background-color: transparent;
        width: 768px;
        height: 50px;
        margin: auto;
    }
    .header .navbar .menu-img {
        visibility: hidden;
    }
    .header .navbar .logo {
        display: none;
    }
    .header.condensed .logo {
        display: inline-block;
        text-align: right;
        width: 134px;
        height: 50px;
        background-color: #d82926;
    }
    .header .navbar {
        text-align: center;
    }
    .header.condensed .navbar {
        text-align: left;
    }
    .header .navbar .list, .header .navbar .toggle:checked ~ .list {
        position: static;
        width: auto;
        display: inline-block;
        background-color: transparent;
        -webkit-backdrop-filter: none;
        color: #454545;
        padding: 0 16px;
        margin-left: 24px;
        line-height: 1em;
        height: auto;
    }
    .header .navbar .list > * {
        float: left;
        margin: 0 32px;
    }
    .header.condensed .navbar .list > * {
        margin: 0 10px;
    }
    .header .navbar .list > *:first-child {
        margin-left: 0;
    }
    .header .navbar .list a {
        font-size: 1em;
    }
    .header.condensed ~ .content {
        padding-top: 50px;
    }
    .header-marker {
        position: absolute;
    }
    .content {
        position: relative;
        padding-top: 352px;
        padding-bottom: 48px;
    }
    .ibc-row-footer {
        width: 668px;
    }
    .ibc-row-footer .col-1 {
        width: 80px;
        padding: 0;
        margin-right: 32px;
    }
    .ibc-row-footer .col-1::after {
        right: -16px;
    }
    .ibc-row-footer .col-2 {
        width: 325px;
        padding: 0;
        margin-right: 32px;
        text-align: left;
    }
    .ibc-row-footer .col-2 p {
        font-size: 0.85em;
        text-align: left;
        margin: 0;
    }
    .ibc-row-footer .col-3 {
        width: 199px;
        margin: 0;
        text-align: right;
    }
    .ibc-row-footer .col-3 a {
        font-size: 0.85em;
    }
    .footer > * {
        margin: 24px auto 0;
    }
    .footer > *:last-child {
        margin: 24px auto;
    }
    .footer a:hover {
        color: #d82926;
    }
    .ibc-row-footer .col-3 img {
        width: 32px;
        height: auto;
    }
    .powered p {
        font-size: 0.6em;
    }
}
/*small-pc*/
@media (min-width: 64em) {
    .header .banner {
        width: 1024px;
    }
    p {
        font-size: 1em;
    }
    .header .banner-wraper .title {
        padding: 10px 10px 10px 70px;
        width: 50%;
        -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
                box-sizing: border-box;
    }
    .header .navbar {
        width: 1024px;
    }
    .header .navbar .list a {
        font-size: 1.17em;
    }
    .ibc-row-footer {
        width: 924px;
    }
    .ibc-row-footer .col-1 {
        width: 80px;
        margin-right: 32px;
    }
    .ibc-row-footer .col-1 img {
        width: 100%;
    }
    .ibc-row-footer .col-2 {
        width: 366px;
        margin-right: 239px;
    }
    .ibc-row-footer .col-3 {
        width: 207px;
    }
}
/*medium-pc*/
@media (min-width: 90em) {
    .header .banner-wraper {
        height: 440px;
    }
    .header .banner {
        width: 1440px;
        height: 380px;
    }
    .header .banner img{
        width: 960px;
    }
    .header .banner-wraper .logo {
        height: 155px;
        width: 155px;
        bottom: -24px;
    }
    .header .banner-wraper .title {
        padding: 16px 16px 16px 90px;
        font-size: 1.33em;
    }
    .header .navbar {
        width: 1196px;
        height: 75px;
    }
    .header .navbar .list a {
        font-size: 1.33em;
    }
    .header.condensed .navbar .logo {
        height: 75px;
        width: 200px;
    }
    .content {
        padding-top: 515px;
    }
    .header.condensed ~ .content {
        padding-top: 75px;
    }
    .ibc-row-footer {
        width: 1164px;
    }
    .ibc-row-footer .col-1 {
        width: 117px;
    }
    .ibc-row-footer .col-1 img {
        width: 92px;
        height: auto;
    }
    .ibc-row-footer .col-2 {
        width: 417px;
        margin-right: 331px;
    }
    .ibc-row-footer .col-2 p {
        font-size: 1em;
    }
    .ibc-row-footer .col-3 {
        width: 267px;
    }
    .ibc-row-footer .col-3 a {
        font-size: 1em;
    }
    .ibc-row-footer .col-3 img {
        width: 37px;
    }
    .powered  p {
        font-size: 0.7em;
    }
}
/*large-pc*/
@media (min-width: 102em) {
    h1 {
        font-size: 2.5em;
    }
    p {
        font-size: 1.17em;
    }
}
