@charset "utf-8";

/* ------------------------------------------------------
    ページ共通
------------------------------------------------------- */
/* Color and Font Settings */
body {
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.6;
    width : 100%;
    min-width: 960px;
    box-sizing: border-box;
}
textarea, input[type="text"]{
    font-size: 16px;
    padding: 2px;
    border-radius:3px;
}
textarea:focus, input[type="text"]:focus{

}
button {
    font-size: 16px;
}
header,main,footer {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}


/* Box Sizing */
#page-body {
    position: relative;
    width: 100%;
    min-width: 960px;
    box-sizing: border-box;
}
.content-area {
    width: 960px;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
}

/* Header */
header {
    width: 960px;
    height: 75px;
    box-sizing: border-box;
    position: fixed;
    left:calc(50% - 480px);
    background-color: #FFFFFF;
    box-shadow: 0 0 10px rgba(60,60,60,0.2);
    z-index: 1000;
}
#header-gototop,
#header-top {
    width: 350px;
    box-sizing: border-box;
}
#header-gototop>a,
#header-top>a {
    display: block;
    color: #333333;
    font-weight: 700;
    height: 75px;
    max-width: 350px;
}
#header-gototop>a:hover,
#header-top>a:hover {
    text-decoration: none;
}
#header-gototop>a>ul,
#header-top>a>ul {
    display: flex;
    box-sizing: border-box;
    width: 100%;
}
#header-gototop>a>ul>li,
#header-top>a>ul>li {
    box-sizing: border-box;
    margin-top: 15px;
}
#header-gototop>a>ul>li>img,
#header-top>a>ul>li>img {
    margin: 0 10px 0 5px;
    width: 44px;
}
#header-gototop>a>ul>li>.small,
#header-top>a>ul>li>.small {
    font-size: 16px;
    line-height: 18px;
    margin-left: 3px;
}
#header-gototop>a>ul>li>.big,
#header-top>a>ul>li>.big {
    font-size: 24px;
    line-height: 36px;
}
#gnavi {
    width: 610px;
}
#gnavi>ul {
    box-sizing: border-box;
    display: flex;
    max-width: 610px;
    position: absolute;
    top: 0;
    right: 0;
}
#gnavi>ul>li {
    margin-right: 15px;
}
#gnavi>ul>li.header-funclist,
#gnavi>ul>li.header-contact {
    margin-right: 0;
}
#gnavi>ul>li>a {
    display: block;
    box-sizing: border-box;
    height: 75px;
    text-align: center;
    font-size: 16px;
    padding: 20px 15px 10px 5px;
    color: #333333;
    font-weight: 700;
}
#gnavi>ul>li>a:hover {
    text-decoration: none;
    border-bottom: 5px solid #1A5FFF;
}
#gnavi>ul>li.header-contact>a,
#gnavi>ul>li.header-funclist>a {
    width: 75px;
    color: #E6E6E6;
    padding: 10px 0;
}
#gnavi>ul>li>a>.fa {
    font-size: 24px;
    margin-right: 6px;
    color: #7FA6FF;
}
#gnavi>ul>li.header-contact>a>.fa,
#gnavi>ul>li.header-funclist>a>.fa {
    color: #E6E6E6;
    font-size: 32px;
}
#gnavi>ul>li.header-contact>a>.fa {
    margin: 0 0 10px;
}
#gnavi>ul>li.header-funclist>a>.fa {
    margin: 5px 0;
}
#gnavi>ul>li.header-contact>a>.jp_name,
#gnavi>ul>li.header-funclist>a>.jp_name {
    font-size: 10px;
}
#gnavi>ul>li.header-contact>a:hover,
#gnavi>ul>li.header-funclist>a:hover,
#gnavi>ul>li.header-contact>a:hover>.fa,
#gnavi>ul>li.header-funclist>a:hover>.fa {
    color: #FFFFFF;
    border-bottom: none;
}
#gnavi>ul>li.header-contact>a {
    background-color: #A70000;
}
#gnavi>ul>li.header-funclist>a {
    background-color: #008500;
}
#sp-gnavi-btn,
#sp-gnavi-area {
    display: none;
}

/* Footer */
#footer-sep-top {
    margin: 0;
    position: relative;
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    background-color: #002C91;
}
#footer-main-area {
    margin: 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}
#footer-main-area>.content-area>ul {
    box-sizing: border-box;
    display: flex;
    margin: 16px 10px 10px;
}
#footer-main-area>.content-area>ul>li.footer-left {
    width: 60%;
}
#footer-main-area>.content-area>ul>li.footer-right {
    width: 40%;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-logo {
    box-sizing: border-box;
    display: flex;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-logo>li>img {
    margin: 0 10px 0 0;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-logo>li>.small {
    font-size: 14px;
    line-height: 16px;
    margin-left: 1px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-logo>li>.big {
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    letter-spacing: 2px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-office {
    box-sizing: border-box;
    margin-top: 16px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-office>li {
    box-sizing: border-box;
    font-size: 14px;
    line-height: 16px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-office>.company {
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    letter-spacing: 4px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-addr {
    box-sizing: border-box;
    display: flex;
    margin-top: 8px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-addr>.zip {
    width: 120px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-tel {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin-top: 8px;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-tel>li {
    box-sizing: border-box;
    width: 40%;
}
#footer-main-area>.content-area>ul>li.footer-left>div>.footer-tel>li.mail {
    width: 60%;
}
#footer-main-area>.content-area>ul>li.footer-right>nav {
    margin-top: 60px;
}
#footer-main-area>.content-area>ul>li.footer-right>nav>ul>li {
    margin-bottom: 3px;
}
#footer-main-area>.content-area>ul>li.footer-right>nav>ul>li>a>.fa {
    margin-right: 8px;
}
#footer-copyright {
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background-color: #ADC6FF;
}
#footer-copyright>.content-area {
    padding: 5px;
    text-align: center;
    font-size: 14px;
}
#footer-copyright>.content-area>.cmark {
    margin: 0 5px;
}

/* GOTO TOP */
#gototop {
    bottom: 160px;
    left:calc(50% + 414px);
    z-index: 990;
}
#gototop>a {
    width: 64px;
    font-size: 64px;
    text-shadow: 1px 1px 0 rgba(255,255,255,1.0), -1px -1px 0 rgba(255,255,255,1.0),    /*右下、左上*/
                 -1px 1px 0 rgba(255,255,255,1.0), 1px -1px 0 rgba(255,255,255,1.0),    /*右上、左下*/
                 0 1px 0 rgba(255,255,255,1.0), 0 -1px 0 rgba(255,255,255,1.0),         /*右、左*/
                 -1px 0 0 rgba(255,255,255,1.0), 1px 0 0 rgba(255,255,255,1.0),         /*上、下*/
                 0 0 32px rgba(255,255,255,1.0);
}

/* コンテンツボックス */
main>article {
    box-sizing: border-box;
    position: relative;
}
main>article:not(:first-of-type) {
    margin-top: 50px;
}

/* コンテンツヘッダー */
h1.content-ttl,
h2.content-ttl {
    font-size: 32px;
    font-weight: 400;
}
.content-ttl {
    position: relative;
    box-sizing: border-box;
    margin: 8px 0 24px;
}
.content-ttl:before {
    content: "";
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    width: 4px;
}
.content-ttl:after {
    content: "";
    display: block;
    position: relative;
    height: 4px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 5px;
    background: -webkit-linear-gradient(left, #666666 25%, #CCCCCC 50%);
    background: linear-gradient(to right, #666666 0%, #666666 25%, #CCCCCC 50%, #CCCCCC 100%);
}
.content-ttl.gray-re:after {
    background: -webkit-linear-gradient(left, #CCCCCC 50%, #666666 75%);
    background: linear-gradient(to right, #CCCCCC 0%, #CCCCCC 50%, #666666 75%, #666666 100%);
}
.content-ttl.tri-color:after {
    background: -webkit-linear-gradient(left, #A70000 5%, #002C91 6% 16%, #008500 17% 37%, #CCCCCC 42%);
    background: linear-gradient(to right, #A70000 0%, #A70000 5%, #002C91 6%, #002C91 16%, #008500 17%, #008500 37%, #CCCCCC 42%, #CCCCCC 100%);
}
.content-ttl.tri-color-re:after {
    background: -webkit-linear-gradient(left, #CCCCCC 58%, #008500 63% 83%, #002C91 84% 94%, #A70000 95%);
    background: linear-gradient(to right, #CCCCCC 0%, #CCCCCC 58%, #008500 63%, #008500 83%, #002C91 84%, #002C91 94%, #A70000 95%, #A70000 100%);
}
.content-ttl.blue:after {
    background: -webkit-linear-gradient(left, #002C91 25%, #CCCCCC 50%);
    background: linear-gradient(to right, #002C91 0%, #002C91 25%, #CCCCCC 50%, #CCCCCC 100%);
}
.content-ttl.blue-re:after {
    background: -webkit-linear-gradient(left, #CCCCCC 50%, #002C91 75%);
    background: linear-gradient(to right, #CCCCCC 0%, #CCCCCC 50%, #002C91 75%, #002C91 100%);
}
.content-ttl.red:after {
    background: -webkit-linear-gradient(left, #A70000 25%, #CCCCCC 50%);
    background: linear-gradient(to right, #A70000 0%, #A70000 25%, #CCCCCC 50%, #CCCCCC 100%);
}
.content-ttl.red-re:after {
    background: -webkit-linear-gradient(left, #CCCCCC 50%, #A70000 75%);
    background: linear-gradient(to right, #CCCCCC 0%, #CCCCCC 50%, #A70000 75%, #A70000 100%);
}
.content-ttl.green:after {
    background: -webkit-linear-gradient(left, #008500 25%, #CCCCCC 50%);
    background: linear-gradient(to right, #008500 0%, #008500 25%, #CCCCCC 50%, #CCCCCC 100%);
}
.content-ttl.green-re:after {
    background: -webkit-linear-gradient(left, #CCCCCC 50%, #008500 75%);
    background: linear-gradient(to right, #CCCCCC 0%, #CCCCCC 50%, #008500 75%, #008500 100%);
}

/* ------------------------------------------------------
    トップページ
------------------------------------------------------- */
#eyecatch {
    box-sizing: border-box;
    position: absolute;
    top: 0;
    width: 100%;
    height: 675px;
    background-image: url(../../images/default/top.jpg);
    background-position: center -125px; 
    background-repeat: no-repeat;
}
#eyecatch>.content-area>.message-area {
    box-sizing: border-box;
    position: relative;
    margin: 200px 30px 0;
    overflow:hidden;
}
#eyecatch>.content-area>.message-area>div.line1,
#eyecatch>.content-area>.message-area>div.line2 {
    font-weight: 700;
    font-size: 48px;
    line-height: 96px;
    letter-spacing: 6px;
    text-shadow: 1px 1px 0 rgba(255,255,255,1.0), -1px -1px 0 rgba(255,255,255,1.0),    /*右下、左上*/
                 -1px 1px 0 rgba(255,255,255,1.0), 1px -1px 0 rgba(255,255,255,1.0),    /*右上、左下*/
                 0 1px 0 rgba(255,255,255,1.0), 0 -1px 0 rgba(255,255,255,1.0),         /*右、左*/
                 -1px 0 0 rgba(255,255,255,1.0), 1px 0 0 rgba(255,255,255,1.0),         /*上、下*/
                 0 0 24px rgba(255,255,255,1.0);
}
#eyecatch>.content-area>.message-area>div.line1 {
    animation-duration: 2s;
    animation-delay: 0s;
    animation-timing-function: ease;
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}
#eyecatch>.content-area>.message-area>div.line2 {
    text-align: right;
    animation-duration: 3s;
    animation-delay: 0s;
    animation-timing-function: ease;
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}
#eyecatch>.content-area>.message-area>div>.big {
    font-size: 72px;
    letter-spacing: 9px;
}
#under_eyecatch {
    position: absolute;
    width: 100%;
    top: 475px;
}
#under_eyecatch>.content-area>.message-area {
    box-sizing: border-box;
    margin: 0 30px;
    padding: 10px 15px 15px;
    background-color: rgba(255,255,255,0.66);
    font-weight: 700;
    border-radius: 12px;
    animation-duration: 5s;
    animation-delay: 0s;
    animation-timing-function: ease;
    animation-name: fadeIn;
}
#under_eyecatch>.content-area>.message-area>h1 {
    text-align: center;
    font-size: 32px;
    line-height: 1.8em;
}
#under_eyecatch>.content-area>.message-area>div {
    font-size: 14px;
    line-height: 24px;
}
@-webkit-keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100vw, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@-webkit-keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    34% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@keyframes fadeIn {
    0% {
        opacity: 0.0;
    }
    75% {
        opacity: 0.0;
    }
    100% {
        opacity: 1.0;
    }
}
/* コントラNEWS */
#contora-news {
    padding-top: 700px;
}
#contora-news #news-list>#loading-bar {
    margin: 60px auto 60px;
}
#contora-news #news-list>.no-data {
    margin: 60px 0;
    text-align: center;
}
#contora-news #news-list>.news-more {
    font-size: 1.4rem;
    margin-left: 0.4rem;
}
#contora-news #news-list>.news-more>a>.fa {
    margin-right: 0.75rem;
}
#news-list>dl,
#case-study-list>dl,
#contora-news #news-list>dl:last-child {
    border-bottom: dotted 1px #cccccc;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}
#news-list>dl:last-child,
#case-study-list>dl:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
#news-list>dl>dt>.date,
#news-detail>.title>.date {
    display:inline-block;
    width: 8em;
}
#news-list>dl>dt>.marks,
#news-detail>.marks,
#case-study-list>dl>dt>.marks,
#case-study>.marks {
    font-weight: 700;
    font-size: 1rem;
}
#news-list>dl>dt>.marks,
#news-detail>.marks {
    margin: 0.5rem 0 1.5rem;
}
#case-study-list>dl>dt>.marks,
#case-study>.marks {
    display: inline-block;
    vertical-align: middle;
    margin-left: 3em;
}
#case-study-list>dl>dt {
    margin-bottom: 2rem;
}
#case-study .case-study-company {
    display: inline-block;
}
#case-study .contents .images>img {
    width: 100%;
    height: auto;
}

/* コントラとは */
#about-contora>.content-area>p {
    line-height: 2.0;
    margin: 0 8px 16px;
}
#about-contora>.content-area>p>a>.fa {
    margin-right: 8px;
}
#reason-contora>.content-area>dl,
#case-study>.content-area>dl,
#case-study>.contents>dl,
#green-gmark>.content-area>dl,
#management-policy>.content-area>dl {
    margin: 0 8px 0 4px;
}
#reason-contora>.content-area>dl>dt>h3.content-ttl,
#case-study>.content-area>dl>dt>h3.content-ttl,
#case-study>.contents>dl>dt>h3.content-ttl,
#green-gmark>.content-area>dl>dt>h3.content-ttl,
#management-policy>.content-area>dl>dt>h3.content-ttl {
    font-size: 20px;
    margin: 24px 0 16px;
}
#reason-contora>.content-area>dl>dt>h3>.fa,
#case-study>.content-area>dl>dt>h3>.fa,
#case-study>.contents>dl>dt>h3>.fa,
#green-gmark>.content-area>dl>dt>h3>.fa,
#management-policy>.content-area>dl>dt>h3>.fa {
    font-size: 28px;
    line-height: 28px;
    color: #A70000;
    margin-right: 8px;
}
#reason-contora>.content-area>dl>dt>h3.content-ttl:after,
#case-study>.content-area>dl>dt>h3.content-ttl:after,
#case-study>.contents>dl>dt>h3.content-ttl:after,
#green-gmark>.content-area>dl>dt>h3.content-ttl:after,
#management-policy>.content-area>dl>dt>h3.content-ttl:after {
    height: 3px;
    opacity: 0.5;
}
#reason-contora>.content-area>dl>dd,
#case-study>.content-area>dl>dd,
#case-study>.contents>dl>dd,
#green-gmark>.content-area>dl>dd,
#management-policy>.content-area>dl>dd {
    box-sizing: border-box;
    line-height: 2.0;
    margin: 0 8px 32px;
}
#case-study .case-study-company {
    font-size: 20px;
    font-weight: 700;
}
#qa-contora>.content-area>.qa {
    box-sizing: border-box;
    margin: 40px 8px 0;
}
#qa-contora>.content-area>.qa:first-of-type {
    margin-top: 0;
}
#qa-contora>.content-area>.qa>.question {
    box-sizing: border-box;
    position: relative;
}
#qa-contora>.content-area>.qa>.question>.icon {
    color: #002C91;
    font-size: 40px;
    width: 40px;
}
#qa-contora>.content-area>.qa>.question>.icon,
#qa-contora>.content-area>.qa>.question>.balloon>.content {
    float: left;
}
#qa-contora>.content-area>.qa>.answer>.icon {
    color: #A70000;
    font-size: 40px;
    width: 40px;
}
#qa-contora>.content-area>.qa>.answer>.icon,
#qa-contora>.content-area>.qa>.answer>.balloon>.content {
    float: right;
}
#qa-contora>.content-area>.qa .balloon {
    width: 100%;
}
#qa-contora>.content-area>.qa .balloon>.content {
    box-sizing: border-box;
    display: inline-block;
    position: relative; 
    padding: 10px;
    border-radius: 12px;
    max-width: 880px;
}
#qa-contora>.content-area>.qa>.question>.balloon>.content {
    margin: 0 0 0 20px;
    background: #E3ECFF;
}
#qa-contora>.content-area>.qa>.question>.balloon>.content:after {
    content: "";
    display: block;
    position: absolute;
    top: 15px; 
    left: -19px;
    border: 8px solid transparent;
    border-right: 18px solid #E3ECFF;
    -ms-transform: rotate(325deg);
    -webkit-transform: rotate(325deg);
    transform: rotate(325deg);
}
#qa-contora>.content-area>.qa>.answer>.balloon>.content {
    margin: 0 20px 0 0;
    background: #FFE5E5;
}
#qa-contora>.content-area>.qa>.answer>.balloon>.content:after {
    content: "";
    display: block;
    position: absolute;
    top: 15px; 
    right: -19px;
    border: 8px solid transparent;
    border-left: 18px solid #FFE5E5;
    -ms-transform: rotate(35deg);
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}
#qa-contora>.content-area>.qa>.question:after,
#qa-contora>.content-area>.qa>.answer:after {
    content: "";
    display: block;
    clear: both;
}
#contact-contora>.content-area>p {
    line-height: 2.0;
    margin: 0 8px 16px;
}
#contact-contora>.content-area>ul.company {
    margin: 32px 8px 64px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#contact-contora>.content-area>ul.company>li {
    font-size: 24px;
    font-weight: 700;
    line-height: 40px;
}
#contact-contora>.content-area>ul.company>li>.small {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
}
#contact-contora>.content-area>ul.company>li>.big {
    font-size: 32px;
}
/* ------------------------------------------------------
    下層ページ
------------------------------------------------------- */
#lower-lvl-page {
    padding-top: 100px;
}