@charset "utf-8";
/*====================================

    BrowserReset

====================================*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    word-wrap: break-word;
    border: 0;
    outline: 0;
}
header, article, aside, section, footer, nav, menu, details, hgroup, summary {
    display: block;
}
html {
    font-size : 62.5%;
    overflow-x : hidden;
    overflow-y : scroll;
    width : 100%;
        -ms-text-size-adjust : 100%;
    -webkit-text-size-adjust : 100%;
    -webkit-overflow-scrolling : touch;
}


/*font-family: 'Noto Serif JP', serif;
font-family: 'Noto Sans JP', sans-serif;*/

/*font-family : 'YakuHanJP', 'Noto Serif JP', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,serif;
font-family: 'YakuHanJP', 'Noto Sans JP' , '游ゴシック','YuGothic','メイリオ','Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'ＭＳ Ｐゴシック', 'MS P Gothic', Verdana, Arial, Helvetica, sans-serif;*/



body {
    font-family: 'YakuHanJP', '游ゴシック','YuGothic','メイリオ','Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'ＭＳ Ｐゴシック', 'MS P Gothic', Verdana, Arial, Helvetica, sans-serif;
    font-size : 1.8rem;
    position : relative;
    overflow : hidden;
    overflow-y: auto;
    width : 100%;
    height : 100%;
    color : #111111;
    background : #ffffff;
            -webkit-font-smoothing: antialiased;
            letter-spacing: 2px;
            font-weight: bold;
}
.txt{
    line-height: 2.4;
}
@media screen and (max-width: 767px) {
    body {
        overflow-y : scroll;
        font-size: 1.4rem;
        font-weight: normal;
    }
}

img {
    -ms-interpolation-mode: bicubic;
    vertical-align: bottom;
}
a {
    -webkit-transition: all .2s ease-in-out;
       -moz-transition: all .2s ease-in-out;
        -ms-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out;
    text-decoration: none;
    color: #111111;
}
a:link, a:visited, a:active, a:hover {
    -webkit-transition: all .2s ease-in-out;
       -moz-transition: all .2s ease-in-out;
        -ms-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out;
    text-decoration: none;
    outline-width: 0;
}
canvas, iframe, video, svg {
    max-width: 100%;
}
ol, ul {
    list-style: none;
    list-style-type: none
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
input, button, textarea, select {
    font-family: 'YakuHanJP', 'Noto Sans JP' , '游ゴシック','YuGothic','メイリオ','Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'ＭＳ Ｐゴシック', 'MS P Gothic', Verdana, Arial, Helvetica, sans-serif;
    font-size: 100%;
    font-size: 16px;
    position: relative;
    top: -1px;
    margin: 0;
    margin: 0 4px 2px 0;
    padding: 0;
    vertical-align: middle;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    -webkit-transition: all .2s ease-in-out;
       -moz-transition: all .2s ease-in-out;
        -ms-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    *margin-right: 3px;
}
select {
    font-size: inherit;
    font-size: 16px;
    box-sizing: content-box;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    vertical-align: middle;
    text-indent: 1.0rem;
    text-overflow: '';
    color: inherit;
    border: 0;
    border-radius: 0;
    background: none transparent;

       -moz-appearance: none;
    -webkit-appearance: none;
            appearance: none;
}

select::-ms-expand {
  display: none;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#ccc;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#ccc;
}
::placeholder{ /* Others */
 color:#ccc
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
    box-shadow: 0 0 0px 1000px #fff inset;
}


/*====================================

    common

====================================*/
/* =====================
 oh-shadow
===================== */
.oh-shadow {
        -webkit-transition: all .2s ease-in-out;
       -moz-transition: all .2s ease-in-out;
        -ms-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out;
}
.hover .oh-shadow:hover {
    -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.3);
       -moz-box-shadow: 0 1px 10px rgba(0,0,0,.3);
            box-shadow: 0 1px 10px rgba(0,0,0,.3);
            transform:translate(0 , -3px);
}
/* =====================
 cont
===================== */
 .cont-inner{
    position: relative;
    width: 100%;
    max-width: 1140px;
    margin: 0px auto;
    padding: 0 32px;
 }
/* =====================
 section
===================== */
.secFirst {
    padding-top: 126px;
}
.secTop {
    position: relative;
    padding-top: 120px;
}
.secBottom {
    position: relative;
    padding-bottom: 120px;
}
.secBottom_S {
    position: relative;
    padding-bottom: 72px;
}
@media screen and (max-width: 767px) {
    .secFirst {
        padding-top: 56px;
    }
    .secTop {
        position: relative;
        padding-top: 56px;
    }
    .secBottom {
        padding-bottom: 56px;
    }
}


/* =====================
 article
===================== */
.article p{
margin-bottom: 24px;
}
.article p:last-child{
margin-bottom: 0;
}
/* =====================
 img-fluid
===================== */
.img-fluid {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 10px;
}
.img-sm-fluid {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 10px;
}
/* =====================
 notes
===================== */
.notes{
    font-size:1.4rem;
    line-height: 1.5;
    margin-bottom: 10px;
    display: block;
}
.notes-mark {
    font-size:1.4rem;
    line-height: 1.5;
    padding-left: 1.5rem;
    position: relative;
    margin-bottom: 10px;
    display: inline-block;
}
.notes-mark:before {
    position : absolute;
    top: 0;
    left : 0;
    content : '※';
    display: block;
}
 @media screen and (max-width: 767px) {
    .notes {
        font-size: 1.2rem;
    }
    .notes-mark {
        font-size: 1.2rem;
    }
}
/* =====================
  box
===================== */
.box{
    position: relative;
    background: #ffffff;
    padding: 40px;
}
@media screen and (max-width: 767px) {
    .box{
        padding: 24px;
    }
}
/* =====================
  btn-common
===================== */
.btn-common {
    display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    -js-display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border : 1px solid #111111;
    border-radius : 60px;
    background : #fff;
    letter-spacing: 0.5px;
    padding: 12px;
    font-size:1.5rem;
    margin: 5px auto;
    font-size: 1.5rem;
    width: 100%;
    max-width: 320px;
    min-width: 320px;
    position: relative;
        -webkit-transition: all .2s ease-in-out;
       -moz-transition: all .2s ease-in-out;
        -ms-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out;
}
.btn-common:after {
    font-family : 'icomoon';
    position : absolute;
    top : 50%;
    right : 6px;
    content : '\e902';
    transform : translate(0 , -50%);
}


.hover .btn-common:hover {
    -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.3);
       -moz-box-shadow: 0 1px 10px rgba(0,0,0,.3);
            box-shadow: 0 1px 10px rgba(0,0,0,.3);
            transform:translate(0 , -3px);
}
a.btn-common {
    color : #111111;
}
a[class^="btn-"], a[class*=" btn-"] {
    text-decoration: none;
}
@media screen and (max-width: 767px) {
    .btn-common {
        min-width: 1px;
        width: 100%;

        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
}
/* =====================
  label
===================== */
.label{
    color: #fff;
    background: #3071b7;
    font-weight: bold;
    font-size: 1.4rem;
    width: 100%;
    min-width: 160px;
    padding: 8px;
    text-align: center;
}
@media screen and (max-width: 767px) {
.label{
    font-size: 1.0rem;
    width: 100%;
    min-width: 1px;
}
}
/* =====================
  label-list
===================== */
.label-list{
        display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
            -webkit-flex-wrap : wrap;
        -ms-flex-wrap : wrap;
            flex-wrap : wrap;
            width: 100%;
}
.label-list > li{
    margin: 0 8px 8px 0;
}
@media screen and (max-width: 767px) {
    .label-list > li{
        margin: 0;
        width: 50%;
        padding: 2px;
    }
}
/* =====================
  ttl-h2 
===================== */
.ttl-h2 {
    font-size: 3.6rem;
    position: relative;
    text-align: center;
    color: #111111;
    font-weight: 300;
    letter-spacing: 2px;
}
.ttl-h2:before {
    display: block;
    width: 1px;
    height: 50px;
    margin: 0 auto;
    content: '';
    text-align: center;
    background: #111111;
}
@media screen and (max-width: 767px) {
    .ttl-h2 {
    font-size: 2.4rem;
}
}
/* =====================
  ttl-common 
===================== */
.ttl-common{
    font-size: 4.0rem;
    font-weight: bold;
    letter-spacing: 6px;
    padding-bottom: 80px;
    line-height: 2;
}
@media screen and (max-width: 840px) {
.ttl-common{
    font-size: 3.4rem;
}
}
@media screen and (max-width: 767px) {
.ttl-common {
    font-size: 2.0rem;
    letter-spacing: 2px;
    padding-bottom: 56px;
}
}
/* =====================
  ttl-sub 
===================== */

.ttl-sub{
    font-size: 2.4rem;
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    font-style: italic; 
}
.ttl-sub .size_S{
    font-size: 2.0rem;
}
@media screen and (max-width: 767px) {
.ttl-sub{
    font-size: 1.6rem;
}
}
/*====================================

    drawer

====================================*/
#page {
    position : relative;
    z-index : 2;
    right : 0;
    transition : all 0.3s ease;
    background : inherit;
}
/*====================================

    header

====================================*/
.header {
    position: relative;
    position: fixed;
    top: 0;
    left: 0;
    display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    width: 100%;
    background: transparent;
    z-index: 11;
    height: 80px;

    -js-display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}
.h-wrap {
    position: relative;
    padding: 0 24px;
}
.h-logo {
    width: 100%;
    max-width: 240px;
}
.h-logo a {
    display: block;
}
.h-logo img {
    width: 100%;
    vertical-align: middle;
}
.gnav_list {
    font-size: 1.4rem;
font-family: 'Roboto', sans-serif;
font-weight: 700;
text-align: right;
}

.gnav_list a {
    display: block;
    padding: 20px 15px;
    transform: translate(0 , 0);
}
.hover .gnav_list a:hover {
    transform: translate(-4px , 0);
}
.h-btn-menu {
    display: none;
}
.h-drawer {
    position: absolute;
    top: 24px;
    right: 100px;
    -webkit-transition: all .2s ease-in-out;
       -moz-transition: all .2s ease-in-out;
        -ms-transition: all .2s ease-in-out;
            transition: all .2s ease-in-out;
}

@media screen and (max-width: 1560px) {
.h-drawer {
    right: 56px;
}
}
@media screen and (max-width: 1140px) {
    .header {
        height: 56px;
        background: #fff;
    }
    .h-wrap {
        width: 100%;
    }
    .h-btn-menu {
        font-size: 10px;
        position: absolute;
        top: 50%;
        right: 24px;
        display: block;
        cursor: pointer;
        transform: translate(0 , -50%);
        text-align: center;
        color: #111111;
    }
    .h-btn-bg {
        position: relative;
        display: block;
        width: 20px;
        height: 20px;
    }
    .h-btn-bg .icon-bar {
        position: absolute;

        position : absolute;
        width : 4px;
        height : 4px;
        transition : all 0.3s ease;
        z-index: 6;
        background: #111111;
    }
    .h-btn-bg .icon-bar:last-child {
        margin-bottom: 0;
    }




    .icon-bar:nth-of-type(1) {
        top : 0;
        left : 0;
    }
    .icon-bar:nth-of-type(2) {
        top : 0;
        left : 8px;
    }
    .icon-bar:nth-of-type(3) {
        top : 0;
        left : 16px;
    }
    .icon-bar:nth-of-type(4) {
        top : 8px;
        left : 8px;
    }
    .icon-bar:nth-of-type(5) {
        top : 8px;
        left : 16px;
    }
    .icon-bar:nth-of-type(6) {
        top : 8px;
        left : 0;
    }
    .icon-bar:nth-of-type(7) {
        top : 16px;
        left : 0;
    }
    .icon-bar:nth-of-type(8) {
        top : 16px;
        left : 8px;
    }
    .icon-bar:nth-of-type(9) {
        top : 16px;
        left : 16px;
    }

    .h-drawer .gnav_list {
                flex-direction: column;

        -webkit-flex-direction: column;
            -ms-flex-direction: column;
            margin-top: 40px;
    }
    .h-drawer {
        position: absolute;
        top: 56px;
        overflow-y: scroll;
        width: 100%;
        height: 100vh;
        -webkit-transform: translateX(120%);
                transform: translateX(120%);
    background: #111111;

        z-index: 100;
    }
    .drawer-opened .h-drawer {
        left: 0;
        -webkit-transition: all .2s ease-in-out;
           -moz-transition: all .2s ease-in-out;
            -ms-transition: all .2s ease-in-out;
                transition: all .2s ease-in-out;
        -webkit-transform: none;
                transform: none;
                    color: #fff;
    }


.drawer-opened .gnav_list a {
    color: #fff;
}

    .drawer-opened #page {
        transition: all .1s ease;
        box-shadow: 1px 0 2px #000;
    }
    #overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all .3s ease;
        opacity: 0;
        background: #000;
        z-index: -1;
    }
    .drawer-opened #overlay {
        transition: all .1s ease;
        -webkit-transform: none;
                transform: none;
        opacity: .3;
        z-index: 1;
    }

    body.drawer-opened .h-btn-menu {
        transition: all .1s ease;
    }
    body.drawer-opened .h-btn-menu .icon-bar {
        transition: all .1s ease;
    }







    body.drawer-opened .h-btn-menu .icon-bar:nth-of-type(2) {
        top: 4px;
        left: 4px;
    }



    body.drawer-opened .h-btn-menu .icon-bar:nth-of-type(5) {
        top: 4px;
        left: 12px;
    }



    body.drawer-opened .h-btn-menu .icon-bar:nth-of-type(6) {
        top: 12px;
        left: 4px;
    }
    body.drawer-opened .h-btn-menu .icon-bar:nth-of-type(8) {
        top: 12px;
        left: 12px;
    }













    .fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }
}



@media screen and (max-width: 767px) {
.h-logo {
    max-width: 60%;
}
}
/*====================================

    invaders

====================================*/
 .invaders{
    display: none;
 }
@media screen and (max-width: 1140px) {
 .invaders{
    display: block;
    position: absolute;
    top: 24%;
    left: 0;
    opacity: 0.2;
    width: 60%;
    max-width: 320px;
}
.invaders img{
    width: 100%;
}   
}


/*====================================

    mv

====================================*/
.mv{
width: 100%;
max-width: 1140px;
margin: 0 auto;
padding: 80px 0 120px 40px;
position: relative;
}
.txtMain{
        font-weight: bold;
    font-size: 6.4rem;
    letter-spacing: 10px;
        z-index: 3;
    position: relative;
}
.txtSub{
font-family: 'Roboto', sans-serif;
font-weight: 700;
font-style: italic; 
font-size: 2.4rem;
letter-spacing: 4px;
    z-index: 3;
    position: relative;
padding-top: 32px;
}
.mv .pic{
    position: absolute;
    top: -6%;
    right: 100px;
    width: 280px;
}
.mv .pic img{
    width: 100%;
    animation: vertical 1s ease-in-out infinite alternate;
}
@keyframes vertical {
    0% { transform:translateY(-10px); }
  100% { transform:translateY(  0px); }
}

@media screen and (max-width: 1180px) {
    .mv{
        padding-left: 80px;
    }
}

@media screen and (max-width: 1140px) {
.mv .pic{
    top: 0;
    right: 40px;
    width: 240px;
}
}


@media screen and (max-width: 960px) {
    .mv{
        padding-left: 32px;
    }
    .txtMain{
        font-size: 5.0rem;
        letter-spacing: 8px;
    }
    .mv .pic {
        top: 20px;
        right: 20px;
        width: 200px;
    }
}


@media screen and (max-width: 767px) {
    .mv{
        padding: 80px 0 80px 24px;
    }

.mv .pic {
    top: 20%;
    width: 140px;
    right: 0;
}

    .txtMain{
        font-size: 2.6rem;
        letter-spacing: 6px;
    }
    .txtSub{
        font-size: 1.2rem;
        padding-top: 24px;
    }
}
/*====================================

    cont01

====================================*/
.cont01-wrap .pic{
    position: relative;
    text-align: right;
    margin-left: 14%;
}
.cont01{
    background: transparent;
    width: 100%;
    padding: 144px 0;
    position: relative;
    margin-top: -480px;
}
.cont01:after{
    content:"";
    background: #fff;
    position: absolute;
    left: -24%;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.cont01-inner{
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    padding-left: 24px;
}

.heading01{
    position: absolute;
    top: -56px;
    left: -90px;
    transform: rotate(90deg);
    transform-origin: 0 0; 
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    font-style: italic; 
    font-size: 2.0rem;
    letter-spacing: 4px;
}
.heading01:after{
    content:"";
    width: 32px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 112%;
    transform: translate(0 , -50%);
    background:#111111;
    transform: scale(1.15) rotate(0.001deg);
}

@media screen and (max-width: 1440px) {
    .cont01:after{
        left: -14%;
    }
    .cont01-inner{
        padding-left: 140px;
    }
    .heading01{
        left: 0;
        font-size: 1.3rem;
    }
}


@media screen and (max-width: 1200px) {
    .cont01 {
        background: #ffffff;
        width: 90%;
        padding: 144px 60px;
        position: relative;
    }
    .cont01-inner {
        padding-left: 72px;
    }
}


@media screen and (max-width: 880px) {
    .cont01-inner {
        padding-left: 32px;
    }
    .heading01{
        left:-32px;
    }
}


@media screen and (max-width: 767px) {
    .cont01 {
        padding: 60px 24px;
        margin-top: -580px;
    }
    .cont01-inner{
        padding-left: 0;
    }
    .heading01{
        left:0;
        font-size: 1.1rem;
        top: -140px;
    }
    .heading01:after{
        width: 16px;
    }

}
/* =======================================

   works-wrap

 ======================================= */
.works-wrap{
        display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    width: 100%;
    max-width: 900px;
}

.works-wrap .ttl-sub{
    margin-right: 64px;
}

@media screen and (max-width: 767px) {
    .works-wrap{
     flex-direction : column;

     -webkit-flex-direction : column;
     -ms-flex-direction : column;
 }
 .works-wrap .ttl-sub{
    padding-bottom: 24px;
}
}

/* =======================================

   works-wrap

 ======================================= */
.cont02-wrap{
    padding: 160px 0;
    background: url(/img/bg_02.jpg);
    background-size: cover;
}
.cont02{
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 10% 0;
}
.cont02 .ttl-sub{
    padding-bottom: 120px;
}
.sign{
    font-size: 2.0rem;
    text-align: right;
    font-weight: bolder;
    padding-top: 56px;
}
.sign .position{
    padding-right: 16px;
}
@media screen and (max-width: 767px) {
    .cont02-wrap{
        padding: 56px 0;
    }
    .cont02 .ttl-sub{
        padding-bottom: 56px;
    }
    .sign{

        padding-top: 40px;
    }
    .sign .position{
        font-size: 1.4rem;
        display: block;
        padding-right: 0px;
        line-height: 0;
    }
    .sign .name{
        font-size: 1.8rem;
    }

}

/* =======================================

loop_wrap

 ======================================= */
.loop_wrap{
position: absolute;
top: 70%;
left: 0;
transform: translate(0 , -50%);
}
.loop_wrap {
    display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
  width: 100vw;
  height: 200px;
  overflow: hidden;
}

.loop_wrap img {
  width: auto;
  height: 100%;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop_wrap img:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap img:last-child {
  animation: loop2 50s linear infinite;
}

/* =======================================

companyList

 ======================================= */
.companyList > li{
    display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    padding: 32px 0;
}
.companyList .ttl{
    width: 240px;
}
.companyList .cont{
    width: calc(100% - 240px);
}
@media screen and (max-width: 767px) {

    .companyList > li{
        -webkit-flex-wrap : wrap;
        -ms-flex-wrap : wrap;
        flex-wrap : wrap;
        padding: 16px 0;
    }

    .companyList .ttl{
        width: 20%;
        font-weight: bold;

    }
    .companyList .cont{
        width: 80%;
    }
    .companyList .full .ttl{
        width: 100%;
        padding-bottom: 16px;
    }
    .companyList .full .cont{
        width: 100%;
        padding-left: 24px;
    }  
}
/* =======================================

   footer

 ======================================= */
 .footer{
        display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
 }
@media screen and (max-width: 960px) {
    .footer{
               flex-direction : column;

        -webkit-flex-direction : column;
            -ms-flex-direction : column;
 } 
}



/* =====================
  logoArea
===================== */
 .logoArea{
    background: #3071b7;
    display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;

               flex-direction : column;

        -webkit-flex-direction : column;
            -ms-flex-direction : column;

 }
 .logoArea img{
    width: 100%;
    max-width: 277px;
 }

 .logoArea , .info{
                width: 50%;
                padding: 40px;
                color: #fff;
 }

 @media screen and (max-width: 960px) {
.info{
            -ms-flex-order: 1;
        -webkit-order: 1;
        -webkit-box-ordinal-group:1;
        order: 1;
}
 .logoArea{
            -ms-flex-order: 2;
        -webkit-order: 2;
        -webkit-box-ordinal-group:2;
        order: 2;
 }
 .logoArea , .info{
                width: 100%;
 }
}
/* =====================
  info
===================== */
.info{
    background: #111111;
    color: #fff;
 }
 .info-inner{
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
    padding: 146px 0;
 }
  @media screen and (max-width: 767px) {
 .info-inner{
    padding: 40px 0;
 }
  }


/* =====================
  contactArea
===================== */
.contactArea > li{
        display:         flex;
    display: -ms-flexbox;
    display: -webkit-flex;
        -webkit-flex-wrap : wrap;
        -ms-flex-wrap : wrap;
            flex-wrap : wrap;
}
.contactArea .item{
    width: 24%;
    font-weight: bold;
}
.contactArea .cont{
    width: 76%;
}
  @media screen and (max-width: 767px) {
.contactArea .mail .item , .contactArea .mail .cont{
    width: 100%;
}
.contactArea .mail .cont{
    font-size: 1.2rem;
    padding-left: 16px;
}
}
/* =====================
  copyright
===================== */
.copy {
    text-align : center;
    font-size:1.1rem;
    color: #fff;
    padding-top: 24px;
}
  @media screen and (max-width: 767px) {
.copy {
    font-size:1.0rem;
}
  }
/* =======================================

   pageTop

 ======================================= */
#pageTop {
position: fixed;
    z-index: 10;
    right: 5%;
    bottom: 5%;
    cursor: pointer;
    transform: rotate(45deg);
    transform-origin: 0 0;
width: 32px;
height: 32px;
}
#pageTop img{
width: 100%;
}


    #pageTop .icon-bar {
        position: absolute;

        position : absolute;
        width : 4px;
        height : 4px;
        transition : all 0.3s ease;
        z-index: 6;
        background: #3071b7;
    }
    #pageTop .icon-bar:last-child {
        margin-bottom: 0;
    }
    #pageTop .icon-bar:nth-of-type(1) {
        top : 0;
        left : 0;
    }
    #pageTop .icon-bar:nth-of-type(2) {
        top : 0;
        left : 8px;
    }
    #pageTop .icon-bar:nth-of-type(3) {
        top : 0;
        left : 16px;
    }
    #pageTop .icon-bar:nth-of-type(4) {
        top : 8px;
        left : 0px;
    }
    #pageTop .icon-bar:nth-of-type(5) {
        top : 16px;
        left : 0px;
    }
@media screen and (max-width: 767px) {
#pageTop {
width: 30px;
height: 43px;
}
}
/* =======================================

   common important

 ======================================= */


/* =====================
  Font
===================== */
.fwb {
    font-weight : bold;
    font-weight: 700;
}

.tac {
    text-align: center;
}
.tar {
    text-align: right;
}
.tal {
    text-align: left;
}
/* =====================
  Responsive
===================== */
.only-sp {
    display: none;
}
@media screen and (max-width: 1160px) {
    .only-pc{
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .only-sp {
        display: block;
    }
    .only-pcMid{
        display: none;
    }
}


/* =====================
  tac
===================== */

.tac-only-pc {
    text-align: center;
}
@media screen and (max-width: 767px) {
.tac-only-pc {
    text-align: left;
}
.tal-only-sp {
    text-align: left;
}
}
/* =====================
  tel
===================== */
a[href^="tel:"] { cursor: default; }
.info a[href^="tel:"] { color: #fff; }

/* =====================
  animation
===================== */
.animation-fadeUp {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}



.animation-fadeUp01 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp02 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp03 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp04 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp05 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp06 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp07 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}
.animation-fadeUp08 {
    transition : 0.8s;
    -webkit-transform : translate(0,60px);
            transform : translate(0,60px);
    opacity : 0;
}






.fadeUp {
    -webkit-transform : translate(0,0);
            transform : translate(0,0);
    opacity : 1.0;
}
.animation-fadeIn {
    transition : 0.8s;
    opacity : 0;
}
.fadeIn {
    opacity : 1.0;
}
.fadeLeft-figure{
    -webkit-transform : translate(-100px,0);
            transform : translate(-100px,0);
    transition : 0.8s;
    opacity : 0;
}
.fadeRight-figure {
    -webkit-transform : translate(100px,0);
            transform : translate(100px,0);
    transition : 0.8s;
    opacity : 0;
}
.fadeLeft {
    -webkit-transform : translate(0,0);
            transform : translate(0,0);
    opacity : 1.0;
}
.fadeRight {
    -webkit-transform : translate(0,0);
            transform : translate(0,0);
    opacity : 1.0;
}


