@charset "UTF-8";
/* CSS Document */
/* 画像サイズ調整 ---------------------------------------------------------------------------*/
/* フォントサイズ調整 ---------------------------------------------------------------------------*/
/* ブレークポイント ---------------------------------------------------------------------------*/
/*_____ font weight _______________*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css?family=Heebo:300,400,500,700|Roboto:400,500");
html, body { font-size: 10px; }
body, td, th, input, textarea { color: #000; font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif; line-height: 1.5; font-weight: 400; }
body { overflow-wrap: break-word; }
a, a:link, a:visited, a:active, a:hover, a:hover img { color: inherit; text-decoration: none; /* filter: alpha(opacity=80); -ms-filter: "alpha(opacity=80)"; opacity: .80; */ }
a:hover { text-decoration: none; }
a:hover, a:hover img, .img_hover:hover { /* filter: alpha(opacity=80); -ms-filter: "alpha(opacity=80)"; opacity: .80; */ }
img { vertical-align: bottom; }
.img_ck { font-size: 0.1rem; line-height: 0; }
/* clearfix (micro) */
.clearfix:before, .clearfix:after { content: ' '; display: table; }
.clearfix:after { clear: both; }
/* For IE 6/7 only */
.clearfix { *zoom: 1; }
div, p { /*word-break: break-all;*/ }
h1, h2, h3, h4, h5, h6, div, p, ul, ol, li, dl, dt, dd, img, nav, figure { margin: 0; padding: 0; }
ul, ol, li { list-style: none; }
em, address { font-style: normal; }
/*---------------------------------------------------------------------------*/
/* CMS用 */
.file { border-top: 1px dotted #cccccc; margin: 15px 0; padding: 10px 0 0; text-align: left; }
.file .pdf { background: url(../images/cms/pdf.png) left center no-repeat; line-height: 37px; padding: 4px 0 0 40px; }
.file .ppt { background: url(../images/cms/ppt.png) left center no-repeat; line-height: 37px; padding: 4px 0 0 40px; }
.file .xls, .file .xlsx { background: url(../images/cms/xls.png) left center no-repeat; line-height: 37px; padding: 4px 0 0 40px; }
.file .doc, .file .docx { background: url(../images/cms/doc.png) left center no-repeat; line-height: 37px; padding: 4px 0 0 40px; }
.top-right { float: right; margin: 0px 0px 30px 30px; }
.top-left { float: left; margin: 0px 30px 30px 0px; }
.top-center { margin: 0px 0px 30px 0px; text-align: center; }
.bottom-right { float: right; margin: 30px 0px 0px 30px; }
.bottom-left { float: left; margin: 30px 30px 0px 0px; }
.bottom-center { margin: 30px 0px 0px 0px; text-align: center; }
.entry-container b { font-weight: bold; }
.entry-container i { font-style: italic; }
.tab_main .list_tab .tab_item { -webkit-animation-duration: 0.75s; -moz-animation-duration: 0.75s; animation-duration: 0.75s; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; display: none; }
.tab_main .list_tab .tab_item.active { display: block; -moz-animation-name: vanishIn; animation-name: vanishIn; -webkit-animation-name: vanishIn; }
@-webkit-keyframes vanishIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-moz-keyframes vanishIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes vanishIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes hvr-icon-pop { 50% { -webkit-transform: scale(1.45);
    transform: scale(1.45); } }
@-moz-keyframes hvr-icon-pop { 50% { -webkit-transform: scale(1.45);
    -moz-transform: scale(1.45);
      transform: scale(1.45); } }
@keyframes hvr-icon-pop { 50% { -webkit-transform: scale(1.45);
    -moz-transform: scale(1.45);
      transform: scale(1.45); } }
/*---------------------------------------------------------------------------*/
body, td, th, input, textarea { font-size: 1.4rem; }
* { -moz-box-sizing: border-box; box-sizing: border-box; word-break: break-all; }
.container { width: 100%; min-width: 1200px; }
header, footer, .contents { /* For IE 6/7 only */ *zoom: 1; clear: both; position: relative; }
header:before, header:after, footer:before, footer:after, .contents:before, .contents:after { content: ' '; display: table; }
header:after, footer:after, .contents:after { clear: both; }
.inner { width: 1000px; margin: auto; /* For IE 6/7 only */ *zoom: 1; }
.inner:before, .inner:after { content: ' '; display: table; }
.inner:after { clear: both; }
a { -webkit-transition: all .3s 0s ease; -moz-transition: all .3s 0s ease; transition: all .3s 0s ease; }
a:hover { opacity: .7; }
img { max-width: 100%; }
.break_pc { display: block; }
.break_sp { display: none; }
.sp { display: none !important; }
.sp_link { pointer-events: none; }
.sp_link:hover { cursor: default; opacity: 1; }
.header_content { z-index: 1000; /* For IE 6/7 only */ *zoom: 1; position: fixed; border-bottom: solid 1px #e8e8e8; background: #fff; left: 0; top: 0; min-width: 1200px; width: 100%; padding: 0 16px 0; }
.header_content:before, .header_content:after { content: ' '; display: table; }
.header_content:after { clear: both; }
.header_content .logo { float: left; }
.header_content .logo a { display: block; }
.header_content .logo span { display: block; font-weight: 400; color: #000; line-height: 26px; font-size: 1.2rem; margin: 3px 0 2px; }
.header_content ._right { /* For IE 6/7 only */ *zoom: 1; text-align: center; }
.header_content ._right:before, .header_content ._right:after { content: ' '; display: table; }
.header_content ._right:after { clear: both; }
.header_content ._right .nav_menu { padding-top: 27px; display: inline-block; }
.header_content ._right .nav_menu > ul { font-size: 0rem; text-align: center; letter-spacing: 0; padding: 0 25px 0 20px; }
.header_content ._right .nav_menu > ul > * { display: inline-block; vertical-align: middle; font-size: 1.4rem; }
.header_content ._right .nav_menu > ul li { margin-right: 58px; position: relative; padding-bottom: 26px; }
.header_content ._right .nav_menu > ul li.drop_down { position: relative; cursor: pointer; }
.header_content ._right .nav_menu > ul li.drop_down:hover .drop_lst { visibility: visible; opacity: 1; z-index: 1; -webkit-transform: translateY(0%); -moz-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%); -webkit-transition-delay: 0s, 0s, 0.3s; -moz-transition-delay: 0s, 0s, 0.3s; transition-delay: 0s, 0s, 0.3s; }
.header_content ._right .nav_menu > ul li.drop_down .drop_lst { background: #fff; padding: 24px 29px; visibility: hidden; opacity: 0; -webkit-transform: translateY(-10px); -moz-transform: translateY(-10px); -ms-transform: translateY(-10px); transform: translateY(-10px); z-index: -1; -webkit-transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; -moz-transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; position: absolute; left: -56px; right: 0; width: 189px; top: 100%; text-align: center; -moz-box-shadow: 0 0 9px rgba(20, 31, 38, 0.15); box-shadow: 0 0 9px rgba(20, 31, 38, 0.15); }
.header_content ._right .nav_menu > ul li.drop_down .drop_lst li { float: none; margin-right: 0; padding: 0 3px; display: block; }
.header_content ._right .nav_menu > ul li.drop_down .drop_lst li a { font-size: 1.6rem; display: block; color: #000; letter-spacing: 1px; padding: 17px 0px 18px; line-height: 18px; text-align: center; }
.header_content ._right .nav_menu > ul li.drop_down .drop_lst li a:hover { opacity: .8; color: #000; }
.header_content ._right .nav_menu > ul li.drop_down .drop_lst li a:after { display: none; }
.header_content ._right .nav_menu > ul li.drop_down .drop_lst li::after { height: 4px; }
.header_content ._right .nav_menu > ul li.drop_down::after { z-index: 0; }
.header_content ._right .nav_menu > ul li:last-child { margin-right: 0; }
.header_content ._right .nav_menu > ul li a { font-size: 1.4rem; color: #000; line-height: 17px; display: block; font-weight: 400; letter-spacing: 1.75px; padding: 10px 4px; width: 100%; }
.header_content ._right .nav_menu > ul li:hover > a, .header_content ._right .nav_menu > ul li:focus > a, .header_content ._right .nav_menu > ul li.active > a { /* color: $col_blue!important; */ opacity: 1; }
.header_content ._right .nav_menu > ul li:hover::after, .header_content ._right .nav_menu > ul li:focus::after, .header_content ._right .nav_menu > ul li.active::after { height: 2px; bottom: 0; opacity: 1; -webkit-transform: translateY(0px); -moz-transform: translateY(0px); -ms-transform: translateY(0px); transform: translateY(0px); }
.header_content ._right .nav_menu > ul li:first-child:after { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
.header_content ._right .nav_menu > ul li:after { position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #62d5ff; content: ''; opacity: 0; -webkit-transform: translateY(-10px); -moz-transform: translateY(-10px); -ms-transform: translateY(-10px); transform: translateY(-10px); -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s; transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s; -moz-transition: height 0.3s, opacity 0.3s, transform 0.3s, -moz-transform 0.3s; transition: height 0.3s, opacity 0.3s, transform 0.3s; transition: height 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s; }
.header_content ._right .number_box { float: right; padding-top: 20px; }
.header_content ._right .number_box .tel_logo { padding-top: 7px; }
.header_content ._right .number_box .tel_logo, .header_content ._right .number_box .tel_box { display: inline-block; vertical-align: top; }
.header_content ._right .number_box .tel_box { margin-left: 16px; position: relative; }
.header_content ._right .number_box .tel_box a { font-size: 3rem; line-height: 31.5px; color: #000; font-family: 'Heebo', sans-serif; font-weight: 500; letter-spacing: 0.5px; padding-left: 38px; }
.header_content ._right .number_box .tel_box a::before { content: ''; position: absolute; left: 0; top: 2px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -1221px -191px; width: 26px; height: 26px; }
.header_content ._right .number_box .tel_box p { font-size: 1.2rem; line-height: 17px; color: #000; text-align: left; padding-left: 39px; }
.header_top .contents { margin-top: 0; }
.header_top .header_content { position: absolute; background: transparent; border-bottom: none; /* transition: all .35s ease; */ }
.header_top .header_content .logo span { color: #fff; font-size: 1.4rem; margin: 9px 0 12px; }
.header_top .header_content ._right .nav_menu { padding-top: 35px; }
.header_top .header_content ._right .nav_menu ul { padding: 0 25px 0 110px; }
.header_top .header_content ._right .nav_menu ul li { padding-bottom: 18px; }
.header_top .header_content ._right .nav_menu ul li a { color: #fff; font-size: 1.6rem; }
.header_top .header_content ._right .nav_menu ul li a:hover::after, .header_top .header_content ._right .nav_menu ul li a:focus::after { top: 53px; }
.header_top .header_content ._right .nav_menu ul li:hover > a, .header_top .header_content ._right .nav_menu ul li:focus > a { color: #62d5ff; opacity: 1; }
.header_top .header_content ._right .number_box { padding-top: 25px; }
.header_top .header_content ._right .number_box .tel_logo { display: none; }
.header_top .header_content ._right .number_box .tel_box a { font-size: 3.6rem; line-height: 36px; color: #fff; }
.header_top .header_content ._right .number_box .tel_box a:before { background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -1171px -191px; width: 30px; height: 30px; }
.header_top .header_content ._right .number_box .tel_box p { font-size: 1.4rem; color: #fff; }
.header_top .header_content.hide { top: -100px; }
.header_top .header_content.fixed { z-index: 1000; /* For IE 6/7 only */ *zoom: 1; position: fixed; border-bottom: solid 1px #e8e8e8; background: #fff; left: 0; top: 0; min-width: 1200px; width: 100%; padding: 0 16px 0; }
.header_top .header_content.fixed:before, .header_top .header_content.fixed:after { content: ' '; display: table; }
.header_top .header_content.fixed:after { clear: both; }
.header_top .header_content.fixed .logo { float: left; }
.header_top .header_content.fixed .logo a { display: block; }
.header_top .header_content.fixed .logo a img { width: 150px; margin-left: -5px; }
.header_top .header_content.fixed .logo span { display: block; font-weight: 400; color: #000; line-height: 26px; font-size: 1.2rem; margin: 3px 0 2px; }
.header_top .header_content.fixed ._right { /* For IE 6/7 only */ *zoom: 1; text-align: center; }
.header_top .header_content.fixed ._right:before, .header_top .header_content.fixed ._right:after { content: ' '; display: table; }
.header_top .header_content.fixed ._right:after { clear: both; }
.header_top .header_content.fixed ._right .nav_menu { padding-top: 27px; display: inline-block; }
.header_top .header_content.fixed ._right .nav_menu > ul { font-size: 0rem; text-align: center; letter-spacing: 0; padding: 0 25px 0 20px; }
.header_top .header_content.fixed ._right .nav_menu > ul > * { display: inline-block; vertical-align: middle; font-size: 1.4rem; }
.header_top .header_content.fixed ._right .nav_menu > ul li { margin-right: 58px; position: relative; padding-bottom: 26px; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down { position: relative; cursor: pointer; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down:hover .drop_lst { visibility: visible; opacity: 1; z-index: 1; -webkit-transform: translateY(0%); -moz-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%); -webkit-transition-delay: 0s, 0s, 0.3s; -moz-transition-delay: 0s, 0s, 0.3s; transition-delay: 0s, 0s, 0.3s; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down .drop_lst { background: #fff; padding: 24px 29px; visibility: hidden; opacity: 0; -webkit-transform: translateY(-10px); -moz-transform: translateY(-10px); -ms-transform: translateY(-10px); transform: translateY(-10px); z-index: -1; -webkit-transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; -moz-transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s; position: absolute; left: -56px; right: 0; width: 189px; top: 100%; text-align: center; -moz-box-shadow: 0 0 9px rgba(20, 31, 38, 0.15); box-shadow: 0 0 9px rgba(20, 31, 38, 0.15); }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down .drop_lst li { float: none; margin-right: 0; padding: 0 3px; display: block; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down .drop_lst li a { font-size: 1.6rem; display: block; color: #000; letter-spacing: 1px; padding: 17px 0px 18px; line-height: 18px; text-align: center; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down .drop_lst li a:hover { opacity: .8; color: #000; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down .drop_lst li a:after { display: none; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down .drop_lst li::after { height: 4px; }
.header_top .header_content.fixed ._right .nav_menu > ul li.drop_down::after { z-index: 0; }
.header_top .header_content.fixed ._right .nav_menu > ul li:last-child { margin-right: 0; }
.header_top .header_content.fixed ._right .nav_menu > ul li a { font-size: 1.4rem; color: #000; line-height: 17px; display: block; font-weight: 400; letter-spacing: 1.75px; padding: 10px 4px; width: 100%; }
.header_top .header_content.fixed ._right .nav_menu > ul li:hover > a, .header_top .header_content.fixed ._right .nav_menu > ul li:focus > a, .header_top .header_content.fixed ._right .nav_menu > ul li.active > a { /* color: $col_blue!important; */ opacity: 1; }
.header_top .header_content.fixed ._right .nav_menu > ul li:hover::after, .header_top .header_content.fixed ._right .nav_menu > ul li:focus::after, .header_top .header_content.fixed ._right .nav_menu > ul li.active::after { height: 2px; bottom: 0; opacity: 1; -webkit-transform: translateY(0px); -moz-transform: translateY(0px); -ms-transform: translateY(0px); transform: translateY(0px); }
.header_top .header_content.fixed ._right .nav_menu > ul li:first-child:after { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
.header_top .header_content.fixed ._right .nav_menu > ul li:after { position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #62d5ff; content: ''; opacity: 0; -webkit-transform: translateY(-10px); -moz-transform: translateY(-10px); -ms-transform: translateY(-10px); transform: translateY(-10px); -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s; transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s; -moz-transition: height 0.3s, opacity 0.3s, transform 0.3s, -moz-transform 0.3s; transition: height 0.3s, opacity 0.3s, transform 0.3s; transition: height 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s; }
.header_top .header_content.fixed ._right .number_box { float: right; padding-top: 20px; }
.header_top .header_content.fixed ._right .number_box .tel_logo { padding-top: 7px; }
.header_top .header_content.fixed ._right .number_box .tel_logo, .header_top .header_content.fixed ._right .number_box .tel_box { display: inline-block; vertical-align: top; }
.header_top .header_content.fixed ._right .number_box .tel_box { margin-left: 16px; position: relative; }
.header_top .header_content.fixed ._right .number_box .tel_box a { font-size: 3rem; line-height: 31.5px; color: #000; font-family: 'Heebo', sans-serif; font-weight: 500; letter-spacing: 0.5px; padding-left: 38px; }
.header_top .header_content.fixed ._right .number_box .tel_box a::before { content: ''; position: absolute; left: 0; top: 2px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -1221px -191px; width: 26px; height: 26px; }
.header_top .header_content.fixed ._right .number_box .tel_box p { font-size: 1.2rem; line-height: 17px; color: #000; text-align: left; padding-left: 39px; }
footer { background: url("../images/bgr_blue.png") repeat; padding: 40px 0 49px; z-index: 99; position: relative; }
footer::after { content: ''; position: absolute; right: 0; bottom: 0; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: 0px -519px; width: 604px; height: 165px; }
footer .lst { display: table; margin: 0 auto; position: relative; z-index: 99; }
footer .lst .ft_lst { /* For IE 6/7 only */ *zoom: 1; }
footer .lst .ft_lst:before, footer .lst .ft_lst:after { content: ' '; display: table; }
footer .lst .ft_lst:after { clear: both; }
footer .lst .ft_lst li { float: left; padding: 0 27px; position: relative; letter-spacing: 1px; }
footer .lst .ft_lst li::after { content: ''; position: absolute; background: #496ace; width: 4px; height: 4px; right: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
footer .lst .ft_lst li a { color: #fff; font-weight: 400; font-size: 1.6rem; line-height: 28px; }
footer .lst .ft_lst li:last-child::after { display: none; }
footer .copy { font-family: 'Heebo', sans-serif; font-weight: 400; font-size: 1.6rem; text-align: center; color: #fff; line-height: 28px; padding-top: 46px; letter-spacing: 1.5px; }
footer .go_top { position: fixed; bottom: -220px; opacity: 0; right: 34px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -890px -191px; width: 135px; height: 210px; overflow: inherit; z-index: 9999; text-indent: 0; -webkit-transition: all .45s ease; -moz-transition: all .45s ease; transition: all .45s ease; }
footer .go_top span { background: #27408c; height: auto; font-size: 1.6rem; line-height: 20px; width: 150px; color: #fff; position: absolute; text-align: center; top: -85px; right: -10px; font-weight: 900; z-index: 9999; -moz-border-radius: 30px; border-radius: 30px; padding: 12px 0; -webkit-animation: topToBottom 1.15s linear infinite; -moz-animation: topToBottom 1.15s linear infinite; animation: topToBottom 1.15s linear infinite; }
footer .go_top span::after { content: ''; position: absolute; bottom: -11px; left: 0; right: 0; margin: 0 auto; width: 0; height: 0; border-style: solid; border-width: 12px 4.5px 0 4.5px; border-color: #27408c transparent transparent transparent; }
footer .go_top.fix { /*opacity: 1; bottom: 7px;*/ }
footer .go_top.fix:hover { opacity: 0.7 !important; }
.contents { margin-top: 91px; }
.top_area { border-bottom: solid 1px #e8e8e8; background: url("/common/images/bg_top_area.jpg") no-repeat top right; }
.top_area .inner { height: 134px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -webkit-justify-content: flex-start; -moz-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -webkit-align-items: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }
.top_area h2.title { font-weight: normal; font-size: 0rem; text-align: center; letter-spacing: 0; text-align: left; margin-top: 8px; display: block; }
.top_area h2.title > * { display: inline-block; vertical-align: middle; font-size: 1.4rem; }
.top_area h2.title span { font-size: 2.6rem; font-style: normal; margin-right: 37px; letter-spacing: 2px; }
.top_area h2.title em { font-size: 1.2rem; color: #27408c; letter-spacing: 4px; font-family: 'Heebo', sans-serif; font-weight: 300; }
a.btn_default { -webkit-transition: border-color 0.3s, background-color 0.3s; -moz-transition: border-color 0.3s, background-color 0.3s; transition: border-color 0.3s, background-color 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); -moz-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); position: relative; color: #27408c; border: solid 2px #27408c; font-weight: 500; width: 445px; height: 80px; line-height: 76px; font-size: 1.6rem; display: inline-block; text-align: center; overflow: hidden; letter-spacing: 1px; vertical-align: top; }
a.btn_default.gray { color: #aeaeae; border-color: #aeaeae; }
a.btn_default.gray::after { color: #aeaeae; }
a.btn_default.gray:hover { background-color: #aeaeae; }
a.btn_default::after { content: attr(data-text); position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; color: #27408c; -webkit-transform: translate3d(0, 25%, 0); -moz-transform: translate3d(0, 25%, 0); transform: translate3d(0, 25%, 0); }
a.btn_default::after, a.btn_default > span { -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; transition: opacity 0.3s, -webkit-transform 0.3s; -moz-transition: transform 0.3s, opacity 0.3s, -moz-transform 0.3s; transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); -moz-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); display: block; }
a.btn_default:hover { background-color: #27408c; color: #fff; opacity: 1; }
a.btn_default:hover > span { opacity: 0; -webkit-transform: translate3d(0, -25%, 0); -moz-transform: translate3d(0, -25%, 0); transform: translate3d(0, -25%, 0); }
a.btn_default:hover::after { opacity: 1; color: #fff; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
/* ======================= Custom Radio, CheckBox, Input file =============================*/
.group_form input[type="radio"] { display: none !important; }
.group_form input[type="radio"] + label span { background-color: #fff; border: solid 1px #cacaca; -moz-box-shadow: 0px 0px 0px 1px transparent; box-shadow: 0px 0px 0px 1px transparent; display: inline-block; width: 16px; height: 16px; margin: -2px 12px 0 0; vertical-align: middle; cursor: pointer; -moz-border-radius: 50%; border-radius: 50%; padding: 0; cursor: pointer; }
.group_form input[type="radio"] + label.error span { background: #ff9999; }
.group_form input[type="radio"]:checked + label span { background-color: #1d1d1d; border: solid 4px #fff; -moz-box-shadow: 0px 0px 0px 1px #cacaca; box-shadow: 0px 0px 0px 1px #cacaca; width: 14px; height: 14px; margin: -2px 13px 0 1px; }
.group_form input[type="checkbox"]:not(:checked), .group_form input[type="checkbox"]:checked { position: absolute; left: -9999px; }
.group_form input[type="checkbox"]:not(:checked) + label, .group_form input[type="checkbox"]:checked + label { position: relative; padding-left: 25px; cursor: pointer; }
.group_form input[type="checkbox"]:not(:checked) + label:before, .group_form input[type="checkbox"]:checked + label:before { content: ''; position: absolute; left: 0; top: 5px; width: 12px; height: 12px; border: 1px solid #c8c8c8; /*background: #2c98fd; border-radius: 3px;*/ }
.group_form input[type="checkbox"]:not(:checked) + label:after, .group_form input[type="checkbox"]:checked + label:after { content: ''; position: absolute; top: 8px; left: 2px; line-height: 0.8; -webkit-transition: all .2s; -moz-transition: all .2s; transition: all .2s; }
.group_form input[type="checkbox"]:not(:checked) + label:after { opacity: 0; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); transform: scale(0); }
.group_form input[type="checkbox"]:checked + label:after { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
.group_form input[type="checkbox"]:disabled:not(:checked) + label:before, .group_form input[type="checkbox"]:disabled:checked + label:before { -moz-box-shadow: none; box-shadow: none; border-color: #bbb; background-color: #ddd; }
.group_form input[type="checkbox"]:disabled:checked + label:after { color: #999; }
.group_form input[type="checkbox"]:disabled + label { color: #aaa; }
.group_form .inputfile { width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1; }
.group_form .inputfile + label { color: #000; background-color: #f1f1f1; border: solid 1px #c8c8c8; display: inline-block; cursor: pointer; -moz-border-radius: 5px; border-radius: 5px; padding: 3px 13px; margin-right: 17px; }
.group_form .inputfile:focus + label, .group_form .inputfile + label:hover { opacity: 0.8; }
.group_form .inputfile + label * { pointer-events: none; }
/* ======================= /. Custom Radio, CheckBox =============================*/
.tel { pointer-events: none; }
@-webkit-keyframes topToBottom { 0%, 100% { -webkit-transform: translateY(-7px); transform: translateY(-7px); }
  50% { -webkit-transform: translateY(0); transform: translateY(0); } }
@-moz-keyframes topToBottom { 0%, 100% { -moz-transform: translateY(-7px); transform: translateY(-7px); }
  50% { -moz-transform: translateY(0); transform: translateY(0); } }
@keyframes topToBottom { 0%, 100% { -webkit-transform: translateY(-7px); -moz-transform: translateY(-7px); transform: translateY(-7px); }
  50% { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); } }
