@charset "utf-8";

/* android対策 */
p { background-image: url(../images/pix.gif); }

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1080px) {
    /* layout */
    html{
        width: 1080px;
        overflow: visible!important;
    }
    body {
        width: 1080px;
        overflow: visible!important;
    }
    .wrapper {
        position: relative;
        width: 1080px;
        margin: auto;
        padding: 0;
    }
    /* header */
    header{
        width: 1080px;
    }
    footer{
        width: 1080px;
    }
    .wrapper{
        width: 1080px;
    }
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
    .contact_btn a{
        margin-left: 0;
    }
    a#btnSP{
        display: none;
    }
    a#btnPC{
        position: fixed;
        display: block;
        width: auto;
        height: auto;
        font-size: 12px;
        padding: 10px 20px;
        border-radius: 8px;
        box-sizing: border-box;
        border: 2px solid #000;
        background-color: #fff;
        text-align: center;
        color: #000;
        text-decoration: none;
        line-height: 1em;
        margin-top: 4px;
        left: 10px;
        bottom: 20px;
        z-index: 2;
    }
}
@media screen and (min-width: 481px) {
    .switch{
        display: none;
        height: 0;
    }
    a#btnSP{
        display: none;
    }
    a#btnPC{
        display: none;
    }
}

@media screen and (min-width:1021px) {
    .switch{
        display: block;
        height: auto;
    }
    a#btnPC{
        display: none;
    }
    a#btnSP{
        position: fixed;
        display: block!important;
        width: 300px;
        height: auto;
        z-index: 100;
        font-size: 24px;
        padding: 8px;
        text-align: center;
        border-radius: 22px;
        background-color: #000;
        box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
        color: #fff;
        text-decoration: none;
        bottom: 40px;
        left: 15px;
        z-index: 99999999!important;
    }
}
@media screen and (min-width: 1023px) {
    .switch{
        display: none;
        height: 0;
    }
    a#btnSP{
        display: none!important;
    }
    a#btnPC{
        display: none;
    }
}
/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
    .pc_none{
        display: none!important;
    }
}
@media screen and (max-width: 480px) {
    /* header */
    header{
        max-width: 480px;
        width: 100%;
        height: auto;
        border-top: none;
        padding-top: 50px;
    }
    #top_menu{
        display: none;
    }
}
    /* ------------------------------------------------------------
       引出しメニュー
       ------------------------------------------------------------ */
    header .wrapper
    #navTgl:checked ~ .contents {
        -webkit-transform: translateX(-250px);
        transform: translateX(-250px);
    }
    .fixed_header {
    position: fixed;
    display: block;
    width: 100%;
    height: 50px;
    top: 0;
    left: 0;
    z-index: 99999;
    background: #fff;
    box-shadow: 0 3px 1px rgba(0,0,0,0.2);
}
    .fixed_header .logo{
    height: 50px!important;
}
    .fixed_header .logo span{
        font-size: 26px;
    font-weight: 600;
    margin: 10px 6px 0 0;
    display: inline-block;
    }
    .fixed_header .logo span.ruby{
        padding-top: 4px;
    }
    .fixed_header .logo{
        padding-left: 6px;
    }
    .fixed_header .logo,.fixed_header .logo span.ruby{
    margin-top: 0;
    transition: .4s;
    width: 100%;
    display: block;
    box-sizing: border-box;
    margin-left: 4px;
    font-size: 12px;
    font-weight: normal;
    margin: 0;
    line-height: 1em;
}
    .fixed_header label {
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
    }
    /* :::::: toggle button :::::: */
    #navTgl{
        display: none;
        overflow: hidden;
    }
    .fixed_header label {
        cursor: pointer;
        position: fixed;
        top: 0;
        right: 0;
    }
    .fixed_header .open {
        z-index: 9999;
        width: 50px;
        height: 50px;
        color: #FFF;
        background-color: #025a9f;
        font-size: 2em;
        line-height: 50px;
        text-align: center;
        -webkit-transition: background-color .6s, -webkit-transform .6s;
        transition: background-color .6s, transform .6s;
    }
    #navTgl:checked + .open {
        background-color: #043a5e;
        color: #FFF;
        -webkit-transform: translateX(-250px);
        transform: translateX(-250px);
    }
    .fixed_header .close {
        pointer-events: none;
        z-index: 1;
        width: 100%;
        height: 100%;
        transition: background-color .6s;
    }
    #navTgl:checked ~ .close{
        pointer-events: auto;
        background-color: rgba(0,0,0,.3);
    }

    /* :::::: drawer menu :::::: */
    .menu {
        z-index: 10000;
        position: fixed;
        overflow: auto;
        top: 0;
        right: 0;
        width: 250px;
        height: 100%;
        padding: 10px;
        background: rgba(0,0,0,0.7);
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: -webkit-transform .6s;
        transition: transform .6s;
        box-sizing: border-box;
    }
    .index #navTgl:checked ~ .menu {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    .menu li a {
        color: #FFF;
        font-weight: 400;
    }
    .menu ul{
        padding: 0;
    }
    .menu li {
        border-bottom: 1px solid rgba(255,255,255,.3);
        font-size: .9em;
        line-height: 1.4;
    }

    .menu li a{
        -moz-transition: .2s;
        -webkit-transition: .2s;
        -o-transition: .2s;
        -ms-transition: .2s;
        transition: .2s;
        display: block;
        padding: 1em 1em 0.8em 1.5em;
        text-decoration: none;
        transition: background-color .6s;
    }
    .menu li a:hover {
        -moz-transition: .2s;
        -webkit-transition: .2s;
        -o-transition: .2s;
        -ms-transition: .2s;
        transition: .2s;
        color: #FFF;
        background-color: #A1915D;
    }
.sub_menu{
    border: none!important;
}
.sub_menu label {
    background: green;
    color: #fff;
    padding: 10px;
    display: block;
    margin: 0;
    border-bottom: 1px solid rgba(255,255,255,.3);
position: relative;
background:none;
padding: 1em 1em 0.8em 1.5em;
}
.sub_menu label::after {
    position: absolute;
    content: "\f078";
    font-family: FontAwesome;
    right: 6px;
    top: 13px;
    z-index: 9999;
}

.sub_menu input[type="checkbox"].on-off{
    display: none;
}

.sub_menu ul {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    margin: 0;
    padding: 0;
    list-style: none;
font-size:14px;
}
.sub_menu li{
padding-left:16px;
}


.sub_menu input[type="checkbox"].on-off + ul{
    height: 0;
    overflow: hidden;
}

.sub_menu input[type="checkbox"].on-off:checked + ul{
    height: 84px;
}
.sub_menu #Panel3[type="checkbox"].on-off:checked + ul{
    height: 164px;
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
html{
    max-width: 480px;
        width: 100%;
        overflow-x: hidden;
        -webkit-text-size-adjust: 100%!important;
}
body {
    max-width: 480px;
    min-width: 320px;
    width: 100%;
    overflow-x: hidden!important;
    box-shadow: none;
    color: #000;
    font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-size: 14px;
    line-height: 1.7em;
    letter-spacing: 0;
    -webkit-text-size-adjust: 100%!important;
    top: 0!important;
    background: #fff;
    padding-top: 50px;
}

/* layout
------------------------------ */
.wrapper{
    max-width: 480px;
    width: 92%!important;
    margin: 0;
    padding: 0 4%;
}
.sp_none{
    display: none;
}
/* Common
------------------------------ */
.fl_l{
    float: none;
}
.fl_r{
    float: none;
}
.float::before,
.float::after,
.wrapper::before,
.wrapper::after{
    content: " ";
    display: block;
    clear: both;
}
.btn{
    border: 2px solid #0398e0;
    background: #0398e0;
    padding-top: 14px;
    padding-bottom: 14px;
    line-height: 1em;
    display: block;
    color: #fff;
    text-align: center;
}
.btn:hover{
    background: #fff;
    color: #0398e0;
}
.btn span{
    position: relative;
    padding-left: 22px;
}
.btn span::before{
    content: "";
    position: absolute;
    background: url(../images/btn_arrow.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 17px;
    height: 17px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.btn:hover span::before{
    background: url(../images/btn_arrow_h.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}
.c_btn{
    background: #29a547;
    padding: 20px 0;
    border: 2px solid #29a547;
    border-radius: 6px;
    line-height: 1em;
    width: 290px;
    display: block;
    text-align: center;
}
.c_btn:hover{
    background: #fff;
}
.c_btn span{
    position: relative;
    padding-left: 26px;
    color: #fff;
}
.c_btn:hover span{
    color: #29a547;
}
.c_btn span::before{
    content: "";
    position: absolute;
    background: url(../images/c_btn_icon.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    width: 17px;
    height: 15px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.c_btn:hover span::before{
    background: url(../images/c_btn_icon_h.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
}
/* Header
------------------------------ */
header{
    background: #025aa7;
    padding: 10px 0 0;
}
header .float{
    margin-bottom: 10px;
}
header .h1 span{
    font-size: 40px;
    font-weight: 600;
    margin: 5px 10px 0 0;
    display: inline-block;
}
header .h1 span.ruby,
header .h1{
    font-size: 16px;
    font-weight: normal;
    color: #fff;
    margin: 0;
}
header .h1 span.ruby{
    letter-spacing: .1em;
}
header .c_btn{
    margin-top: 4px;
}
header nav{
    background: #fff;
    text-align: center;
}
header nav li{
    display: inline-block;
    vertical-align: top;
}
header nav li a{
    padding: 18px 62px;
    display: block;
    line-height: 1em;
    font-size: 18px;
}
header nav li a:hover{
    color: #025aa7;
}
/* Index
------------------------------ */
.index1{
    background: url(../images/index1.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: top center;
    text-indent: -9999px;
    width: 100%;
    height: 0;
    padding-bottom: 50%;
}
    #index_challenge{
        padding: 40px 0 30px;
    }
    #index_challenge h2{
        font-size: 28px;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    #index_challenge .layout_flex{
        display: block;
    }
    #index_challenge .layout_flex img{
        margin: 0 auto 10px;
    }
    #index_challenge p{
        font-size: 16px;
        line-height: 1.5;
        margin-top: 20px;
    }
.index2{
    padding: 50px 0;
}
.index2 .wrapper{
    padding: 0;
    box-sizing: border-box;
}
.index2 h2{
    font-size: 28px;
    color: #005d9e;
    line-height: 1.4em;
    font-weight: normal;
    text-align: center;
    letter-spacing: .1em;
    margin-bottom: 50px;
    position: relative;
    padding-bottom: 150px;
}
.index2 h2 span{
    font-size: 34px;
}
.index2 h2::before{
    content: "";
    position: absolute;
    background: url(../images/index2-1.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    width: 275px;
    height: 150px;
    right: 0;
    top: auto;
    bottom: -25px;
    left: 0;
    margin: 0 auto;
}
.index2 h2::after{
    content: none;
    position: absolute;
    background: url(../images/index2-2.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    width: 225px;
    height: 655px;
    left: -300px;
    top: -30px;
}
.index2 p{
    margin-bottom: 50px;
    letter-spacing: .15em;
}
.index2 ul{
    text-align: center;
}
.index2 ul li{
    display: inline-block;
    width: 90%;
    margin: 0;
    margin-bottom: 10px;
}
.index3{
    background: url(../images/index3_bg1.png) no-repeat, url(../images/index3_bg2.jpg) no-repeat, #025a9f;
    -webkit-background-size: contain, cover;
    background-size: contain, cover;
    background-position: top 50px center, top 50px center;
    padding-bottom: 100px;
}
.index3 h2{
    font-size: 24px;
    text-align: center;
    padding-top: 20px;
    color: #fff;
    letter-spacing: .1em;
    line-height: 1.4em;
    background: #025a9f;
}
.index3 h2 span{
    font-size: 34px;
}
.index3 ul{
    margin-top: 10px;
    text-align: center;
}
.index3 li{
    width: 100%;
    margin-right: 0;
    display: inline-block;
    vertical-align: top;
    margin-top: 50px;
    background: #fff;
    padding-bottom: 30px;
    box-shadow: 0 0 6px rgba(0,0,0,.4);
}
.index3 li:nth-child(2n){
    margin-right: 0;
}
.index3 li img{
    width: 100%;
    height: auto;
}
.index3 li p{
    padding: 0 10px;
}
.index3 li h3{
    font-size: 30px;
    margin-top: 30px;
    margin-bottom: 20px;
}
.index3 li.index3-1 h3{
    color: #ec6e18;
}
.index3 li.index3-2 h3{
    color: #6aad2c;
}
.index3 li.index3-3 h3{
    color: #f65294;
}
.index3 li.index3-4 h3{
    color: #008ad2;
}
.index3 li h3 span{
    font-size: 32px;
    font-style: oblique;
    display: inline-block;
    margin-right: 10px;
}
.index3 li h4{
    font-size: 20px;
    margin-bottom: 20px;
}
.index3 li p{
    font-size: 16px;
}
.index3 .btn{
    width: 100%;
    margin: 60px auto 0;
}
.index4{
    padding: 80px 0 100px;
    background: url(../images/index4_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: top center;
    text-align: center;
}
.index4 h2{
    font-size: 30px;
    color: #005d9e;
    margin-bottom: 60px;
}
.index4 .mincho{
    font-size: 24px;
    margin-bottom: 50px;
    line-height: 1.4em;
}
.index4 li{
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-right: 0;
    margin-bottom: 20px;
}
.index4 li:nth-child(3n){
    margin-right: 0;
}
.index4 li img{
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}
.index4 li h3{
    line-height: 1.4em;
}
.index4 .btn{
    width: 100%;
    margin: 30px auto 0;
    color: #fff;
}
/* Sub Common
------------------------------ */
.sub_top{
    height: auto;
    font-size: 24px;
    color: #fff;
    box-sizing: border-box;
    padding-top: 16px;
    padding-bottom: 16px;
}
.sub_top h1{
    padding-bottom: 10px;
    display: inline-block;
}
.sub_top h1.h1_s{
    background: url(../images/sub_top_h1_s.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center bottom;
}
/* Greeting
------------------------------ */
#greeting .sub_top{
    background: url(../images/sub_top_greeting.jpg) no-repeat, #005d94;
    -webkit-background-size: auto 100%, cover;
    background-size: auto 100%, cover;
    background-position: right center, center center;
}
.greeting1{
    position: relative;
    padding-bottom: 80px;
}
.greeting1::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    padding-top: 10%;
    background: url(../images/greeting1_after.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center bottom;
    bottom: 0;
    left: 0;
}
.greeting1 .fl_l{
    width: 100%;
}
.greeting1 .fl_r{
    width: 80%;
    height: auto;
    margin: 0 auto 20px;
    display: block;
}
.greeting1 h2{
    font-size: 22px;
    color: #005d96;
    text-align: center;
    margin-bottom: 30px;
    font-weight: normal;
    line-height: 1.3em;
}
.greeting1 .fl_l ul{
    text-align: center;
    margin-top: 30px;
    z-index: 1;
    position: relative;
}
.greeting1 .fl_l li{
    display: inline-block;
    vertical-align: top;
    width: 300px;
    margin-right: 0;
    margin-bottom: 10px;
}
.greeting1 .fl_l li:last-child{
    margin-right: 0;
}
.greeting1 .fl_l li a{
    color: #fff;
}
.greeting1 .fl_l li a:hover{
    color: #0391d9;
}
.greeting2{
    background: #dbeaff;
    padding: 80px 0;
}
.greeting2 h2{
    font-size: 30px;
    text-align: center;
    color: #005d96;
    letter-spacing: .2em;
    margin-bottom: 50px;
    line-height: 1.2em;
}
.greeting2 h2 span{
    font-size: 40px;
}
.greeting2 li{
    margin-bottom: 40px;
    padding: 20px 10px 30px;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}
.greeting2 li img{
    width: 100%;
    height: auto;
    margin-bottom: 30px;
}
.greeting2 li .fl_r{
    width: 100%;
}
.greeting2 li h3{
    font-size: 30px;
    vertical-align: middle;
    display: block;
    margin-bottom: 20px;
    text-align: center;
}
.greeting2 li h3 .num{
    font-size: 35px;
    font-style: oblique;
    display: inline-block;
    vertical-align: baseline;
    margin-right: 16px;
    padding: 10px 14px 8px 8px;
    color: #fff;
}
.greeting2 li:nth-child(1) h3{
    color: #e46e18;
}
.greeting2 li:nth-child(1) h3 .num{
    background: #e46e18;
}
.greeting2 li:nth-child(2) h3{
    color: #6aa52c;
}
.greeting2 li:nth-child(2) h3 .num{
    background: #6aa52c;
}
.greeting2 li:nth-child(3) h3{
    color: #ee528c;
}
.greeting2 li:nth-child(3) h3 .num{
    background: #ee528c;
}
.greeting2 li:nth-child(4) h3{
    color: #0082ca;
}
.greeting2 li:nth-child(4) h3 .num{
    background: #0082ca;
}
.greeting2 li h3 .h3_sub{
    display: block;
    margin-left: 0;
    font-size: 18px;
    color: #000;
    vertical-align: text-bottom;
    margin-top: 10px;
}
/* Profile
------------------------------ */
#profile .sub_top{
    background: url(../images/sub_top_profile.jpg) no-repeat, #005d94;
    -webkit-background-size: auto 100%, cover;
    background-size: auto 100%, cover;
    background-position: right center, center center;
}
.profile1{
    padding-bottom: 120px;
}
.profile1-1 img{
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
.profile1-1 .fl_r{
    width: 100%;
    text-align: center;
}
.profile1 h2{
    color: #005d96;
    font-size: 30px;
    margin-bottom: 30px;
    letter-spacing: .1em;
}
.profile1 h2 .title{
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 10px;
    display: inline-block;
    letter-spacing: 0;
}
.profile1 h2 .eng{
    font-size: 20px;
    color: #000;
    font-weight: normal;
    display: block;
    margin-left: 0;
    letter-spacing: 0;
    margin-top: 10px;
}
.profile1-1{
    margin-bottom: 40px;
}
.profile1-1 .fl_r p{
    text-align: left;
}
.profile1-2 div{
    width: 100%;
}
.profile1-2 h3{
    font-size: 20px;
    color: #005d99;
    background: #dbeaff;
    width: 100%;
    padding: 16px 20px;
    box-sizing: border-box;
}
.profile1-2 div div{
    border: 1px solid #dbeaff;
    margin-bottom: 20px;
}
.profile1-2 div div dl,
.profile1-2 div div p{
    padding: 20px;
    font-size: 16px;
}
.profile1-2 div div dt{
    float: none;
    padding: 4px 0 0;
    width: 100%;
}
.profile1-2 div div dd{
    padding: 4px 0 8px;
}
.profile1-2 div div p .indent{
    padding-left: 1em;
    display: block;
    position: relative;
}
.profile1-2 div div p .indent::before{
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #000;
    top: 9px;
    left: 0;
}
.profile1 ul{
    text-align: center;
    margin-top: 20px;
}
.profile1 li{
    width: 100%;
    display: inline-block;
    margin: 0 0 10px;
}
.profile1 li a span{
    color: #fff;
}
.profile1 li a:hover span{
    color: #0398e0;
}
/* Activity
------------------------------ */
#activity .sub_top{
    background: url(../images/sub_top_activity.jpg) no-repeat, #005d94;
    -webkit-background-size: auto 100%, cover;
    background-size: auto 100%, cover;
    background-position: right center, center center;
}
.activity1-1 li{
    display: inline-block;
    vertical-align: top;
    width: 100%;
    margin-right: 0;
    text-align: center;
    margin-bottom: 30px;
}
.activity1-1 li:nth-child(3n){
    margin-right: 0;
}
.activity1-1 li img{
    width: 100%;
    height: auto;
}
.activity1-1 li p{
    margin-top: 8px;
}
.activity1-2{
    padding-bottom: 120px;
}
.activity1-2 ul{
    text-align: center;
    margin-top: 20px;
}
.activity1-2 li{
    width: 100%;
    display: inline-block;
    margin: 0 0 10px;
}
.activity1-2 li a span{
    color: #fff;
}
.activity1-2 li a:hover span{
    color: #0398e0;
}
/* Supporters
------------------------------ */
#supporters .sub_top{
    background: url(../images/sub_top_supporters.jpg) no-repeat, #005d94;
    -webkit-background-size: auto 100%, cover;
    background-size: auto 100%, cover;
    background-position: right center, center center;
}
.supporters1{
    padding-bottom: 110px;
    position: relative;
}
.supporters1::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    padding-top: 10%;
    background: url(../images/greeting1_after.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center bottom;
    bottom: 0;
    left: 0;
}
.supporters2 h2,
.supporters1 h2{
    font-size: 30px;
    color: #005d96;
    text-align: center;
    margin-bottom: 40px;
    line-height: 1.2em;
}
.supporters1 p{
    position: relative;
    width: 100%;
    padding-top: 250px;
}
.supporters1 p::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 260px;
    background: url(../images/supporters1.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    top: -20px;
    right: 0;
    z-index: 1;
    left: 0;
    margin: 0 auto;
}
.supporters2{
    background: #dbeaff;
    padding: 90px 0 80px;
}
.supporters2 div div{
    background: #fff;
    margin-bottom: 30px;
    width: 100%;
    box-sizing: border-box;
}
.supporters2-1{
    padding: 30px 10px;
}
.supporters2-2{
    padding: 45px 10px;
}
.supporters2-1 li{
    display: inline-block;
    vertical-align: top;
    width: 100%;
    margin-right: 0;
    text-align: center;
}
.supporters2-1 li:last-child{
    margin-right: 0;
    margin-top: 20px;
}
.supporters2-1 li p.num{
    padding-left: 30px;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 6px;
    position: relative;
    display: inline-block;
}
.supporters2-1 li p.num span{
    font-size: 22px;
    color: #025a9f;
    display: inline-block;
    margin-left: 10px;
    font-family: Arial Black;
    letter-spacing: .06em;
}
.supporters2-1 li:nth-child(1) p.num::before{
    content: "";
    position: absolute;
    width: 25px;
    height: 25px;
    background: url(../images/supporters2-1.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    -webkit-background-size: contain;
    background-size: contain;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.supporters2-1 li:nth-child(2) p.num::before{
    content: "";
    position: absolute;
    width: 25px;
    height: 25px;
    background: url(../images/supporters2-2.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    -webkit-background-size: contain;
    background-size: contain;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.supporters2-2 h3{
    padding-left: 50px;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 30px;
    position: relative;
    display: inline-block;
}
.supporters2-2 h3::before{
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    background: url(../images/supporters2-3.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    -webkit-background-size: contain;
    background-size: contain;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.supporters2-2 .form{
    margin-top: 30px;
    position: relative;
    z-index: 1;
    border-top: 1px solid #025a9f;
    border-left: 1px solid #025a9f;
}
.supporters2-2 .form::before{
    content: none;
    position: absolute;
    width: 270px;
    height: 100%;
    background: #025a9f;
    top: 0;
    left: 0;
    z-index: -1;
}
.supporters2-2 .form dt{
    float: left;
    padding: 10px 10px 10px 20px;
    color: #fff;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background: #025a9f;
}
.supporters2-2 .form dt span{
    position: absolute;
    font-size: 14px;
    padding: 4px 8px;
    right: 25px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    line-height: 1em;
    height: 14px;
    border-radius: 4px;
}
.supporters2-2 .form dt span.must{
    background: #ef607f;
}
.supporters2-2 .form dt span.any{
    background: #8e8e8e;
}
.supporters2-2 .form dd{
    padding: 8px!important;
    border-right: 1px solid #025a9f;
    border-bottom: 1px solid #025a9f;
    position: relative;
}
.supporters2-2 .form dd::before{
    content: none;
    position: absolute;
    background: #fff;
    height: 1px;
    width: 270px;
    bottom: -1px;
    left: 0;
}
.supporters2-2 .form dd:last-of-type::before{
    content: none;
}
.supporters2-2 .form dd input{
    height: 30px;
    border: solid 1px #c9c9c9;
    font-size: inherit;
    font-family: inherit;
    box-sizing: border-box;
}
.supporters2-2 .form dd .input1{
    width: 100%;
}
.supporters2-2 .form dd .input2{
    width: 100%;
}
.supporters2-2 .form dd .input3{
    width: 100%;
    margin: 0 0 6px 0;
}
.supporters2-2 .form dd p{
    padding-bottom: 6px;
}
.supporters2-2 .form dd p,
.supporters2-2 .form dd  .input3{
    display: inline-block;
    vertical-align: baseline;
}
.supporters2-2 textarea{
    width: 100%!important;
    height: 110px!important;
    resize: none;
    vertical-align: top;
    border: solid 1px #c9c9c9;
    font-size: inherit;
    font-family: inherit;
    box-sizing: border-box;
}
.supporters2-2 .center{
    text-align: center;
}
.supporters2-2 #privacy_policy{
    width: 100%;
    height: 197px;
    display: block;
    margin: 30px auto;
    border: solid 1px #c9c9c9;
    overflow: scroll;
    padding: 20px;
    box-sizing: border-box;
    text-align: left;
}
.supporters2-2 #privacy_policy h4{
    font-weight: normal;
}
.supporters2-2 #privacy_policy p{
    margin-top: 16px;
    font-size: 14px;
}
.check_text input{
    margin-right: 10px;
    vertical-align: text-top;
}
.check_text:hover{
    cursor: pointer;
}
.check_text span{
    padding-left: 0px;
    display: block;
    vertical-align: middle;
    line-height: 1.6em;
    margin-top: 6px;
}
.supporters2-2 button{
    transition: .25s;
}
.supporters2-2 .btn{
    width: 100%;
    cursor: pointer;
    outline: none;
    appearance: none;
    font-size: 16px;
    margin: 30px auto 0;
}
.supporters2-2 .btn[disabled]{
    opacity: .5;
}
.supporters2-2 .btn[disabled]:hover{
    cursor: default;
    background: #0398e0;
    color: #fff;
}
.supporters2-2 .btn[disabled]:hover span::before{
    background: url(../images/btn_arrow.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}
/* Breadcrumb
------------------------------ */
.breadcrumb{
    margin-top: 8px;
    margin-bottom: 50px;
}
.breadcrumb ul li{
    display: inline-block;
    vertical-align: top;
    margin-right: 30px;
    position: relative;
    font-size: 12px;
}
.breadcrumb ul li::after{
    content: ">";
    position: absolute;
    right: -20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.breadcrumb ul li:last-child::after{
    content: none;
}
.breadcrumb ul li a:hover{
    color: #005d96;
}
/* Footer
------------------------------ */
footer{
    width: 100%;
}
.footer_top{
    background: url(../images/footer_top_bg.jpg);
    -webkit-background-size: 270px auto;
    background-size: 270px auto;
    padding: 110px 0;
    text-align: center;
}
.footer_top .footer_contact{
    border: 9px solid #025a9e;
    width: 100%;
    text-align: left;
    margin: auto;
    background: #fff;
    position: relative;
    padding: 40px 20px;
    box-sizing: border-box;
    text-align: right;
}
.footer_top .footer_contact::before{
    content: none;
    position: absolute;
    background: url(../images/footer_contact_before.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center bottom;
    width: 90%;
    height: 390px;
    left: 0;
    bottom: 0;
}
.footer_top .footer_contact h2{
    font-size: 26px;
    line-height: 1.4em;
    margin-bottom: 20px;
    text-align: left;
}
.footer_top .footer_contact p{
    margin-bottom: 30px;
    font-size: 16px;
    text-align: left;
}
.footer_top .footer_contact .c_btn{
    margin: 0;
    width: 100%;
}
.footer_bottom{
    padding-top: 50px;
    background: #025a9e;
    color: #fff;
}
.footer_bottom .float{
    margin-bottom: 50px;
}
.footer_bottom .fl_l{
    text-align: center;
}
.footer_bottom h2{
    font-size: 18px;
    margin-bottom: 10px;
}
.footer_bottom h2 span{
    font-size: 30px;
    display: inline-block;
    margin-left: 10px;
}
.footer_bottom ul{
    margin-bottom: 20px;
    display: none;
}
.footer_bottom li{
    display: inline-block;
    vertical-align: top;
    margin-right: 40px;
}
.footer_bottom li:last-child{
    margin-right: 0;
}
.footer_bottom li a{
    color: #fff;
    position: relative;
}
.footer_bottom li a::before{
    content: "";
    position: absolute;
    bottom: -6px;
    width: 100%;
    height: 1px;
    background: #fff;
    opacity: 0;
    transition: .25s;
}
.footer_bottom li a:hover::before{
    opacity: 1;
    bottom: -3px;
}
.footer_bottom .footer_fb{
    background: #fff;
    color: #025a9e;
    padding: 10px 20px 10px 20px;
    display: inline-block;
    line-height: 1.4em;
    width: 100%;
    box-sizing: border-box;
    margin-top: 20px;
}
.footer_bottom .footer_fb h3{
    padding-left: 30px;
    position: relative;
}
.footer_bottom .footer_fb h3::before{
    content: "";
    position: absolute;
    background: url(../images/fb.jpg) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    width: 25px;
    height: 25px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.footer_bottom .footer_fb p{
    position: relative;
}
.footer_bottom .footer_fb p::after{
    content: "";
    position: absolute;
    background: url(../images/fb_arrow.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center center;
    width: 10px;
    height: 15px;
    right: -10px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: .25s;
}
.footer_bottom .footer_fb:hover p::after{
    right: -10px;
}
.copyright{
    background: #fff;
    padding: 10px 0 80px;
    text-align: center;
    color: #000;
}
.copyright a{
    border-bottom: 1px solid #000;
}
/* Page Top
------------------------------ */
.pagetop {
    position: fixed;
    bottom: 12px;
    right: 30px;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    z-index: 10!important;
    border: 1px solid #fff;
}
.pagetop a{
    display: block;
    width: 50px;
    height: 30px;
    text-indent: -9999px;
    background: #025a9e;
    text-align: center;
    font-weight: bold;
    color: #FFF;
    font-size: 30px;
    padding-top: 20px;
}
.pagetop a::before,
.pagetop a::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1px;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.pagetop a:before{
    width: 48px;
    height: 30px;
    background: #025a9e;
}
.pagetop a:after{
    left: 15px;
    top: 10px;
    width: 20px;
    height: 20px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.pagetop.show{
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}
.pagetop a:hover{
    text-decoration: none;
    background: #FFF;
}
.pagetop a:hover:before{
    border-color: #025a9e;
    background: #FFF;
}
.pagetop a:hover:after{
    background: none;
    border-top: 1px solid #025a9e;
    border-right: 1px solid #025a9e;
}



}