@charset "utf-8";

/* --------- .headline_about --------- */

.headline_service {
    background: url(../img/img_bg_2.jpg) top center no-repeat;
    background-size: cover;
}




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


   #w_service_page

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

#w_service_page {
    padding: 0 50px 5%;
    position: relative;
    z-index: 1;
    overflow: auto;
}

@media only screen and (max-width: 800px) {
    #w_service_page {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #w_service_page {
        padding: 70px 5%;
    }
}

@media only screen and (max-width: 414px) {
    #w_service_page {
        padding: 0px 5%;
    }
}


/* ----------------------------------------------------------
   .headline
   ---------------------------------------------------------- */

.headline {
    margin-bottom: 50px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.headline h2.en {
    font-size: 35px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
}

.headline h2.jp {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-top: 15px;
}

@media only screen and (max-width: 900px) {
    .headline {
        margin-bottom: 45px;
    }
    .headline h2.en {
        font-size: 30px;
    }
    .headline h2.jp {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 1px;
        line-height: 1;
        margin-top: 15px;
    }
}

@media only screen and (max-width: 736px) {
    .headline {
        margin-bottom: 40px;
    }
    .headline h2.en {
        font-size: 25px;
    }
    .headline h2.jp {
        font-size: 13px;
        margin-top: 10px;
    }
}

@media only screen and (max-width: 414px) {
    .headline h2.jp {
        font-size: 12px;
    }
}


/* -----------------------------------------------------------
   #service_service
   ----------------------------------------------------------- */

#service_service {
    padding: 90px 5%;
}

@media only screen and (max-width: 900px) {
    #service_service {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #service_service {
        padding: 70px 5%;
    }
}


/* --------- .catchArea --------- */

#service_service .catchArea {
    position: relative;
    z-index: 2;
    text-align: center;
}

#service_service .catchArea h3 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 3px;
}


/* .txtArea */

#service_service .txtArea {
    margin: 45px auto 0;
    max-width: 720px;
    text-align: center;
}

@media only screen and (max-width: 900px) {
    #service_service .catchArea h3 {
        font-size: 25px;
    }
    #service_service .txtArea {
        margin: 35px auto 0;
    }
}

@media only screen and (max-width: 736px) {
    #service_service .catchArea h3 {
        font-size: 16px;
        line-height: 1.9;
        letter-spacing: 1px;
    }
    #service_service .txtArea {
        margin: 25px auto 0;
        padding: 0 2.5%;
    }
}


/* -----------------------------------------------------------
   #service_category
   ----------------------------------------------------------- */

#service_category {
    padding: 0 5% 90px
}

@media only screen and (max-width: 900px) {
    #service_category {
        padding: 0 5% 80px
    }
}

@media only screen and (max-width: 738px) {
    #service_category {
        padding: 0 5% 70px
    }
}


/* --------- .serviceArea --------- */

#service_category .serviceArea {
    margin: -100px 0 50px;
}

#service_category .serviceBox {
    margin-top: 100px;
    position: relative;
    z-index: 0;
}

@media only screen and (max-width: 900px) {
    #service_category .serviceArea {
        margin: -90px 0 45px;
    }
    #service_category .serviceBox {
        margin-top: 90px;
    }
}

@media only screen and (max-width: 736px) {
    #service_category .serviceArea {
        margin: -40px 0 0;
    }
    #service_category .serviceBox {
        margin-top: 40px;
    }
}

#service_category .serviceArea_small {
    margin: 75px -25px -25px;
    font-size: 0;
}

#service_category .serviceArea_small .serviceBox {
    margin: 0;
    display: inline-block;
    width: 50%;
    border: transparent 25px solid;
    position: relative;
    z-index: 0;
}

#service_category .serviceArea_small .imgArea {
    position: relative;
    z-index: 0;
}

#service_category .serviceArea_small .imgArea img {
    width: 100%;
}

@media only screen and (max-width: 900px) {
    #service_category .serviceArea_small {
        margin: 70px -20px -20px;
    }
    #service_category .serviceArea_small .serviceBox {
        border: transparent 20px solid;
    }
}

@media only screen and (max-width: 736px) {
    #service_category .serviceArea_small {
        margin: 0;
    }
    #service_category .serviceArea_small .serviceBox {
        display: block;
        margin-top: 40px;
        width: 100%;
        border: none;
    }
}


/* .txtArea */

#service_category .serviceBox .txtArea {
    position: absolute;
    bottom: -50px;
    right: 25px;
    width: 400px;
    padding: 25px 35px;
    color: #fefefe;
    background: #375f86;
    z-index: 2;
}


/*#service_category .serviceBox:nth-child(even) .txtArea{left: 25px;right: auto;}*/

#service_category .serviceBox .txtArea h3 {
    margin-bottom: 10px;
    padding-left: 40px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 1px;
    position: relative;
    z-index: 1;
    color: #fff;
}

#service_category .serviceBox .txtArea h3:before {
    position: absolute;
    top: 50%;
    left: 0px;
    width: 30px;
    height: 0;
    content: "";
    border-top: #ddd 1px solid;
    z-index: 1;
}

#service_category .serviceBox .txtArea p {
    font-size: 15px;
    line-height: 1.9;
    margin: 0;
}

#service_category .serviceBox .txtArea a {
    color: #fff;
}

@media only screen and (max-width: 900px) {
    #service_category .serviceBox .txtArea {
        position: absolute;
        bottom: -45px;
        right: 25px;
        width: 370px;
        padding: 25px 30px;
    }
    #service_category .serviceBox .txtArea h3 {
        margin-bottom: 10px;
        padding-left: 40px;
        font-size: 16px;
    }
    /* .serviceArea_small */
    #service_category .serviceArea_small .txtArea {
        position: static;
        width: 100%;
        padding: 25px 30px;
    }
}

@media only screen and (max-width: 736px) {
    #service_category .serviceBox .txtArea {
        position: static;
        width: 100%;
        padding: 50px 5% 35px;
    }
    #service_category .serviceBox .txtArea h3 {
        padding: 0;
        text-align: center;
    }
    #service_category .serviceBox .txtArea h3:before {
        display: none;
    }
    #service_category .serviceBox .txtArea p {
        font-size: 12px;
        line-height: 2;
    }
    /* .serviceArea_small */
    #service_category .serviceArea_small .txtArea {
        padding: 30px 5% 35px;
    }
}


/* --------- slickSlider --------- */


/* Arrow */

#service_category .slick-prev,
#service_category .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    /*top: 50%;*/
    top: 50%;
    display: block;
    width: 55px;
    height: 55px;
    padding: 0;
    margin-top: -25px;
    /*lte IE 8*/
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: #111;
    border: #111 1px solid;
    border: none;
    outline: none;
    background: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 2;
}

#service_category .slick-prev:before,
#service_category .slick-next:before {
    font-family: 'themify';
    font-size: 20px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#service_category .slick-prev {
    left: -5%;
    border-right: none;
}

#service_category .slick-prev:before {
    content: "\e64a"
}

#service_category .slick-next {
    right: -5%;
    border-left: none;
}

#service_category .slick-next:before {
    content: "\e628";
}

#service_category .slick-prev:hover,
#service_category .slick-next:hover {
    color: #fefefe;
    background: #b09d7c;
}

#service_category .slick-prev:hover:before,
#service_category .slick-prev:focus:before,
#service_category .slick-next:hover:before,
#service_category .slick-next:focus:before {
    opacity: 1;
}


/* Dot */

#service_category .slick-dots {
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    list-style: none;
    display: block;
    text-align: left;
    padding: 0;
    margin: 0;
    line-height: 0;
    font-size: 0;
    overflow: hidden;
    z-index: 100;
}

#service_category .slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 2px 0 0;
    padding: 0;
    cursor: pointer;
    z-index: 100;
}

#service_category .slick-dots li button {
    position: relative;
    border: 0;
    background: #dae1ff;
    background: #ddd;
    display: block;
    height: 8px;
    width: 90px;
    outline: none;
    line-height: 1;
    font-weight: 300;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    text-indent: -999px;
}

#service_category .slick-dots li.slick-active button {
    outline: none;
    color: #fefefe;
    background: #436ec9;
}


/* :nth-child(even) */

#service_category .serviceBox:nth-child(even) .slick-dots {
    text-align: right;
}

#service_category .serviceBox:nth-child(even) .slick-dots li {
    margin: 0 0 0 2px;
}

@media only screen and (max-width: 900px) {
    #service_category .slick-dots {
        bottom: -45px;
    }
    #service_category .slick-dots li button {
        width: 70px;
    }
}

@media only screen and (max-width: 736px) {
    #service_category .slick-dots {
        bottom: -30px;
        left: 0;
        right: 0;
        text-align: center;
    }
    #service_category .slick-dots li {
        margin: 0 7px;
    }
    #service_category .slick-dots li button {
        border: 0;
        background: none;
        border: #fefefe 1px solid;
        display: block;
        height: 6px;
        width: 6px;
        overflow: hidden;
        line-height: 0;
        font-size: 0;
        color: transparent;
        cursor: pointer;
        padding: 3px;
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        border-radius: 100%;
    }
    #service_category .slick-dots li.slick-active button {
        outline: 0;
        border: #fefefe 1px solid;
        background: #fefefe;
    }
    #service_category .serviceBox:nth-child(even) .slick-dots {
        text-align: center
    }
    #service_category .serviceBox:nth-child(even) .slick-dots li {
        margin: 0 8px;
    }
}


/* -----------------------------------------------------------
   #service_other
   ----------------------------------------------------------- */

#service_other {
    padding: 90px 5%;
    border-top: #e5e8ef 1px solid;
}

@media only screen and (max-width: 900px) {
    #service_other {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 738px) {
    #service_other {
        padding: 70px 5% 0;
        overflow: hidden;
    }
}


/* --------- .catchArea --------- */

#service_other .catchArea {
    position: relative;
    z-index: 2;
    text-align: center;
}

#service_other .catchArea h3 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: 3px;
}

#service_other .catchArea h3 br.spBlock {
    display: none;
}


/* .txtArea */

#service_other .txtArea {
    margin: 45px auto 0;
    max-width: 720px;
}

@media only screen and (max-width: 900px) {
    #service_other .catchArea h3 {
        font-size: 25px;
    }
    #service_other .txtArea {
        margin: 35px auto 0;
    }
}

@media only screen and (max-width: 736px) {
    #service_other .catchArea h3 {
        font-size: 16px;
        line-height: 1.9;
        letter-spacing: 1px;
    }
    #service_other .catchArea h3 br.spBlock {
        display: block;
    }
    #service_other .txtArea {
        margin: 25px auto 0;
        padding: 0 2.5%;
    }
}


/* .otherAreaL */

#service_other .otherAreaL {
    margin: 80px 0 0;
    padding: 50px 5%;
    text-align: center;
    font-size: 0;
    position: relative;
    background: #5a99ab;
    z-index: 1;
}

#service_other .otherAreaL .icon_stage {
    display: block;
    margin: 0 auto 15px;
    /* height: 55px; */
    background: url(../images/service/icon_stage.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherAreaL h4 {
    color: #fefefe;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* ul */

#service_other .otherAreaL ul {
    list-style: none;
    display: block;
    margin-top: 25px;
    font-size: 0;
}

#service_other .otherAreaL ul li {
    display: inline-block;
    width: 25%;
    border: transparent 10px solid;
    color: #fefefe;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0.5px;
    padding: 15px 2%;
    position: relative;
    z-index: 1;
}

#service_other .otherAreaL ul li:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border: #fefefe 1px solid;
    z-index: -1;
}

#service_other .otherAreaL ul li.sizeL {
    width: 33.333%;
}

#service_other .otherAreaL ul li:nth-last-child(1),
#service_other .otherAreaL ul li:nth-last-child(2),
#service_other .otherAreaL ul li:nth-last-child(3) {
    width: 33.333%;
}

@media only screen and (max-width: 900px) {
    #service_other .otherAreaL {
        margin: 70px 0 0;
        padding: 40px 5%;
    }
    #service_other .otherAreaL .icon_stage {
        margin: 0 auto 10px;
        height: 45px;
    }
    #service_other .otherAreaL h4 {
        font-size: 20px;
    }
    #service_other .otherAreaL ul {
        margin-top: 20px;
    }
    #service_other .otherAreaL ul li {
        width: 33.333%;
        font-size: 13px;
        padding: 15px 1.5%;
    }
    #service_other .otherAreaL ul li:nth-last-child(1),
    #service_other .otherAreaL ul li:nth-last-child(2),
    #service_other .otherAreaL ul li:nth-last-child(3),
    #service_other .otherAreaL ul li:nth-last-child(4) {
        width: 50%;
    }
}

@media only screen and (max-width: 736px) {
    #service_other .otherAreaL {
        margin: 60px -5.5% 0;
        padding: 70px 5% 50px;
    }
    #service_other .otherAreaL .icon_stage {
        margin: 0 auto 10px;
        height: 40px;
    }
    #service_other .otherAreaL h4 {
        font-size: 16px;
    }
    #service_other .otherAreaL ul {
        margin-top: 15px;
    }
    #service_other .otherAreaL ul li {
        font-size: 12px;
        padding: 15px 1.5%;
        border: transparent 5px solid;
    }
}

@media only screen and (max-width: 667px) {
    #service_other .otherAreaL ul li {
        width: 50%;
    }
    #service_other .otherAreaL ul li:nth-last-child(1),
    #service_other .otherAreaL ul li:nth-last-child(2),
    #service_other .otherAreaL ul li:nth-last-child(3) {
        width: 100%;
    }
}


/* .otherArea */

#service_other .otherArea {
    margin: 0;
    padding: 90px 5% 50px;
    text-align: center;
    font-size: 0;
    /* background: url(../images/common/noise.png) repeat #f5f5f5; */
    position: relative;
    background: #f5f5f5;
    z-index: 1;
}

#service_other .otherArea:before {
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    height: 80px;
    color: #111;
    font-family: themify;
    content: "\e61a";
    font-size: 55px;
    font-weight: 700;
    line-height: 80px;
    z-index: 2;
}


/* ul */

#service_other .otherArea ul {
    list-style: none;
    display: block;
    font-size: 0;
}

#service_other .otherArea ul li {
    display: inline-block;
    width: 25%;
    border: transparent 10px solid;
    position: relative;
    z-index: 1;
}

#service_other .otherArea ul li:nth-last-child(1),
#service_other .otherArea ul li:nth-last-child(2),
#service_other .otherArea ul li:nth-last-child(3) {
    width: 33.333%;
}


/* .inner */

#service_other .otherArea ul li .inner {
    padding: 25px 0;
    background: #fefefe;
}


/* .icon */

#service_other .otherArea ul li .icon {
    display: block;
    margin: 0 auto 10px;
    height: 40px;
}

#service_other .otherArea ul li .icon_seach {
    background: url(../images/service/icon_sarch.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_app {
    background: url(../images/service/icon_app.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_document {
    background: url(../images/service/icon_document.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_jimukyoku {
    background: url(../images/service/icon_jimukyoku.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_visual {
    background: url(../images/service/icon_visual.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_promo {
    background: url(../images/service/icon_promo.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_tool {
    background: url(../images/service/icon_tool.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_jimu {
    background: url(../images/service/icon_jimu.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_bihin {
    background: url(../images/service/icon_bihin.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_web {
    background: url(../images/service/icon_web.png) center center no-repeat;
    background-size: contain;
}

#service_other .otherArea ul li .icon_cm {
    background: url(../images/service/icon_cm.png) center center no-repeat;
    background-size: contain;
}


/* h4 */

#service_other .otherArea ul li h4 {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.5px;
}

@media only screen and (max-width: 900px) {
    #service_other .otherArea {
        padding: 80px 5% 40px;
    }
    #service_other .otherArea:before {
        top: 10px;
        height: 70px;
        font-size: 45px;
        line-height: 70px;
    }
    #service_other .otherArea ul li h4 {
        font-size: 13px;
    }
}

@media only screen and (max-width: 736px) {
    #service_other .otherArea {
        margin: 0 -5.5%;
        padding: 70px 5%;
    }
    #service_other .otherArea:before {
        top: 10px;
        height: 60px;
        font-size: 35px;
        line-height: 60px;
    }
    #service_other .otherArea ul li {
        width: 33.333%;
        border: transparent 5px solid;
        font-size: 12px;
    }
    #service_other .otherArea ul li:nth-last-child(1),
    #service_other .otherArea ul li:nth-last-child(2) {
        width: 50%;
    }
    #service_other .otherArea ul li .inner {
        padding: 20px 0;
        background: #fefefe;
    }
    #service_other .otherArea ul li .icon {
        display: block;
        margin: 0 auto 10px;
        height: 30px;
    }
    #service_other .otherArea ul li h4 {
        font-size: 12px;
    }
}

@media only screen and (max-width: 667px) {
    #service_other .otherArea ul {
        list-style: none;
        display: block;
        font-size: 0;
        text-align: left;
    }
    #service_other .otherArea ul li {
        width: 50%;
        text-align: center;
    }
    #service_other .otherArea ul li:nth-last-child(1),
    #service_other .otherArea ul li:nth-last-child(2),
    #service_other .otherArea ul li:nth-last-child(3) {
        width: 50%;
    }
    #service_other .otherArea ul li h4 {
        font-size: 11px;
    }
}


/* -----------------------------------------------------------
   #service_flow
   ----------------------------------------------------------- */

#service_flow {
    padding: 90px 5%;
    /* background: url(../images/common/noise.png) repeat #f5f5f5; */
    width: 100%;
    background: #f5f5f5;
}

@media only screen and (max-width: 900px) {
    #service_flow {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 736px) {
    #service_flow {
        padding: 70px 5%;
        background: #fefefe;
    }
}


/* --------- .flowArea --------- */

#service_flow .flowArea {
    margin: -10px;
    font-size: 0;
    display: flex;
}

#service_flow .flowBox {
    /* display: inline-block; */
    margin: 0;
    border: #f5f5f5 10px solid;
    /* width: 33.333%; */
    text-align: center;
    /* position: relative; */
    z-index: 2;
    padding: 1%;
    background: #fff;
    flex: 0 0 33.3333%;
}


/* .inner */

#service_flow .flowBox .inner {
    padding: 35px 5% 50px;
    /* background: #fefefe; */
}


/* h3 */

#service_flow .flowBox h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    position: relative;
    z-index: 3;
    line-height: 1;
    padding: 65px 0 30px;
    text-align: center;
}

#service_flow .flowBox h3:before {
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -25px;
    width: 50px;
    height: 50px;
    line-height: 52px;
    color: #fefefe;
    font-size: 25px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    text-align: center;
    letter-spacing: 0;
    vertical-align: 0;
    background: #111;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

#service_flow .flowBox:nth-child(1) h3:before {
    content: "1";
}

#service_flow .flowBox:nth-child(2) h3:before {
    content: "2";
}

#service_flow .flowBox:nth-child(3) h3:before {
    content: "3";
}

#service_flow .flowBox:nth-child(4) h3:before {
    content: "4";
}

#service_flow .flowBox:nth-child(5) h3:before {
    content: "5";
}

#service_flow .flowBox:nth-child(6) h3:before {
    content: "6";
}

#service_flow .flowBox h3:after {
    position: absolute;
    bottom: 0;
    left: 25px;
    right: 25px;
    height: 0;
    content: "";
    border-top: #e5e8ef 1px solid;
    z-index: 2;
}


/* .txtArea */

#service_flow .flowArea .txtArea {
    display: inline-block;
    margin: 20px auto 0;
}

@media only screen and (max-width: 900px) {
    #service_flow .flowBox .inner {
        padding: 30px 5% 45px;
    }
    #service_flow .flowBox h3 {
        font-size: 16px;
        padding: 55px 0 30px;
    }
    #service_flow .flowBox h3:before {
        margin-left: -20px;
        width: 40px;
        height: 40px;
        line-height: 42px;
        font-size: 20px;
    }
    #service_flow .flowBox h3:after {
        left: 5%;
        right: 5%;
    }
}

@media only screen and (max-width: 768px) {
    #service_flow .flowBox {
        width: 50%;
    }
}

@media only screen and (max-width: 736px) {
    #service_flow .flowArea {
        margin: 0;
        font-size: 0;
    }
    #service_flow .flowBox {
        display: block;
        margin-top: 50px;
        border: none;
        width: 100%;
        text-align: center;
    }
    #service_flow .flowBox:after {
        position: absolute;
        bottom: -50px;
        right: 0;
        left: 0;
        height: 50px;
        line-height: 50px;
        font-size: 20px;
        font-family: themify;
        content: "\e62a";
        z-index: 1;
    }
    #service_flow .flowBox:last-child:after {
        display: none;
    }
    /* .inner */
    #service_flow .flowBox .inner {
        padding: 35px 5%;
        border: #e5e8ef 1px solid;
    }
    /* h3 */
    #service_flow .flowBox h3 {
        font-size: 16px;
        padding: 55px 0 25px;
    }
    #service_flow .flowBox h3:after {
        border-top: #e5e8ef 1px dotted
    }
    #service_flow .flowArea .txtArea {
        margin: 15px auto 0;
    }
}


/* -----------------------------------------------------------
   #service_flow2
   ----------------------------------------------------------- */

#service_flow2 {
    padding: 90px 5%;
    /* background: url(../images/common/noise.png) repeat #f5f5f5; */
    width: 100%;
    background: #f5f5f5;
}

@media only screen and (max-width: 900px) {
    #service_flow2 {
        padding: 80px 5%;
    }
}

@media only screen and (max-width: 736px) {
    #service_flow2 {
        padding: 70px 5%;
        background: #fefefe;
    }
}


/* --------- .flowArea --------- */

#service_flow2 .flowArea {
    margin: -10px;
    font-size: 0;
    display: flex;
}

#service_flow2 .flowBox {
    /* display: inline-block; */
    margin: 0;
    border: #f5f5f5 10px solid;
    /* width: 33.333%; */
    text-align: center;
    /* position: relative; */
    z-index: 2;
    padding: 1%;
    background: #fff;
    flex: 0 0 50%;
}


/* .inner */

#service_flow2 .flowBox .inner {
    padding: 35px 5% 50px;
    /* background: #fefefe; */
}

#service_flow2 .flowBox .inner img {
    width: 90%;
    margin: 0 auto;
}


/* h3 */

#service_flow2 .flowBox h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    position: relative;
    z-index: 3;
    line-height: 1;
    padding: 65px 0 30px;
    text-align: center;
}

#service_flow2 .flowBox h3:before {
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -25px;
    width: 50px;
    height: 50px;
    line-height: 52px;
    color: #111;
    font-size: 40px;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    text-align: center;
    letter-spacing: 0;
    vertical-align: 0;
    /*     background: #111; */
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

#service_flow2 .flowBox:nth-child(1) h3:before {
    content: "㋑";
}

#service_flow2 .flowBox:nth-child(2) h3:before {
    content: "㋺";
}

#service_flow2 .flowBox:nth-child(3) h3:before {
    content: "3";
}

#service_flow2 .flowBox:nth-child(4) h3:before {
    content: "4";
}

#service_flow2 .flowBox:nth-child(5) h3:before {
    content: "5";
}

#service_flow2 .flowBox:nth-child(6) h3:before {
    content: "6";
}

#service_flow2 .flowBox h3:after {
    position: absolute;
    bottom: 0;
    left: 25px;
    right: 25px;
    height: 0;
    content: "";
    border-top: #e5e8ef 1px solid;
    z-index: 2;
}


/* .txtArea */

#service_flow2 .flowArea .txtArea {
    display: inline-block;
    margin: 20px auto 0;
}

@media only screen and (max-width: 900px) {
    #service_flow2 .flowBox .inner {
        padding: 30px 5% 45px;
    }
    #service_flow2 .flowBox h3 {
        font-size: 16px;
        padding: 55px 0 30px;
    }
    #service_flow2 .flowBox h3:before {
        margin-left: -20px;
        width: 40px;
        height: 40px;
        line-height: 42px;
        font-size: 20px;
    }
    #service_flow2 .flowBox h3:after {
        left: 5%;
        right: 5%;
    }
}

@media only screen and (max-width: 768px) {
    #service_flow2 .flowBox {
        width: 50%;
    }
}

@media only screen and (max-width: 736px) {
    #service_flow2 .flowArea {
        margin: 0;
        font-size: 0;
    }
    #service_flow2 .flowBox {
        display: block;
        margin-top: 50px;
        border: none;
        width: 100%;
        text-align: center;
    }
    #service_flow2 .flowBox:after {
        position: absolute;
        bottom: -50px;
        right: 0;
        left: 0;
        height: 50px;
        line-height: 50px;
        font-size: 20px;
        font-family: themify;
        content: "\e62a";
        z-index: 1;
    }
    #service_flow2 .flowBox:last-child:after {
        display: none;
    }
    /* .inner */
    #service_flow2 .flowBox .inner {
        padding: 35px 5%;
        border: #e5e8ef 1px solid;
    }
    /* h3 */
    #service_flow2 .flowBox h3 {
        font-size: 16px;
        padding: 55px 0 25px;
    }
    #service_flow2 .flowBox h3:after {
        border-top: #e5e8ef 1px dotted
    }
    #service_flow2 .flowArea .txtArea {
        margin: 15px auto 0;
    }
}


/* ul.circle */

ul.mark_non {
    margin: 0;
    padding: 0 0 0 15px;
    list-style: circle;
    font-size: 14px;
    text-align: left;
}

ul.mark_non li {
    margin-top: 3px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.8;
    font-feature-settings: "palt" 1;
    list-style-type: none;
}

ul.mark_non li img {
    width: 90%;
    margin: 0 auto;
}


/* ul.circle */

ul.circle {
    margin: 0;
    padding: 0 0 0 15px;
    list-style: circle;
    font-size: 14px;
    text-align: left;
}

ul.circle li {
    margin-top: 3px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.8;
    font-feature-settings: "palt" 1;
}

ul.circle li img {
    width: 90%;
    margin: 0 auto;
}

@media only screen and (max-width: 900px) {
    ul.circle li {
        font-size: 13px;
    }
}

@media only screen and (max-width: 738px) {
    ul.circle li {
        font-size: 12px;
    }
}

.ha_viewarea-inner {}

.ha_viewarea-inner .wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    flex-wrap: nowrap;
}

.ha_viewarea-inner .wrap {}

.ha_viewarea-inner {
    background: #f3f3f3;
}

.ha_viewarea-inner:nth-child(even) {
    background: #fff;
}

.ha_viewarea-inner .wrap:nth-child(odd) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1
    /*       */
    ;
    flex-direction: row-reverse;
}

.ha_viewarea-inner .wrap:nth-child(even) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-transform: translate3d(0px, 20px, 0);
    transform: translate3d(0px, 20px, 0);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    transition: opacity 0.3s linear 0s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    z-index: 1
    /*     flex-direction: row-reverse; */
}

.ha_viewarea-image {
    order: 1;
}

.ha_viewarea-inner .num {
    width: 50px;
    height: 50px;
    padding-top: 13px;
    border: 1px solid #b2b2b2;
    background: #375f86;
    font-size: 25px;
    font-family: 'Hind Guntur', sans-serif;
    font-weight: 400;
    text-align: center;
    line-height: 1;
    float: left;
    clear: left;
    border-radius: 5%;
    -webkit-border-radius: 5%;
    -moz-border-radius: 5%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
}

@media screen and (min-width: 768px) {
    .ha_viewarea-inner {
        height: 100%;
        padding: 60px 0;
    }
}

@media screen and (min-width: 1000px) {
    .ha_viewarea-inner:nth-child(odd) {
        flex-direction: row-reverse;
    }
    .ha_viewarea-inner:nth-child(even) {
        background: #fff;
    }
    .ha_viewarea-inner {
        /* position: absolute; */
        /* top: calc(((100% - 728px) / 2)) */
    }
}

.ha_viewarea-imagearea {
    /* background-color: #eee; */
    min-width: 400px;
    overflow: hidden;
    width: 30%;
}

@media screen and (max-width: 1180px) {
    .ha_viewarea-imagearea {
        min-width: 350px;
        width: 350px
    }
}

.ha_viewarea-image {
    height: 100%
}

.ha_viewarea-image source,
.ha_viewarea-image img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
    /* height: 100%; */
    width: 100%;
    padding: 2%;
    order: 1;
    /* flex-direction: row-reverse; */
}

.ha_viewarea-textarea {
    /* background-color: #eaeaea; */
    overflow: hidden;
    padding: 30px 80px 0 59px;
    position: relative;
    width: 75%;
}

@media screen and (max-width: 1080px) {
    .ha_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .ha_viewarea-textarea {
        overflow-y: hidden
    }
}

.ha_viewarea-textarea-name {
    font-size: 21px;
    font-weight: 400;
    line-height: 1.8;
    /* font-family: "Yu Mincho", "YuMincho"; */
    /* margin-top: 27px */
    padding-left: 60px;
}

.ha_viewarea-textarea-hurigana {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    font-family: "Yu Mincho", "YuMincho";
    letter-spacing: 3px;
    margin-top: 13px
}

.ha_viewarea-textarea-detail {
    margin-top: 25px;
    margin-left: 3px;
    padding-top: 25px;
    position: relative
}

.ha_viewarea-textarea-detail:before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #9E9E9E;
    position: absolute;
    top: 2px;
    left: 1px;
    height: 1px;
    width: 100%;
}

.ha_viewarea-textarea-tit {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    /* font-family: "Yu Mincho", "YuMincho" */
}

.ha_viewarea-textarea-txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.35714;
}

.ha_viewarea-textarea-txt:not(:first-of-type) {
    margin-top: 11px
}

.ha_viewarea-textarea-table {
    margin-top: 20px;
    position: relative;
    z-index: 99
}

.ha_viewarea-textarea-table dl {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-top: 1px solid #ddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0 19px 6px;
}

.ha_viewarea-textarea-table dt {
    min-width: 136px
}

.ha_viewarea-textarea-table dd {
    font-size: 20px;
    line-height: 1.23077;
    color: #000000;
    display: inline-block;
    word-break: break-all;
}

.ha_viewarea-textarea-table dd a {
    font-size: 20px;
    line-height: 1.23077;
    color: #1c7098;
    display: inline-block;
    word-break: break-all;
}

.ha_viewarea-textarea-table dd a[target="_blank"]:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/common/ico-blank_sm-glay.svg);
    margin-top: -4px;
    margin-left: 4px;
    -webkit-transition: background-image .2s linear;
    transition: background-image .2s linear;
    height: 8px;
    width: 8px
}

@media screen and (min-width: 768px) and (max-height: 690px) {
    .ha_viewarea-wrap {
        height: calc(100% - 5%);
        width: calc(100% - 5%)
    }
    .ha_viewarea-inner {
        height: inherit
    }
    .ha_viewarea-textarea {
        overflow-y: auto
    }
}

@media screen and (max-width: 767px) {
    .ha_viewarea-inner .wrap {
        flex-wrap: wrap;
    }
    .brands__viewarea {
        padding: 38px 20px 60px
    }
    .ha_viewarea-tit {
        font-size: 12px;
        line-height: 1;
        margin-left: -2px
    }
    .ha_viewarea-tit-catename {
        letter-spacing: 2.6px
    }
    .ha_viewarea-tit-brandkind {
        letter-spacing: 2.6px;
        margin-left: 11px;
        padding-left: 13px
    }
    .ha_viewarea-tit-brandkind:before {
        top: 2px;
        height: 8px
    }
    .ha_viewarea-inner {
        margin-top: 22px
    }
    .ha_viewarea-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 0
    }
    .ha_viewarea-link {
        padding: 23px 0px 30px;
        height: 188px;
        width: 100%
    }
    .ha_viewarea-link:before,
    .ha_viewarea-link:after {
        bottom: 15px;
        right: 10px;
        width: 10px
    }
    .ha_viewarea-item {
        width: calc((100% / 2) - 1px)
    }
    .ha_viewarea-item:nth-of-type(even) {
        margin-left: 1px
    }
    .ha_viewarea-item:nth-of-type(n+3) {
        margin-top: 1px
    }
    .ha_viewarea-item-tit {
        font-size: 10px;
        line-height: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-left: 9px
    }
    .ha_viewarea-item-tit-catename {
        letter-spacing: .3px
    }
    .ha_viewarea-item-tit-brandkind {
        letter-spacing: .3px;
        margin-top: 3px;
        margin-left: 0;
        padding-left: 0
    }
    .ha_viewarea-item-tit-brandkind:before {
        display: none
    }
    .ha_viewarea-item-image {
        margin-top: 28px;
        margin-left: 4px
    }
    .ha_viewarea {
        bottom: 0;
        left: 0;
        right: 0;
        top: 0;
        height: 100%;
        width: 100%
    }
    .ha_viewarea-bg {
        bottom: 0;
        right: 0
    }
    .ha_viewarea-wrap {
        bottom: 0;
        display: block;
        left: 0;
        overflow-y: auto;
        position: relative;
        -webkit-overflow-scrolling: touch;
        right: 0;
        top: 0;
        height: inherit;
        width: 100%;
        z-index: 1
    }
    .ha_viewarea-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px;
        position: relative;
        width: 100%;
        z-index: 999999
    }
    .ha_viewarea-imagearea {
        height: 250px;
        width: 100%;
        min-width: 100%
    }
    .ha_viewarea-image {
        display: inline-block;
        height: 100%;
        width: 100%
    }
    .ha_viewarea-image img,
    .ha_viewarea-image source {
        -o-object-fit: cover;
        object-fit: cover;
        font-family: "object-fit: cover";
        height: 100%;
        width: 100%
    }
    .ha_viewarea-image img {
        display: inline-block
    }
    .ha_viewarea-textarea {
        padding: 20px 20px;
        width: 100%;
    }
    .ha_viewarea-textarea:after {
        font-size: 177.5px;
        font-weight: 400;
        line-height: 1;
        bottom: -188px;
        content: "";
        color: rgba(145, 124, 80, 0.03);
        left: 30px;
        letter-spacing: -53px;
        position: absolute
    }
    .ha_viewarea-textarea-caption {
        font-size: 12px;
        line-height: 1
    }
    .ha_viewarea-textarea-caption-catename {
        letter-spacing: .4px
    }
    .ha_viewarea-textarea-caption-brandkind {
        letter-spacing: .4px;
        margin-left: 10px;
        padding-left: 10px
    }
    .ha_viewarea-textarea-caption-brandkind:before {
        top: 2px;
        height: 8px
    }
    .ha_viewarea-textarea-name {
        font-size: 21px;
        line-height: 1;
        margin-top: 20px
    }
    .ha_viewarea-textarea-hurigana {
        font-size: 11px;
        line-height: 1;
        letter-spacing: 3px;
        margin-top: 6px
    }
    .ha_viewarea-textarea-detail {
        margin-top: 12px;
        margin-left: 0;
        padding-top: 22px;
        position: relative
    }
    .ha_viewarea-textarea-detail:before {
        top: 2px;
        left: 0;
        height: 1px;
        width: 100%;
    }
    .ha_viewarea-textarea-tit {
        font-size: 16px;
        line-height: 1.25
    }
    .ha_viewarea-textarea-txt {
        font-size: 12px;
        line-height: 1.75
    }
    .ha_viewarea-textarea-txt:not(:first-of-type) {
        margin-top: 8px
    }
    .ha_viewarea-textarea-table {
        margin-top: 25px
    }
    .ha_viewarea-textarea-table dl {
        font-size: 13px;
        font-weight: 400;
        line-height: 1;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px 0 13px 6px
    }
    .ha_viewarea-textarea-table dt {
        min-width: 100%
    }
    .ha_viewarea-textarea-table dd {
        margin-top: 7px
    }
}




/* ======== table.tableOther ======== */
table.sheet {border-collapse: collapse;text-align: left;font-size:14px;letter-spacing:1px;line-height:2;width:100%;max-width: 1200px;color: #333;margin: 0 auto;}
table.sheet tr { }
table.sheet tr.dbl {border-bottom: #ddd double ;}
table.sheet th {width:25%;padding: 15px;vertical-align: 0;border: #ddd 1px solid;border-right:#ddd 1px dashed;border-right: #ddd 1px solid;}
table.sheet th.dbl {border-bottom: #ddd double ;}
table.sheet td {padding: 15px;vertical-align: 0;border: #ddd 1px solid;border-left:none;}
table.sheet td .linkArea {margin-top:10px;text-align:left;}
table.sheet td .linkArea a.btn {margin:0;}
table.sheet td.dbl {border-bottom: #ddd double ;}



@media only screen and (max-width: 950px) {
table.sheet th {width:30%;padding:20px;}
table.sheet td {padding:20px;}	
}

@media only screen and (max-width: 800px) {
table.sheet { font-size:13px;}	
}
@media only screen and (max-width: 738px) {
table.sheet { font-size:12px;}	
}
@media only screen and (max-width: 414px) {
table.sheet th {width:30%;padding:15px;}
table.sheet td {padding:15px;}		
}


