@charset "utf-8";

/* STICKY HEADER
-------------------------------------------------- */

.pid {}

.topics-tmpl .news-list {
    padding-top: 38px;
}

.top-news .newWin span:after,
.newWin:after {
    content: "\f08e";
    font-family: FontAwesome;
    font-size: 80%;
    margin-left: 3px;
    font-weight: normal;
    vertical-align: top;
}

.bg-light-gray .newWin:after {
    vertical-align: middle;
}

.top-topics .newWin:after {
    position: absolute;
    font-size: 100%;
    right: 20px;
    bottom: 30px;
}

.top-news .newWin:after {
    display: none;
}

.top-nav-collapse .superheader {
    display: none;
}

.news-list a i {
    background: #f06800;
    font-weight: normal;
    font-style: normal;
    padding: 4px 8px;
    color: #fb6908;
    font-size: 60%;
    display: inline-block;
    margin-bottom: 10px;
    color: #fff;
    border-radius: 4px;
    line-height: 1.8em;
}

.archive.category .news-list a i {
    display: none;
}

.archive.category-news .news-list a i {
    display: inline-block;
}

.section.labs-news {
    padding-top: 0;
}

@media (min-width: 768px) {
    .list-unstyled {
        line-height: 1;
    }
    /* 参加団体
-------------------------------------------------- */
    #about-tim-org {
        line-height: 1.8;
    }
    .top-nav-collapse .main-nav {
        padding: 5px 0px;
    }
}

.top-nav-collapse .navbar-nav li>a.btn-primary {
    line-height: 40px;
    margin-top: 2px;
}


/* GLOBAL STYLES
-------------------------------------------------- */


/* Padding below the footer and lighter body text */

html {
    font-size: 100%;
}

body {
    color: #555;
    font-family: 'Droid Sans', "Meiryo", "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    letter-spacing: 1px;
}

a {
    color: #1BA8DF;
}

a:hover {
    color: #ff6908;
    text-decoration: none;
}

header {
    min-height: 51px;
}

@media (min-width: 1170px) {
    .container-fluid {
        width: 1170px;
    }
}


/* NAVIGATION
-------------------------------------------------- */

.superheader {
    display: none;
}

.navbar {
    background-color: #FFF;
    border-bottom: 1px solid #ddd;
    /*box-shadow: 0 0 8px 0 rgba(0,0,0,.1);*/
    box-shadow: 0 0 4px rgba(0, 0, 0, .14), 0 4px 8px rgba(0, 0, 0, .28);
}

header h1 {
    margin: 0;
    padding: 0;
    line-height: 1;
}

.main-nav .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

.container-fluid>.navbar-header {
    margin-left: 15px;
    margin-right: 15px;
}

.navbar-brand {
    padding: 8px 0;
}

.navbar-toggle {
    margin: 14px 0;
    padding: 0;
}

.navbar-nav {
    /*margin: 0 -15px;*/
    margin: 0;
}

.nav>li>a {
    background: none;
    color: #000;
    text-align: left;
    padding: 15px 20px;
    font-weight: bold;
    font-size: .875rem;
}

.nav li {
    border-top: solid 1px #e5e8ed;
}

.nav>li>a:hover,
.nav>li>a:focus,
.nav .open>a,
.nav .open>a:hover,
.nav .open>a:focus {
    text-decoration: none;
    background-color: #FFF;
    color: #fb6908;
}

.nav .btn-contact {
    border: 0;
}

.navbar-toggle .icon-bar {
    height: 4px;
}

.navbar .navbar-toggle .icon-bar {
    background-color: #fb6908;
}

.navbar .navbar-toggle:hover,
.navbar .navbar-toggle:focus {
    background-color: #fff;
}

.navbar .navbar-toggle:hover .icon-bar,
.navbar .navbar-toggle:focus .icon-bar {
    background-color: #fb6908;
}

.navbar .navbar-toggle {
    border-color: #FFF;
    border: none;
}

.container>.navbar-header,
.container-fluid>.navbar-header {
    background-color: #FFF;
}

.navbar-collapse {
    border: none;
    background-color: #FFF;
}

.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
    max-height: none;
}

.nav>li>a.btn-blue {
    background-color: #1da1db;
    color: #FFF;
    text-align: center;
    font-size: .875rem;
    font-weight: 600;
    padding: 1em 5em;
}

.header-cta {
    background-color: #f3f5f7;
    text-align: center;
    padding: 20px 40px;
}

@media (min-width: 768px) {
    .superheader {
        position: relative;
        height: 35px;
        border-bottom: solid 1px #ddd;
        line-height: 30px;
        color: #999;
        display: block;
        background-color: #202b34;
    }
    .superheader i {
        margin-right: 10px;
    }
    .superheader .text-muted {
        font-size: 0.75rem;
    }
    .superheader .text-yellow {
        font-size: 18px;
    }
    .superheader ul {
        text-align: right;
        margin: 0;
    }
    .superheader ul li {
        font-size: .625rem;
        padding-left: 15px;
    }
    .superheader a {
        color: #ccc;
    }
    .superheader a:hover,
    .superheader a:focus {
        color: #FFF;
        text-decoration: none;
    }
    .main-nav {
        padding-top: 20px;
        padding-bottom: 20px;
        background-color: #FFF;
        -webkit-transition: background .5s ease-in-out, padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out, padding .5s ease-in-out;
        transition: background .5s ease-in-out, padding .5s ease-in-out;
    }
    .main-nav .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
    .container>.navbar-header,
    .container-fluid>.navbar-header {
        width: 20%;
        height: 50px;
        position: relative;
        margin-left: 0;
        margin-right: 0;
    }
    .nav {
        float: right;
        margin: 0;
        padding: 0;
        line-height: 60px;
    }
    .nav li {
        border-top: none;
    }
    .nav>li>a {
        font-size: .875rem;
        color: #555;
        font-weight: 600;
        padding: 15px 20px;
    }
    .nav>li>a>.fa {
        padding-left: 5px;
        font-size: 18px;
    }
    /*.navbar-brand {
	padding: 0;
	width: 100%;
	vertical-align: middle;
	position: absolute;
	top: 5px;
}
.navbar-brand>img {
	display: block;
	max-width: 100%;
	height: auto;
}*/
    .navbar-collapse {
        background-color: #FFF;
    }
    .nav>li>a:hover,
    .nav>li>a:focus,
    .nav>li.active>a {
        text-decoration: none;
        background-color: #FFF;
        color: #fb6908;
    }
    .nav>li>a.btn-blue {
        padding: 10px 18px;
        margin-top: 3px;
        margin-bottom: 0;
        margin-left: 20px;
    }
    .nav>li>a.btn-blue:hover,
    .nav>li>a.btn-blue:focus {
        text-decoration: none;
        background-color: #1a91c5;
        border-color: #1a91c5;
        color: #FFF;
    }
    .header-cta {
        background-color: #fff;
        padding: 0;
    }
}

@media (min-width: 768px) and (max-width: 996px) {
    .container>.navbar-header,
    .container-fluid>.navbar-header {
        /* max-width: 43px; */
    }
    .navbar-brand {
        max-width: 43px;
    }
}

@media (min-width: 768px) {
    body {
        font-size: 16px;
    }
    header {
        min-height: 126px;
    }
}

@media (min-width: 768px) {
    .navbar-right .dropdown-menu {
        left: 0;
        right: auto;
    }
    .dropdown-menu {
        float: left;
        min-width: 200px;
    }
    .dropdown-menu>li>a {
        padding: 15px 20px;
        color: #555;
    }
    .navbar-nav>.open>a,
    .navbar-nav>.open>a:focus,
    .navbar-nav>.open>a:hover {
        color: #fb6908;
        background-color: #fff;
    }
    .dropdown-menu>li>a:hover,
    .dropdown-menu>li>a:focus {
        text-decoration: none;
        color: #fb6908;
        background-color: #FFF;
        font-weight: 600;
    }
}


/* PARTNER LOGO
-------------------------------------------------- */

.partner-logo {
    text-align: right;
}

.partner-logo li {
    vertical-align: top;
}

.partner-logo .text-muted {
    font-size: .6875rem;
}


/*FOOTER
-------------------------------------------------- */

footer {}


/*.footer {
	margin-top: 80px;
}*/

.footer a {
    color: #c0c8cf;
}

.footer .h5 {
    color: #FFF;
}

.footer-nav ul {
    margin-bottom: 0;
}

.footer-nav li {
    font-size: 0.75rem;
    display: none;
}

.footer-nav .heading {
    font-size: 0.875rem;
    margin: 0;
    font-weight: bold;
    text-align: left;
    display: block;
    border-top: solid 1px #666;
}

.footer-nav .heading a {
    padding: 14px 20px;
    display: block;
    background: #202b34 url(../images/arrow-right-orange.png) 96% 50% no-repeat;
}

.footer-bottom {
    background-color: #FFF;
    border-top: solid 1px #ccc;
}

.footer-bottom ul {
    padding: 15px 0 0;
}

.footer-bottom a {
    font-size: 10px;
    text-align: center;
    color: #000;
}

.small-nav {
    text-align: center;
}

.small-nav li {
    border-right: dotted 1px #ccc;
    padding: 0 10px 2px 0;
    margin: 0 0 0 5px;
    line-height: 10px;
    vertical-align: top;
}

.footer-bottom li:last-child {
    border-right: 0;
}

.copyright {
    font-size: 0.6rem;
    color: #5a5a5a;
    padding-bottom: 20px;
    text-align: center;
}

.patner-logo {
    display: none;
}

.footer-cta {
    background-color: #11181d;
    padding-top: 20px;
}

.footer-cta {
    color: #FFF;
    font-size: .875rem;
    text-align: center;
}

.footer-cta .h3 {
    color: #FFF;
}

.footer-cta .btn {
    font-size: 1rem;
    padding: .8em 4em;
    color: #FFF;
    margin-bottom: 20px;
}

.corp-info {
    display: none;
    font-size: .75rem;
    color: #c0c8cf;
    padding-right: 40px;
}

.footer-nav .heading {
    margin-left: -15px;
    margin-right: -15px;
}

@media (min-width: 768px) {
    .footer-nav {
        background-color: #202b34;
        padding: 40px 0 20px;
    }
    .footer-nav [class^="col-"] {}
    .footer-nav ul {
        margin-bottom: 30px;
    }
    .footer-nav .heading {
        border-top: 0;
        text-align: left;
        margin-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
    }
    .footer-nav .heading:last-child {
        border-bottom: 0;
    }
    .footer-nav .heading a {
        padding: 0;
        background-image: none;
        background-color: transparent;
        color: #FFF;
    }
    .footer-nav li {
        display: block;
        margin: 0 0 15px;
    }
    .partner-logo {
        list-s: none;
    }
    .partner-logo li {
        display: inline-block;
    }
    .corp-info {
        display: block;
        margin-bottom: 20px;
        letter-spacing: 1px;
    }
    .corp-info .business {
        font-size: .875rem;
        color: #a2aab7;
        line-height: 1.8em;
    }
    .small-nav,
    .copyright {
        text-align: left;
    }
}

@media (min-width: 996px) {
    .footer-cta {
        padding-bottom: 20px;
        text-align: right;
    }
    .footer-cta p {
        text-align: left;
        line-height: 50px;
        margin-bottom: 0;
    }
    .footer-cta .btn {
        margin-bottom: 0;
    }
}


/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */


/* Carousel base class */

.carousel {
    min-height: 460px;
    text-align: center;
}


/* Since positioning the image, we need to help out the caption */

.carousel-caption {
    z-index: 10;
}


/* Declare heights because of positioning of img element */

.carousel .item {
    height: auto;
}

.carousel-inner>.item>img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    height: 500px;
}

.carousel h2 {
    margin-top: 0;
    padding-top: 40px;
}


/* TYPOGRAPHY
-------------------------------------------------- */

.text-alphabet {
    font-size: 110%;
}

.text-danger {
    color: red;
}

.text-yellow {
    color: #fe9806;
}

.text-blue {
    color: #1da1db;
}

.text-orange {
    color: #f7751f!important;
}

.text-black {
    color: #000;
}

.text-white {
    color: #FFF!important;
}

.text-lightgreen {
    color: #85c023;
}

.text-bold {
    font-weight: 600;
}

.text-normal {
    font-weight: normal;
}

.text-large {
    font-size: 125%;
}

.text-xlarge {
    font-size: 150%;
}

.text-xs {
    font-size: .75rem;
}

.indent {
    margin-left: 2em;
}

.small-bold {
    font-size: .875rem;
    font-weight: 600;
}

.link-normal a {
    color: #555;
}

.link-normal a:hover {
    color: #fb6908;
}

.text-bk20bld {
    color: #000;
    font-size: 1.25rem;
    font-weight: 600;
}

.quote {
    margin-left: 40px;
    margin-bottom: 20px;
    position: relative;
}

.quote:before {
    content: url(../images/icon-quote_open.png);
    left: -40px;
    top: 0;
    position: absolute;
}

address {
    border: solid 1px #ddd;
    margin: 20px 0;
    padding: 15px;
    background-color: #f3f5f7;
    line-height: 1.6;
}

address>.heading {
    margin: 0 0 20px;
    color: #000;
    text-align: left;
    font-weight: bold;
}

.attribution {
    font-size: .75rem;
    position: relative;
    font-weight: normal;
}

.attribution span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 0 0 2em;
    padding: 0 0 0 .5em;
    background-color: #fff;
    text-align: left;
}

.attribution::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 20%;
    height: 1px;
    background-color: #aaa;
}


/* BUTTON
-------------------------------------------------- */

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}

#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    opacity: .6;
    padding: 12px 15px;
    text-align: center;
    display: block;
}

#page-top a:hover {
    text-decoration: none;
    background: #999;
}

.btn {
    border-radius: 3px;
    padding: 6px 15px;
}

.btn-width-lg {
    /*padding: 1em 0;
	width: 100%;
	
	font-weight: 600;*/
    margin-top: 30px;
    min-height: 54px;
    min-width: 220px;
    padding: 10px 25px;
    line-height: 2rem;
}

@media (min-width: 768px) {
    .btn-width-lg {
        /*width: auto;
	padding: 1em 4em;*/
    }
}

.btn-thick {
    padding-top: 1em;
    padding-bottom: 1em;
}

.btn-blue {
    background-color: #1da1db;
    border-color: #1da1db;
    color: #FFF;
}

.btn-blue:hover {
    background-color: #1a91c5;
    border-color: #1a91c5;
    color: #FFF;
}

.btn-orange {
    background-color: #f7751f;
    border-color: #f7751f;
    color: #FFF;
}

.btn-orange:hover,
.btn-orange:focus {
    background-color: #ff6908;
    border-color: #ff6908;
    color: #FFF;
}

.btn-orange-inverse {
    background-color: transparent;
    border-color: #f7751f;
    border-width: 2px;
    color: #f7751f;
}

.btn-orange-inverse:hover,
.btn-orange-inverse:focus {
    background-color: #f7751f;
    border-color: #f7751f;
    border-width: 2px;
    color: #fff;
}

.btn-white-inverse {
    background-color: transparent;
    border-color: #FFF;
    border-width: 2px;
    color: #fff;
}

.btn-white-inverse:hover,
.btn-white-inverse:focus,
.btn-white-outline:hover,
.btn-white-outline:focus {
    background-color: #FFF;
    border-color: #FFF;
    border-width: 2px;
    color: #ff6908;
}

.btn-white-outline {
    background-color: transparent;
    border-color: rgba(255, 255, 255, .5);
    border-width: 2px;
    color: #fff;
}

.btn-white-outline:hover,
.btn-white-outline:focus {
    background-color: transparent;
    border-color: #FFF;
    border-width: 2px;
    color: #fff;
}

.btn-gray {
    background-color: #b5bdcb;
    border-color: #b5bdcb;
    color: #FFF!important;
}

.btn-gray:hover {
    background-color: #a2aab7;
    border-color: #a2aab7;
}

.btn-banner {
    border: solid 1px #a2aab7;
    box-shadow: 0 3px 0px rgba(0, 0, 0, 0.1);
    font-size: 1rem;
    border-radius: 0;
    padding: 10px 0 8px;
    color: #f7751f;
    background: #FFF url(../images/arrow-right.png) 95% center no-repeat;
    font-weight: 600;
    margin: 0 auto 20px;
}

@media (min-width: 768px) {
    .btn-banner {
        margin-bottom: 0;
        font-size: 1.25rem;
    }
}

.btn-banner p {
    margin-top: 10px;
    margin-bottom: 0;
    line-height: .5em;
    padding: 0;
}

.btn-banner>span {
    color: #555;
    font-weight: normal;
}

.btn-banner:hover,
.btn-banner:focus {
    background: #f7751f url(../images/arrow-right-inverse.png) 95% center no-repeat;
    border-color: #f7751f;
    color: #FFF;
}

.btn-banner:hover>span,
.btn-banner:focus>span {
    color: rgba(255, 255, 255, .7);
}


/* NEWS
------------------------- */

.news-list {
    margin-bottom: 30px;
}

.news-list li {
    border-bottom: solid 1px #ebebeb;
    margin-bottom: 0;
}

.news-list li:first-child {
    border-top: solid 1px #ebebeb;
}

.news-list li time {
    width: 100%;
    float: left;
    margin-bottom: 5px;
}

.news-list .news-ttl {
    width: 100%;
    float: left;
    text-align: left;
}

.news-list a {
    padding: 20px;
    padding-top: 25px;
    display: block;
    width: 100%;
    font-weight: 600;
}

.news-list a:after {
    content: " ";
    display: block;
    clear: both;
}

.news-list a time {
    color: #a2aab7;
    font-weight: normal;
}

.news-list a:hover {
    background-color: #F3f5f7;
    text-decoration: none;
}

@media (min-width: 768px) {
    .news-list li time {
        width: 15%;
        margin-right: 20px;
    }
    .news-list .news-ttl {
        width: 82%;
    }
}


/* NEWS ARTICLE */

.news-heading {
    padding: 40px 0 50px;
    text-align: center;
}

.news-heading h1 {
    font-size: 2rem;
    color: #000;
    padding-bottom: 8px;
}

.published-date {
    font-size: .875rem;
    padding-top: 10px;
}

@media (min-width: 768px) {
    .news-heading {
        padding: 100px 0 80px;
        text-align: center;
    }
    .news-heading h1 {
        font-size: 2.5rem;
        color: #000;
        padding-bottom: 8px;
    }
    .published-date {
        font-size: .875rem;
        padding-top: 10px;
    }
}


/* ICON
-------------------------------------------------- */

.icon-left {
    margin-right: 10px;
}

.icon-right {
    margin-left: 10px;
}

.icon-circle-right {
    display: inline-block;
    width: 25px;
    height: 24px;
    vertical-align: middle;
    background: url(../images/arrow-right.png) center right no-repeat;
    margin-left: 10px;
}

.external-link {
    display: inline-block;
    vertical-align: middle;
    width: 14px;
    height: 14px;
    margin-left: 5px;
    margin-bottom: 5px;
    margin-right: 4px;
    background: url(../images/icon-external-link.png) center right no-repeat;
    background-size: 14px 14px;
}


/* hover時にアイコンの色をwhiteへ変更する */

a:hover .external-link.icon-inverse {
    background: url(../images/icon-external-link_w.png) center right no-repeat;
    background-size: 14px 14px;
}

.icon-circle-check {
    display: inline-block;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    background: url(../images/icon-circle-check.png) center right no-repeat;
    margin-right: 15px;
}

.icon-quote__open {
    display: inline-block;
    width: 32px;
    height: 31px;
    vertical-align: middle;
    background: url(../images/icon-quote_open.png) center right no-repeat;
    margin-right: 15px;
}

.icon-quote__close {
    display: inline-block;
    width: 32px;
    height: 31px;
    vertical-align: middle;
    background: url(../images/icon-quote_close.png) 0 0 no-repeat;
    margin-left: 15px;
}

.icon-license {
    position: relative;
}

.icon-license:after {
    content: url(../images/icon-license.png);
    position: absolute;
    width: 50px;
    height: 50px;
    top: -10px;
    right: -10px;
}

.arrow-right {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
    margin-left: 15px;
    background: url(../images/arrow-right.png) center right no-repeat;
}

.arrow-right-lg {
    display: inline-block;
    vertical-align: middle;
    width: 49px;
    height: 49px;
    margin-left: 13px;
    background: url(../images/arrow-right-lg.png) center right no-repeat;
}

.label {
    padding: .3em .6em .2em
}

.label-md {
    font-size: 85%;
    font-weight: normal;
}

.label-green {
    background-color: #138c88;
}

.label-orange {
    background-color: #ff6908;
}

.label-yellow {
    background-color: #dd8508;
}

.label-dark-gray {
    background-color: #626c77;
}

.label-light-gray {
    background-color: #b5bdcb;
}


/* MISC
-------------------------------------------------- */

@media (min-width: 960px) {
    .no-gutter>[class*='col-'] {
        padding-right: 0;
        padding-left: 0;
    }
    .container-small {
        width: 960px;
    }
    .container-xsmall {
        width: 800px;
    }
    .container-small,
    .container-xsmall {
        max-wdith: 100%;
    }
}


/*.no-gutter > [class*='col-'] {
	padding-right: 15px;
	padding-left: 15px;
}*/

@media (min-width: 768px) {
    .height-sm {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: stretch;
    }
}

.img-shadow {
    box-shadow: 0 2px 2px rgba(0, 0, 0, .24), 0 0 2px rgba(0, 0, 0, .12);
}

figcaption {
    text-align: center;
    margin: .8em 0;
}

.dl-horizontal dt {
    text-align: left;
}

td dl {
    margin-botom: 0;
    padding: 0;
}

.margin-t60 {
    margin-top: 60px;
}

.margin-t100 {
    margin-top: 100px;
}

.div-center-parent {
    position: relative;
    height: auto;
}

.div-center-parent:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.div-center-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* Vertical & HORIZONTAL LINE
-------------------------------------------------- */

hr {
    border-color: #ddd;
    margin-top: 0;
    margin-bottom: 0;
}

hr.orange-bar,
hr.orange-bar-left {
    width: 60px;
    height: 4px;
    background-color: #ff6908;
    border: 0;
    outline: 0;
    margin-top: 20px;
    margin-bottom: 25px;
    position: relative;
}

hr.orange-bar-left {
    height: 6px;
    width: 40px;
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

@media (min-width: 768px) {
    hr.orange-bar {
        width: 100px;
        height: 5px;
        margin-top: 40px;
    }
}

hr.orange-bar-xs {
    width: 16px;
    height: 2px;
    background-color: #ff6908;
    border: 0;
    outline: 0;
    margin-top: 25px;
    margin-bottom: 25px;
    position: relative;
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

@media (min-width: 768px) {
    .col-border-left {
        border-left: solid 1px #ddd;
        padding-left: 30px;
    }
    .col-border-left+[class*='col-'] {
        padding-right: 30px;
    }
    .col-border-right {
        border-right: solid 1px #ddd;
        padding-right: 30px;
    }
    .col-border-right+[class*='col-'] {
        padding-left: 30px;
    }
}


/* TABLE
-------------------------------------------------- */

table>thead>tr:first-child>th,
table>tbody>tr>th,
table>tfoot>tr>th,
table>thead>tr>td,
table>tbody>tr>td,
table>tfoot>tr>td {
    padding: 15px;
}

.table>thead>tr>td.active,
.table>tbody>tr>td.active,
.table>tfoot>tr>td.active,
.table>thead>tr>th.active,
.table>tbody>tr>th.active,
.table>tfoot>tr>th.active,
.table>thead>tr.active>td,
.table>tbody>tr.active>td,
.table>tfoot>tr.active>td,
.table>thead>tr.active>th,
.table>tbody>tr.active>th,
.table>tfoot>tr.active>th {
    background-color: #f3f5f7;
}

.table>thead>tr:first-child>th,
.table>tbody>tr>th,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>tbody>tr>td,
.table>tfoot>tr>td {
    padding: 15px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd;
}

.table>thead>tr:first-child>th,
.table>thead>tr:first-child>td {
    border-top: 0;
}

.table>thead>tr>th {
    border-bottom: 0;
}

.table-simple>tbody>tr:first-child>th,
.table-simple>tbody>tr:first-child>td {
    border-top: solid 3px #ddd;
}

.table-simple>tbody>tr:last-child>th,
.table-simple>tbody>tr:last-child>td {
    border-bottom: solid 3px #ddd;
}

.table-collapse th,
.table-collapse td {
    display: block;
    marign: 10px 0;
}

@media (min-width: 768px) {
    .table-collapse th,
    .table-collapse td {
        display: table-cell;
        marign: 0;
    }
}

th {
    color: #000;
}

.table-w-auto {
    width: auto;
}

td>ul,
td>ol {
    margin-left: 20px;
    padding-left: 0;
}

td li {
    padding-top: 5px;
}

td>ul.list-unstyled {
    margin-left: 0;
}

td dt {
    color: #000;
}

.table-colored>thead>tr>th,
.table-colored>tbody>tr>th,
.table-colored>tfoot>tr>th {
    background-color: #e5e8ed;
}

.table-colored>thead>tr>td,
.table-colored>tbody>tr>td,
.table-colored>tfoot>tr>td {
    background-color: #f3f5f7;
}

.table-colored>thead>tr>th,
.table-colored>tbody>tr>th,
.table-colored>tfoot>tr>th,
.table-colored>thead>tr>td,
.table-colored>tbody>tr>td,
.table-colored>tfoot>tr>td {
    border-top: solid 2px #FFF;
}


/* MAP
-------------------------------------------------- */

#map_container {
    position: relative;
    padding-top: 460px;
}

#map {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}


/* TIMELINE
-------------------------------------------------- */

.history {
    border-bottom: dotted 1px #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.history dd {
    font-size: .875rem;
}

.history dt {
    font-weight: normal;
}

.history dt span {
    color: #fe9806;
    font-size: 1.5rem;
}


/* SUB PAGE
-------------------------------------------------- */

.bg-white {
    background-color: #FFF;
}

.bg-orange {
    background-color: #f7751f;
}

.bg-emerald-green {
    background-color: #4ac6c6;
}

.bg-blue {
    background-color: #1da1db;
}

.bg-orange-gradient {
    /*	
  background: linear-gradient(162deg, rgb(247, 117, 31), rgb(251, 167, 8));
  background: -webkit-linear-gradient(162deg, rgb(247, 117, 31), rgb(251, 167, 8));
*/
    background: -webkit-linear-gradient(90deg, #FD6F46 5%, #FB9832 95%);
    /* Chrome 10+, Saf5.1+ */
    background: -moz-linear-gradient(90deg, #FD6F46 5%, #FB9832 95%);
    /* FF3.6+ */
    background: linear-gradient(90deg, #FD6F46 5%, #FB9832 95%);
    /* W3C */
}

.bg-light-gray {
    background-color: #F3F5F7;
}

.bg-blue-gray {
    background-color: #d2d5d5;
}

.bg-gray {
    background-color: #cbd0da;
}

.bg-dark {
    background-color: #2c3a48;
}

.bg-img-desk {
    background: url(../images/bg-img-desk.png) top center no-repeat;
    background-size: cover;
}

.bg-yellow {
    background-color: #fbf0d1;
}

.bg-lightgreen {
    background-color: #f2f9e8;
    min-height: auto;
    padding-bottom: 10px;
}

@media (min-width: 768px) {
    .bg-lightgreen {
        background-color: #f2f9e8;
        min-height: 230px;
    }
}

h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
    color: #000;
}

h1,
.h1 {
    font-size: 1.875rem;
}

h2,
.h2 {
    font-size: 1.5rem;
}

h3,
.h3 {
    font-size: 1.25rem;
}

@media (min-width: 768px) {
    h1,
    .h1 {
        font-size: 2.25rem;
    }
    h2,
    .h2 {
        font-size: 1.875rem;
    }
    h3,
    .h3 {
        font-size: 1.5rem;
    }
}

h2+h3,
h2+.h3 {
    margin-top: 1.875rem;
}

p {
    line-height: 1.75em;
}

p+ul,
p+ol {
    margin-top: 20px;
}

.page-header {
    color: #000;
    border-color: #ddd;
}


/* ARTICLE  */

.body-copy p+p,
.body-copy ul+p,
.body-copy ol+p,
.body-copy p+table {
    margin-top: 1.75em;
}


/*.article .col-sm-9.col-sm-push-3 > h2:first-child {
	margin-top: 0;
}
.article .col-sm-9.col-sm-push-3 > p + h2:first-child {
	margin-top: 50px;
}*/

.body-copy h2+p {
    margin-top: 20px;
}

.body-copy li>p {
    margin-bottom: 0;
}

.body-copy li {
    margin-bottom: 10px;
}

.body-copy h3,
.body-copy .h3 {
    margin-top: 1.6em;
}

.body-copy .page-header {
    margin: 2em 0 .8em;
}

.body-copy .page-header:first-child {
    margin: 0 0 .8em;
}

.body-copy img {}

.body-copy__block {
    padding-top: 40px;
}

.body-copy .body-copy__block:last-child {
    margin-bottom: 80px;
}

.section {
    padding-top: 40px;
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .section {
        padding-top: 80px;
        margin-bottom: 80px;
    }
    .body-copy__block {
        padding-top: 80px;
    }
}


/*.section h2 {
	margin-bottom: 40px;
	color: #000;
}
.section h2 {
	margin: 0 0 40px;
}
.section h3 {
	margin-bottom: 20px;
}*/

.heading {
    margin: 0 0 40px;
    text-align: center;
}

.heading h2 {
    color: #000;
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 600;
}

.heading h2 small {
    font-size: .85rem;
}

.heading>h2+p {
    margin-top: 10px;
}

.heading-h3 {
    margin: 0 0 20px;
}

.heading-h3 h3 {
    margin-top: 10px;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .heading {
        margin: 0 0 60px;
    }
    .heading-h3 h3 {
        height: 52px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
    }
}

.article {
    position: relative;
    padding-bottom: 100px;
}

.breadcrumb-wrapper {
    background: linear-gradient(to right, rgba(50, 75, 92, .85), rgba(255, 255, 255, 0) 85%);
    position: relative;
    z-index: 90;
}

.breadcrumb {
    font-size: .7rem;
    background-color: transparent;
    padding: 10px 0 0;
    margin-bottom: 7px;
}

.breadcrumb>li+li:before {
    content: "\f0da";
    font-family: FontAwesome;
    padding: 0 5px;
    color: #fe9806;
}

.breadcrumb a {
    color: #ccc;
}

.breadcrumb a:hover {
    color: #FFF;
}

.breadcrumb>.active {
    color: #fff;
}


/* CARD UI */

.card {
    border: solid 1px #ddd;
    margin: 0 auto 30px;
    border-radius: 2px;
    text-align: left;
    background-color: #FFF;
    box-shadow: 0 2px 3px rgba(17, 17, 17, 0.1);
    /*font-size: .875rem;*/
    width: 280px;
}

a:hover card,
.card:hover .card-title,
.card:hover .caption {
    text-decoration: none;
}

.card:hover {
    border: solid 1px #ccc;
    box-shadow: 0 0 8px #aaa;
    cursor: pointer;
}

.card-body {
    padding: 15px 15px 10px;
    width: 100%;
}

.selection-invalid {
    pointer-events: none;
}

.card .caption,
.card-cta {
    color: #a2aab7;
    font-weight: 600;
    font-size: 12px;
    display: inline-block;
    margin-bottom: 10px;
}

.card-cta {
    color: #ff6908;
}

.card-heading {
    padding: 15px 20px 10px;
    border-bottom: solid 3px #eee;
}

.card-foot {
    padding: 10px 15px 30px;
}

.card .card-title {
    font-size: .875rem;
    line-height: 1.4em;
    font-weight: 600;
    margin-top: 0;
    color: #555;
    margin-bottom: 10px;
}

.card:hover .card-title,
.card:hover .card-cta {
    color: #f7751f;
}

.card-description,
.card {
    /*font-size: .785rem;*/
    line-height: 1.8em;
    color: #555;
}

.border-top,
.border-top:hover {
    border-top-width: 4px;
}

@media (min-width: 768px) {
    .card {
        width: 100%;
    }
    .card .card-title {
        font-size: 1.125rem;
        margin-bottom: 20px;
    }
}

.card-service-menu {
    box-shadow: 0 2px 100px rgba(162, 170, 183, 0.8);
}

.card-service-menu h3 {
    margin-bottom: 20px;
    font-size: 1rem;
    height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-all;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    white-space: normal;
}

.card-service-menu .btn {
    margin-bottom: 20px;
}


/* NEW RELEASE */

.wysiwyg {}

.wysiwyg .page-header {
    color: #000;
}

.wysiwyg img {
    display: block;
    max-width: 100%;
    height: auto;
}


/* LIST ITEM */

.list-square {
    list-style: square;
}

.list-v-long li {
    padding: .5em 0;
}

.list-align-left {
    padding-left: 15px;
}

.list-arrow-right {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.list-arrow-right a {
    color: #555;
}

.list-arrow-right li {
    border-top: 1px solid #e0e4e7;
    margin: 0;
    padding: 20px 0 20px 10px;
    background: #fff url(../images/arrow-right-lg.png) right 15px center no-repeat;
}

.list-arrow-right li:hover {
    background: #f7751f url(../images/arrow-right-lg-inverse.png) right 15px center no-repeat;
    cursor: pointer;
}

.list-arrow-right-sm li {
    border-top: 1px solid #e0e4e7;
    margin: 0;
    padding: 20px 0 20px 10px;
    background: #fff url(../images/arrow-right.png) right 15px center no-repeat;
}

.list-arrow-right-sm li:hover {
    background: #f7751f url(../images/arrow-right-inverse.png) right 15px center no-repeat;
    cursor: pointer;
}

.list-arrow-right li:last-child {
    border-bottom: 1px solid #e0e4e7;
}

.list-arrow-right__inner {
    margin-right: 80px;
}

.list-arrow-right__heading {
    margin: 0 0 20px;
    font-weight: 600;
}

.list-arrow-right__body {
    font-size: .75rem;
    line-height: 1.5em;
    margin-bottom: 0;
}

.list-arrow-right__heading {
    color: #f7751f;
}

.list-arrow-right li:hover .list-arrow-right__heading,
.list-arrow-right li:hover .list-arrow-right__body {
    color: #FFF;
}

@media (min-width: 768px) {
    .list-arrow-right li {
        padding: 20px 0 15px 25px;
    }
    .list-arrow-right__inner {
        margin-right: 100px;
    }
    .list-arrow-right__body {
        font-size: 1rem;
        line-height: 2em;
    }
}

.list-check {
    list-style: none;
    /*margin: 20px 0 0;*/
    padding: 0;
}

.list-check li {
    display: block;
    color: #555;
    position: relative;
    vertical-align: top;
    padding: 10px 0 10px 30px;
}

.list-check li::before {
    content: "\f00c";
    font-family: FontAwesome;
    color: #1da1db;
    display: inline-block;
    font-size: 1.125rem;
    left: 0px;
    position: absolute;
    top: 7px;
}

.list-check__heading {
    color: #000;
    font-weight: 600;
    font-size: 1.25rem;
}

.list-check-xs li {
    padding: 5px 0 5px 20px
}

.list-check-xs li:before {
    font-size: .875rem;
    top: 3px;
}

.list-check-lg li:before {
    top: 12px;
}

.list-row:before,
.list-row:after {
    content: " ";
    display: table;
    box-sizing: border-box;
    clear: both;
}

.consistent-flow {
    padding: 30px 0px;
}

.system-list {
    list-style: none;
}


/* SIDE NAVIGATION
-------------------------------------------------- */

.side-nav {}

.side-nav a {
    color: #626c77;
}

.side-nav h2 {
    font-size: 1rem;
    margin: 55px auto 0;
    padding: 0 10px 10px;
    color: #a2aab7;
    font-weight: 600;
}

.side-menu {
    padding-left: 0;
}

.side-nav li:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.side-nav li:last-child {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.side-nav li {
    position: relative;
    display: block;
    font-size: .875rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
}

.side-nav a {
    display: block;
    padding: 10px 15px;
}

.side-nav li.active {
    padding: 10px 15px;
    border-bottom: solid 1px #ddd;
    color: #ff6908;
    font-weight: 600;
}

.side-nav li.active ul li {
    font-weight: normal;
}

.side-menu li a::after,
.side-menu li.active:after {
    font-family: 'FontAwesome';
    content: "\f105";
    position: absolute;
    top: 0;
    right: 10px;
    margin-top: 13px;
}

.side-menu li.active:after {}

.side-nav li.active ul {
    margin: 10px 0 0 0;
    padding: 0;
}

.side-nav li.active ul li,
.side-nav li ul li.active,
.side-nav li ul li {
    border: 0;
}

.side-menu li ul li a::after,
.side-menu li ul li a:hover:after,
.side-menu li ul li.active:after {
    content: "";
}

@media (min-width: 768px) {
    .side-nav h2 {
        font-size: .75rem;
        margin: 88px auto 0;
        padding-left: 10px;
    }
    .side-nav p {
        font-size: .75rem;
    }
    .side-menu {
        list-style: none outside none;
        padding-left: 0;
        margin: 0 20px 15px 0;
        padding: 8px;
    }
    .side-menu li {
        padding: 14px 0 14px 10px;
        border-left: 0;
        border-right: 0;
    }
    .side-menu a {
        padding: 0;
    }
    .side-nav li.active {
        padding: 14px 0 14px 10px;
        font-weight: normal;
    }
    .side-menu li a::after,
    .side-menu li.active:after {
        right: 5px;
    }
    .side-menu li a:hover:after {
        color: #ff6908;
    }
    .side-menu li.active,
    .side-menu li a:hover,
    .side-menu li.active ul li a:hover {
        color: #ff6908;
    }
    .side-menu li.active ul li a {
        color: #5b5b5b;
    }
    .side-menu li ul {
        margin: 15px 0px 0px 0px;
        padding-left: 0;
        list-style: none;
    }
    .side-menu li ul li,
    .side-menu li ul li.active {
        padding: 4px 10px 4px 16px;
        display: block;
        font-size: .8125rem;
    }
}


/* SHARE
-------------------------------------------------- */

#share ul {
    height: auto;
    margin: 0;
    padding: 0;
    text-align: center;
}

#share li {
    font-size: 10px;
    width: 20%;
    text-align: center;
    padding-top: .5em;
    padding-bottom: .5em;
    margin-right: 1%;
    margin-bottom: 8px;
    border-radius: 3px;
    list-style: none;
}

#share li.share-hatena {
    width: 30%;
}

#share a {
    color: #ffffff;
    text-decoration: none;
}

#share a:hover {
    text-decoration: none;
    color: #ffffff;
}

#share li .fa,
#share li span {
    padding-right: 5px;
    font-size: 16px;
}

#share li span {
    letter-spacing: 2px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1em;
}

#share li span {
    font-weight: 600;
}

@media (min-width: 768px) {
    #share li {
        width: 23%;
        padding: 1em 0;
        line-height: 30px;
        font-size: 12px;
    }
    #share li a {
        display: block;
        width: 100%;
        height: 100%;
    }
    #share li.share-hatena {
        width: 23%;
    }
}

#share li.share-twitter {
    background: #55acee;
    box-shadow: 0 2px #2795e9;
}

#share li.share-twitter:hover {
    background: #83c3f3;
}

#share li.share-facebook {
    background: #3b5998;
    box-shadow: 0 2px #2d4373;
}

#share li.share-facebook:hover {
    background: #4c70ba;
}

#share li.share-google {
    background: #dd4b39;
    box-shadow: 0 2px #c23321;
}

#share li.share-google:hover {
    background: #e47365;
}

#share li.share-hatena {
    background: #2c6ebd;
    box-shadow: 0 2px #225694;
}

#share li.share-hatena:hover {
    background: #4888d4;
}


/* MARGIN
-------------------------------------------------- */

.mv0 {
    margin: 0;
}

.mv2 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.mv4,
.mv4-xs .mv6,
.mv8 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .mv6 {
        margin-top: 3rem;
        margin-bottom: 3rem;
    }
    .mv8 {
        margin-top: 4rem;
        margin-bottom: 4rem;
    }
    .mv80 {
        margin-top: 80px;
        margin-bottom: 80px;
    }
    .mw6 {
        max-width: 32rem;
    }
    .mw6half {
        max-width: 38rem;
    }
    .mw7 {
        max-width: 48rem;
    }
    .mw8 {
        max-width: 60rem;
    }
}

.center {
    margin-left: auto;
    margin-right: auto;
}


/* HERO BANNER
-------------------------------------------------- */

.hero {
    margin-top: -51px;
}

.hero-heading {
    text-align: center;
    padding: 80px 0;
}

.hero-heading__left {
    text-align: left;
}

.hero-heading h1 {
    font-size: 2rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.2em;
    letter-spacing: 3px;
    color: #FFF;
    text-shadow: 1px 1px 20px #444;
}

.hero-heading .sub-heading {
    font-size: 18px;
    color: #f7751f;
    letter-spacing: 1px;
    font-weight: 600;
    margin-top: 10px;
    padding: 0;
}


/*darwin*/

.hero-top .sub-heading-top {
    margin-bottom: 0px;
    text-shadow: none;
    margin-bottom: -4px;
}

.hero-heading .sub-heading-top {
    font-weight: 600;
    color: #FFF;
}

.darwin-links {
    background: #F4F5F7;
    padding: 1em .5em;
    border: 1px solid #CCC;
}

.darwin-links p {
    margin-left: 1.5em;
}

.darwin-links ul {
    margin-top: 10px;
}

.darwin-links li {
    font-size: .9rem;
}

.bg-light-gray .darwin-links {
    background: #FFF;
}

.darwin-btn {
    background-color: #1DA2DB;
    border-color: #1DA2DB;
    color: #FFF !important;
}

.darwin-btn:hover {
    opacity: .9;
}

.darwin-btn:visited {
    color: #FFF !important;
}

@media (min-width:768px) {
    .col-md-offset-1-5 {
        margin-left: 12.5%
    }
}

@media (min-width:768px) {
    .darwin-clm2 {
        margin-left: -30px;
        margin-right: -30px;
    }
    .darwin-clm2 .col-sm-6 {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.darwin-clm2 h3 {
    font-weight: bold;
    font-size: 1.15rem;
}

.darwin-clm2 h3:before {
    content: "■";
    color: #F06900;
}

.darwin-clm2 p {
    font-size: .9rem;
}

.hero-heading-sm {
    padding: 60px 0 50px;
}

@media (min-width: 768px) {
    .hero {
        margin-top: -37px;
    }
    .hero-heading h1 {
        font-size: 3.2rem;
    }
    .hero-heading {
        padding-top: 140px;
    }
    .hero-heading-sm {
        padding: 60px 0 50px;
    }
    .hero-heading-md {
        padding: 160px 0 0;
    }
}

.hero-default {
    background: url(../images/hero-meeting-space.png) top center no-repeat;
    background-position: contain;
    color: #FFF;
}

.category-tim .hero-default {
    background: url(../images/hero-timblog.png) top center no-repeat;
}

.category-tim .hero-default h1 {
    text-shadow: none;
}

.category-tim .sub-heading {
    color: #FFF;
}

.category-hr .hero-default {
    background: url(../images/hero-hrblog.png) top center no-repeat;
}

.category-hr .hero-default h1 {
    color: #F06800;
    text-shadow: none;
}

.hero-default2 {
    background: url(../images/hero-gradient-meeting.png) center center no-repeat;
    background-position: contain;
    color: #FFF;
}


/*---------- */

.hero-strength {
    background: url(../images/hero-strength.png) bottom center no-repeat;
    background-position: cover;
    color: #FFF;
}

.hero-strength-technology {
    background: url(../images/hero-strength-technology.png) bottom center no-repeat;
    background-position: cover;
    color: #FFF;
}

.hero-strength-solution {
    background: url(../images/hero-strength-solution.png) bottom center no-repeat;
    background-position: contain;
    color: #FFF;
}


/*---------- */

.hero-case {
    background: url(../images/hero-case.png) bottom center no-repeat;
    background-position: cover;
    color: #FFF;
}

.hero-case-ipros {
    background: url(../images/hero-case-ipros.png) bottom center no-repeat;
    background-position: cover;
    color: #FFF;
}

.hero-case-3ec {
    background: url(../images/hero-case-3ec.png) bottom center no-repeat;
    background-position: contain;
    color: #FFF;
}

.hero-case-social-commerce {
    background: url(../images/hero-case-social-commerce.png) top center no-repeat;
    background-position: contain;
    color: #FFF;
}

.hero-case-music-portal {
    background: url(../images/hero-case-music-portal.png) bottom center no-repeat;
    background-position: contain;
    color: #FFF;
}

.hero-case-rikkyo {
    background: url(../images/hero-case-rikkyo.png) top center no-repeat;
    background-position: contain;
    color: #FFF;
}

.hero-case-kokushikan-u {
    background: url(../images/hero-case-kokushikan-u.png) top center no-repeat;
    background-position: contain;
    color: #FFF;
}


/*---------- */

.hero-service {
    background: url(../images/hero-service.png) top center no-repeat;
}

.hero-marketing {
    background: url(../images/hero-marketing.png) bottom center no-repeat;
}

.hero-marketing-omni {
    background: url(../images/hero-marketing-omni.png) bottom center no-repeat;
}

.hero-marketing-web {
    background: url(../images/hero-marketing-web.png) bottom center no-repeat;
}

.hero-marketing-web .hero-heading {
    padding: 70px 0;
}

@media (min-width: 768px) {
    .hero-marketing-web .hero-heading {
        padding-top: 100px;
    }
}

.hero-marketing-inbound {
    background: url(../images/hero-marketing-inbound.png) top center no-repeat;
}

.hero-product {
    background: url(../images/hero-product.png) top center no-repeat;
}

.hero-product-kabayaki {
    background: url(../images/hero-product-kabayaki.png) top center no-repeat;
}

.hero-product-puzzle {
    background: url(../images/hero-product-puzzle.png) top center no-repeat;
}

.hero-product-kiten {
    background: url(../images/hero-product-kiten.png) top center no-repeat;
}

.hero-product-eviden {
    background: url(../images/hero-product-eviden.png) top center no-repeat;
}

.hero-si {
    background: url(../images/hero-si.png) top center no-repeat;
}

.hero-si-backbone {
    background: url(../images/hero-si-backbone.png) top center no-repeat;
}

.hero-si-cloud {
    background: url(../images/hero-si-cloud.png) bottom center no-repeat;
}

.hero-si-mobile {
    background: url(../images/hero-si-mobile.png) bottom center no-repeat;
}

.hero-si-webdev {
    background: url(../images/hero-si-webdev.png) bottom center no-repeat;
}

.hero-edu {
    background: url(../images/hero-edu.png) 0% 50% no-repeat;
}

.hero-edu-primary {
    background: url(../images/hero-edu-primary.png) bottom center no-repeat;
}

.hero-edu-university {
    background: url(../images/hero-edu-university.png) bottom center no-repeat;
}

.hero-edu-vocational-school {
    background: url(../images/hero-edu-vocational-school.png) bottom center no-repeat;
}

.hero-edu-library {
    background: url(../images/hero-edu-library.png) bottom center no-repeat;
}

.hero-edu-elearning {
    background: url(../images/hero-edu-elearning.png) bottom center no-repeat;
}

.hero-edu-monitoring {
    background: url(../images/hero-edu-monitoring.png) bottom center no-repeat;
}

.hero-edu-raport {
    background: url(../images/hero-edu-raport.png) bottom center no-repeat;
}

.hero-edu-edupri {
    background: url(../images/hero-edu-edupri.png) bottom center no-repeat;
}

.hero-edu-dodaicampus {
    background: url(../images/hero-edu-dodaicampus.png) bottom center no-repeat;
}

.hero-edu-babel {
    background: url(../images/hero-edu-babel.png) bottom center no-repeat;
}

.hero-edu-moca {
    background: url(../images/hero-edu-moca.png) bottom center no-repeat;
}


/*qmoca*/

.qmoca_hero-edu-moca {
    background: url(../images/qmoca_hero-edu-moca.png) bottom center no-repeat;
}

.qmoca-fluid {
    font-size: 18px;
}

.qmoca-btn {
    font-size: 18px;
    min-width: 330px;
    min-height: 2.2rem;
    padding: 15px 25px;
    line-height: 2.2rem;
}

.qmoca_list {
    line-height: 2.4;
}

@media (max-width: 768px) {
    .edu-icon.qmoca_edu-icon {
        margin-top: -17px;
    }
}

.hero-edu-eduport {
    background: url(../images/hero-edu-eduport.png) bottom center no-repeat;
}

.hero-edu-carriport {
    background: url(../images/hero-edu-carriport.png) bottom center no-repeat;
}

.hero-edu-raport {
    background: url(../images/hero-edu-raport.png) bottom center no-repeat;
}

.hero-edu-canrecruit {
    background: url(../images/hero-edu-canrecruit.png) bottom center no-repeat;
}

.hero-edu-cancon {
    background: url(../images/hero-edu-cancon.png) bottom center no-repeat;
}

.hero-blockchain {
    background: url(../images/hero-blockchain-blockchain.png) bottom center no-repeat;
}

.hero-ai {
    background: url(../images/hero-ai.png) bottom center no-repeat;
}

.hero-ai-innovation {
    background: url(../images/hero-ai-innovation.png) bottom center no-repeat;
}

.hero-ai-shift {
    background: url(../images/hero-ai-shift.jpg) bottom center no-repeat;
}

.hero-service,
.hero-marketing,
.hero-inbound,
.hero-marketing-web,
.hero-marketing-omni,
.hero-si,
.hero-si-mobile,
.hero-si-webdev,
.hero-si-cloud,
.hero-si-backbone,
.hero-edu,
.hero-edu-primary,
.hero-edu-university,
.hero-edu-vocational-school,
.hero-edu-library,
.hero-edu-elearning,
.hero-strength,
.hero-strength-technology,
.hero-strength-solution,
.hero-edu-dodaicampus,
.hero-edu-babel,
.hero-edu-moca,
.hero-edu-edupri,
.hero-edu-eduport,
.hero-edu-carriport,
.hero-edu-raport,
.hero-edu-canrecruit,
.hero-edu-cancon,
.hero-ai,
.hero-ai-innovation,
.hero-blockchain {
    height: 250px;
    background-position: contain;
}

@media (min-width: 768px) {
    .hero-service,
    .hero-marketing,
    .hero-inbound,
    .hero-marketing-web,
    .hero-marketing-omni,
    .hero-si,
    .hero-si-mobile,
    .hero-si-webdev,
    .hero-si-cloud,
    .hero-si-backbone,
    .hero-edu,
    .hero-edu-primary,
    .hero-edu-university,
    .hero-edu-vocational-school,
    .hero-edu-library,
    .hero-edu-elearning,
    .hero-edu-dodaicampus,
    .hero-edu-babel,
    .hero-edu-moca,
    .hero-edu-edupri,
    .hero-edu-eduport,
    .hero-edu-carriport,
    .hero-edu-raport,
    .hero-edu-canrecruit,
    .hero-edu-cancon,
    .hero-ai,
    .hero-ai-innovation,
    .hero-blockchain {
        height: 400px;
        background-position: cover;
    }
    .hero-strength,
    .hero-strength-technology,
    .hero-strength-solution {
        height: 360px;
    }
}


/* CASE
-------------------------------------------------- */

.case {
    margin: 60px 0 40px;
}

.case-hero-heading {
    margin: 80px 0 40px;
    background: rgba(50, 75, 92, 0.701961);
    padding: 20px 30px;
    width: 100%;
}

.case-hero-heading h1 {
    font-size: 1rem;
    font-weight: 600;
}

.case-hero-heading h1,
.case-hero-heading h2 {
    color: #FFF;
}

.case-hero-heading h2 {
    font-size: 1.5rem;
    line-height: 1.3em;
    /*font-weight: 600;*/
}

.case-side-col {
    position: relative;
    padding-top: 60px;
}

.case-side-col:before {
    content: " ";
    position: absolute;
    border-left: solid 1px #ddd;
    height: 150%;
    top: 0;
    left: -17%;
}

.case-side-col dl {
    margin-bottom: 5px;
}

.img-wrapper {
    margin: 40px 0 0;
    text-align: center;
}

.img-wrapper img {
    box-shadow: 0 2px 2px rgba(0, 0, 0, .24), 0 0 2px rgba(0, 0, 0, .12);
    margin: 0 auto 5px;
    padding: 20px 20px 0;
}

.case .card .card-title {
    color: #000;
}

.case a:hover .card .card-title {
    color: #ff6908;
}

.case .card-description {
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    .case .card .card-title {
        height: 50px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        white-space: normal;
        margin-bottom: 10px;
    }
    .case .card-description {
        height: 70px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        white-space: normal;
    }
    .case-hero-heading {
        margin: 80px 0;
        width: 60%;
    }
    .case-hero-heading h1 {
        font-size: 1.25rem;
    }
    .case-hero-heading h2 {
        font-size: 2rem;
    }
    .case-side-col {
        padding-top: 80px;
    }
    .case-side-col dl {
        margin-bottom: 20px;
    }
    .case-client {
        margin-bottom: 40px;
    }
}


/* INTERN
-------------------------------------------------- */

.hero-intern {
    background: url(../images/hero-internship.png) top center no-repeat;
    background-size: cover;
}

.hero-msg {
    width: auto;
    margin: 120px auto 100px;
}

.hero-msg h2 {
    line-height: 1.6em;
    font-weight: 600;
    margin: 40px 0;
    text-align: center;
}

.hero-msg p {
    font-weight: 600;
    line-height: 31px;
    margin: 20px auto;
}


/*internship-close*/

.internship-close {
    position: relative;
}

.internship-close .hero-intern,
.internship-close #carousel,
.internship-close .container-fluid.container-small {
    opacity: 0.5;
    -ms-user-select: none;
    /* IE 10+ */
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

.internship-close a {
    pointer-events: none;
    display: inline-block;
}

.internship-close+.footer {
    position: relative;
    z-index: 100;
}

.internship-close .internship-msg {
    z-index: 10;
    position: absolute;
    top: 0%;
    left: 0%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    font-size: 120%;
}

.internship-close .internship-msg span {
    position: fixed;
    top: 50%;
    display: inline-block;
    padding: 1em;
    text-align: center;
    width: 100%;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-size: 110%;
    line-height: 1.6;
}

@media (min-width:768px) {
    .hero-msg {
        width: 720px;
        margin: 120px auto 150px;
    }
}


/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */


/* Carousel base class */

.voice {
    min-height: 430px;
    background: #fe7b03;
    /* Old browsers */
    background: -moz-linear-gradient(top, #fe7b03 0%, #fb9008 50%, #fe7b03 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #fe7b03 0%, #fb9008 50%, #fe7b03 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #fe7b03 0%, #fb9008 50%, #fe7b03 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#fe7b03', endColorstr='#fe7b03', GradientType=0);
    /* IE6-9 */
    text-align: center;
}


/* Declare heights because of positioning of img element */

.voice .item {
    height: auto;
}

.voice h2 {
    margin-top: 0;
    padding: 40px 0 30px;
    position: relative;
}

.voice h2:before {
    content: url(../images/icon-quote-orange.png);
    position: absolute;
    top: -20%;
    left: 50%;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    text-align: center;
}

.voice h2 small {
    font-size: 0.875rem;
}

.voice h2 img {
    padding-top: 10px;
}

.voice-heading {
    display: inline-block;
    text-align: center;
    margin: 20px auto 0;
    color: #2c3a48;
    font-weight: 600;
}

.voice-heading p {
    margin: 10px 0 0 20px;
}

.voice-body {
    margin: 10px auto;
    width: auto;
    text-align: center;
    padding: 0 20px;
    line-height: 2em;
    color: #FFF;
}

@media (min-width:768px) {
    .voice-heading {}
    .voice-body {
        width: 800px;
        font-size: 20px;
    }
}


/* CTA
-------------------------------------------------- */

.cta-bottom {
    text-align: center;
    padding-bottom: 60px;
    padding-top: 60px;
}

.cta-bottom h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    line-height: 1.6em;
}

.cta-bottom .btn {
    font-size: 18px;
    margin-top: 30px;
}

.cta-bottom.bg-blue,
.cta-bottom.bg-orange,
.cta-bottom.bg-dark {
    color: rgba(255, 255, 255, .7);
}

@media (min-width: 768px) {
    .cta-bottom {}
    .cta-bottom h3 {
        font-size: 1.875rem;
    }
}


/* STRENGTH
-------------------------------------------------- */

@media (min-width: 768px) {
    .card__strength ul {
        height: 210px;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        word-wrap: break-word;
    }
}

.book-list {}

.book-list figure {
    height: 130px;
    margin: 40px auto 10px;
    position: relative;
}

.book-list .label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15;
    border-radius: 0;
    padding: 5px 20px 3px;
    font-weight: normal;
}

.book-list .label:after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    margin-left: 0;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 8px 8px 0;
    border-color: transparent #0a2e2d transparent transparent;
    z-index: -1;
}

.book-list figure img {
    max-height: 130px;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

.book-list figcaption {
    font-size: .75rem;
    text-align: center;
    height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-all;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-wrap: break-word;
}

@media (min-width: 768px) {
    .book-list figure {
        height: 200px;
    }
    .book-list figure img {
        max-height: 200px;
    }
    .book-list figcaption {
        font-size: .875rem;
        height: 60px;
    }
}

.box {
    border: 2px solid #DBE3E3;
    padding: 20px;
    border-radius: 6px;
    margin: 10px;
}


/* BLOG 
-------------------------------------------------- */

@media (min-width: 768px) {
    .blog .card h2 {
        height: 48px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
    }
    .blog .card-body {
        padding-right: 40px;
        padding-left: 40px;
    }
    .blog .card-description {
        margin-bottom: 40px;
        height: 105px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        white-space: normal;
    }
}


/* BORDER 
-------------------------------------------------- */

.bar-orange,
.bar-orange:hover {
    border-top-color: #ff6908;
}

.bar-blue,
.bar-blue:hover {
    border-top-color: #1da1db;
}

.bar-green,
.bar-green:hover {
    border-top-color: #4b8088;
}

.bar-yellow,
.bar-yellow:hover {
    border-top-color: #fba708;
}

.bar-gray,
.bar-gray:hover {
    border-top-color: #626c77;
}

.bar-purple,
.bar-purple:hover {
    border-top-color: #a54fd2;
}

.bar-dark-gray,
.bar-dark-gray:hover {
    border-top-color: #202b34;
}

.bar-red,
.bar-red:hover {
    border-top-color: #fb3008;
}


/* DL
-------------------------------------------------- */

.dl-horizontal-sm dt {
    width: 20%;
}

.dl-horizontal-sm dd {
    margin-left: 20%;
}


/* LAYOUT
-------------------------------------------------- */

.bottom30 {
    margin-bottom: 30px;
}

.container-left {
    margin-right: 40px;
}

.icon-box {
    padding: 0 20px 30px
}

.icon-box figure {
    float: left;
    width: 50px;
}

.icon-box__body {
    padding-left: 70px;
}

.icon-box__body h3 {
    margin-bottom: 1em;
}

.three-col-layout [class*='col-'] {
    padding-left: 25px;
    padding-right: 25px;
    border-right: solid 1px #ddd;
}

.three-col-layout [class*='col-']:nth-child(3n) {
    border-right: 0;
}


/* MISC
-------------------------------------------------- */

.feature-item {
    display: block;
    font-size: .75rem;
    text-align: center;
    border: solid 1px #f78a42;
    border-radius: 4px;
    background-color: #f78a42;
    color: #FFF;
    margin: .5rem .5rem;
    height: 36px;
    line-height: 36px;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    white-space: normal;
}

@media (min-width: 768px) {
    .feature-item {
        font-size: 1rem;
        height: 50px;
        line-height: 50px;
    }
}


/* SPEECH BUBBLE left */

.speech {
    position: relative;
    display: inline-block;
    padding: 30px;
    border-radius: 6px;
}

.speech-left {
    float: left;
}

.speech-left:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    margin-top: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #f00 transparent transparent;
    z-index: 0;
}

.speech-left.bg-gray:before {
    border-color: transparent #cbd0da transparent transparent;
}

.speech-right {
    float: right;
}

.speech-right:before {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    margin-top: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #f00;
    z-index: 0;
}

.speech-right.bg-gray:before {
    border-color: transparent transparent transparent #cbd0da;
}


/* SERVICE
-------------------------------------------------- */

.flow-inbound .col-sm-10 {
    position: relative;
}

.flow-inbound .col-sm-10 h3 {
    position: relative;
    z-index: 20;
}

@media (min-width: 768px) {
    .flow-inbound .col-sm-10:before {
        content: "";
        position: absolute;
        top: 0;
        left: 30px;
        background: url(../images/flow-line.png) 0 center repeat-y;
        display: block;
        width: 10px;
        height: 130%;
        padding-bottom: 50px;
    }
    .flow-inbound figure {
        padding-top: 30px;
    }
    .flow-inbound__block {
        margin-left: 50px;
    }
}


/* sertice-nav */

.service-nav [class*='col-'] {
    border-bottom: solid 1px #ddd;
}

.service-nav [class*='col-']:last-child {
    border-bottom: none;
}

.service-nav a {
    display: block;
}

.service-nav a:hover {
    background-color: #f3f5f7;
}

.service-nav__block {
    padding: 30px;
}

.service-nav__block h3 {
    margin-top: 0;
    margin-bottom: 10px;
}

.service-nav .card-cta {
    color: #ff6908;
}

.service-nav a:hover h3 {
    color: #ff6908;
}

.service-nav__block p {
    color: #555;
}

.service-nav__items {
    color: #555;
    list-style: none;
    text-align: center;
    padding: 0;
}

.service-nav__items li {
    padding: .5em 0;
    position: relative;
}


/*.service-nav__items li:before {
	content: "";
	font-family: FontAwesome;
	color: #1da1db;
	display: inline-block;
	font-size: 1.125rem;
	left: 0px;
	position: absolute;
	top: 7px;

}*/

@media (min-width: 992px) {
    .service-nav [class*='col-'] {
        border-right: solid 1px #ddd;
        border-bottom: 0;
    }
}

@media (min-width: 768px) {
    .service-nav {
        width: 80%;
    }
    .service-nav [class*='col-']:nth-child(4) {
        border-right: 0;
    }
    .service-nav__block h3 {
        font-size: 18px;
        height: 40px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
    }
}

@media (min-width: 992px) {
    .service-nav__items {
        height: 155px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        white-space: normal;
        margin-bottom: 40px;
    }
    .paragraph-3-sm {
        height: 69px;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        white-space: normal;
    }
}


/* TEASER
-------------------------------------------------- */

.news-tease {
    display: block;
    margin-top: 30px;
    padding: 15px 20px;
    color: #FFF;
    text-align: center;
    font-size: 14px;
    background-color: rgba(0, 0, 0, .7);
}

.news-tease:hover {
    color: #f7751f;
    text-decoration: underline;
}

@media (min-width: 768px) {
    .news-tease {
        margin-top: 50px;
    }
}


/* Puzzle
-------------------------------------------------- */

#answer figure {
    margin-bottom: 25px;
}

#answer figure:nth-child(2) {
    margin-bottom: 0px;
}

.puzzle-answer {
    clear: both;
    text-align: center;
    padding-top: 40px;
}


/* edu-service
-------------------------------------------------- */

.edu-service {
    position: relative;
    min-height: 500px;
    max-width: 760px;
    margin: 0 auto 60px auto;
}

.bg-edu-service-1 {
    background-color: #c0e5f9;
}

.bg-edu-service-2 {
    background-color: #ddedd0;
}

.bg-edu-service-3 {
    background-color: #fff3a5;
}

.bg-edu-service-4 {
    background-color: #f8cbcd;
}

.bg-white-edu {
    background-color: #FFF;
    padding: 5px;
    margin-bottom: 10px;
}

.edu-service-raport-point {
    padding: 5px;
}

.edu-service .edu-service-card span {
    font-size: 3rem;
    font-family: "Superclarendon";
    display: block;
    z-index: 999;
}

.edu-service .edu-service-card-1 span {
    margin-top: -6rem;
}

.edu-service .edu-service-card-2 span {
    margin-top: -4.5rem;
}

.edu-service .edu-service-card-3 span {
    margin-top: -6rem;
}

.edu-service .edu-service-card-4 span {
    margin-top: -7rem;
}

.edu-service .edu-service-card {
    box-sizing: border-box;
    width: 270px;
    height: 270px;
    border-radius: 100%;
    text-align: center;
}

.edu-service-card.edu-service-card-1 {
    position: absolute;
    top: 0;
    left: 245px;
    background-color: #c0e5f9;
    padding: 4rem 1em;
}

.edu-service-card.edu-service-card-2 {
    position: absolute;
    top: 140px;
    left: 0;
    background-color: #ddedd0;
    padding: 2.5rem 1em;
}

.edu-service-card.edu-service-card-3 {
    position: absolute;
    top: 140px;
    right: 0;
    background-color: #fff3a5;
    padding: 4rem 1em;
}

.edu-service-card.edu-service-card-4 {
    position: absolute;
    top: 300px;
    left: 245px;
    background-color: #f8cbcd;
    padding: 5rem 1em;
}

.edu-service-raport-point {
    background-color: #eeeaf3;
    padding: 10px;
}

.edu-service-cancon-point {
    padding: 0 15px 10px 0;
}

.edu-license {
    position: relative;
}

.edu-license:after {
    content: '';
    background: url(../images/service-edu-license.png) no-repeat;
    background-size: cover;
    display: block;
    position: absolute;
    width: 80px;
    height: 80px;
    bottom: -10px;
    left: -10px;
}

@media (min-width: 768px) {
    .edu-image-80 {
        width: 80%;
        height: auto;
    }
}

@media (max-width: 768px) {
    .edu-service {
        margin: 0 auto 30px auto;
    }
    .edu-service-card.edu-service-card-1,
    .edu-service-card.edu-service-card-2,
    .edu-service-card.edu-service-card-3,
    .edu-service-card.edu-service-card-4 {
        position: static;
        margin: 0 auto 30px auto;
    }
    .edu-icon {
        margin-top: 45px;
    }
    .hero-edu-xs {
        margin-bottom: 80px;
    }
    .edu-license:after {
        top: 45px;
        left: 270px;
        width: 70px;
        height: 70px;
    }
}

.table.table-edu-service tbody th,
.table.table-edu-service tbody td {
    padding: 8px;
}

.table-edu-service tbody th {
    width: 180px;
}

.table-edu-service tbody td:nth-child(2) {
    width: 300px;
}

.table-edu-service tbody td:nth-last-child(-n + 10) {
    text-align: center;
}

.table.table-edu-service thead th img {
    min-width: 14px;
}


/* Kiten
-------------------------------------------------- */

.kiten-catalog {
    background-color: #d25333;
}

.kiten-catalog .kiten-catalog-box {
    text-align: center;
    padding: 40px;
    box-sizing: border-box;
    border-bottom: solid 1px #fff;
}

@media (min-width: 768px) {
    .kiten-catalog .kiten-catalog-box:last-child {
        border-left: solid 1px #fff;
    }
}

.btn-kiten {
    background-color: #fff;
    border-color: #fff;
    color: #d25333;
    margin-top: 10px;
}

.btn-kiten:hover,
.btn-kiten:focus {
    background-color: #d25333;
    border-color: #fff;
    color: #fff;
}

.hd-recruit .btn.btn-orange-inverse {
    line-height: 1.2;
    line-height: 24px
}

.list-unstyled .hd-recruit a {
    line-height: 1.4;
}

.list-unstyled .hd-recruit {
    margin-top: -2px;
}


/**/

.bnr_shift {
    margin-bottom: 80px;
}

.tenkei_logo {
    margin-bottom: 2em;
    margin-top: -30px;
}

.bnr_shift a:hover img {
    opacity: .8;
}


/*kabayaki*/

.kabayaki_sub {
    font-size: 85%;
}

.kabayaki_sub hr {
    margin-bottom: 2em;
    margin-top: 2em;
}

.table-bordered.thead-border>thead>tr>th,
.table-bordered.thead-border>thead>tr>td {
    border-width: 1px;
}

/* blog */

.blog_section {
    margin-bottom: 60px;
}

.blog_text-theme-color {
    color: #f06800;
}

.blog_text-strong {
    font-size: 1.2em;
}

.blog_text-center {
    text-align: center;
}

.blog_text-source {
    font-size: 60%;
}

.blog_text-large {
    font-size: 1.4em;
}

.blog_text-small {
    font-size: 0.6em;
}

.blog_faq .blog_faq-block {
    margin-bottom: 40px;
}

.blog_faq .blog_faq-block .blog_faq-lead {
    position: relative;
    font-weight: bold;
    font-size: 1.4em;
    margin-bottom: 15px;
    padding-left: 40px;
}

.blog_faq-lead::before {
    content: "Q";
    border: solid 1px #f06800;
    background-color: #f06800;
    border-radius: 50%;
    position: absolute;
    left: 0;
    color: rgb(255, 255, 255);
    width: 30px;
    height: 30px;
    text-align: center;
    font-size: 0.8em;
}

@media (max-width: 812px) {
    .blog_faq-lead::before {
        width: 25px;
        height: 25px;
    }
}

.blog_insert-image {
    display: table;
    margin: 60px auto;
}

.blog_insert-image>.blog_text-source {
    display: table-caption;
    caption-side: bottom;
    text-align: left;
    font-size: 60%;
}

.blog_hr {
    margin-bottom: 60px;
}

.blog_dt-wrapper {
    margin-bottom: 20px;
}

/* puzzle-engine */

.icon-pdf::before {
    content: "\f1c1";
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    display: inline-block;
}

.puzzle-img {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 40px;
}

.puzzle-img>img {
    margin: 0 20px;
}

.iframe-video {
    text-align: center;
	margin-top: 40px;
}

.puzzle-engine_link{
    background: #F4F5F7;
    padding: 1em .5em;
    border: 1px solid #CCC;
}

.puzzle-engine_link p{
    margin-left: 1.5em;
}

.puzzle-engine_link ul{
    margin-top: 10px;
}