@charset "utf-8";

/*------------------------------
  Message(message.html)専用のCSS
------------------------------*/

#wrapper {}


/*--------------------
  コンテンツ
--------------------*/

#contents {
    margin-top: 70px;
}

#contents > section {
    margin-bottom: 120px;
}

.work_info,
.work_flow,
.results {
    width: 100%;
    margin-bottom: 90px;
}

/*----------
  見出し
----------*/

.work_title {
    width: 100%;
    margin-bottom: 70px;
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
}

/*各セクションの見出し背景画像*/

.work_info .work_title {
    background: url(../../images/back_work_info.jpg) center center no-repeat;
    background-size: cover;
}

.work_flow .work_title {
    background: url(../../images/back_workflow.jpg) center center no-repeat;
    background-size: cover;
}

.results .work_title {
    background: url(../../images/back_result.jpg) center center no-repeat;
    background-size: cover;
}

/*見出しのメッセージ表示部分*/
.wrp_work_title_box {
    max-width: 1100px;
    height: 100%;
    margin: 0 auto;
}

.work_title_box {
    background: rgba(255, 255, 255, 0.7);
    font-size: 3.1rem;
    font-weight: 600;
    text-align: left;
    box-sizing: border-box;
    width: 50%;
    min-height: 260px;
    padding: 70px 90px 70px 90px;
}

.work_title_box h3 {
    font-weight: 600;
}

.work_title_box h3 span {
    font-size: 1.4rem;
    font-weight: 100;
    margin-top: 15px;
    display: block;
}


/*----------
  Works内共通
----------*/
.work_content {
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    margin-bottom: 60px;
    padding: 0 100px;
    box-sizing: border-box;
}

/*----------
  事業概要
----------*/
.work_content h4 {
    text-align: center;
    margin-bottom: 40px;
}

.work_content .group_list h5 {
    color: #016C6C;
    font-size: 1.8rem;
}

.group_list h5 span {
    display: block;
    color: #333;
    margin: 10px 0 20px 0;
}

.group_list li {
    background: #f6f6f6;
    float: left;
    width: 30%;
    margin-right: 5%;
    box-sizing: border-box;
}

.group_list li:last-child {
    margin-right: 0;
}

.group_list li a {
    background: url(../../images/ic_new_window.png)bottom 37px right 30px no-repeat;
    color: #333;
    display: block;
    padding: 30px;
}

.group_list li p {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 25px;
}

.group_list li p:last-child {
    font-weight: 600;
    padding-right: 25px;
}

.group_list li p span {
    display: block;
}

.group_list li p:last-child {
    text-align: right;
    font-size: 1.8rem;
    margin-bottom: 0;
}

.group_list li a:hover {
    background: url(../../images/ic_new_window_wh.png)bottom 37px right 30px no-repeat;
    background-color: #016C6C;
    border-color: #016C6C;
    color: #fff;
    cursor: pointer;
}

.group_list li a:hover > h5,
.group_list li a:hover > h5 span {
    color: #fff;
}

.group_list li a,
.group_list li a::before,
.group_list li a::after,
.group_list li h5,
.group_list li h5 span {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.group_list li a:hover::before,
.group_list li a:hover::after {
    width: 0;
    background-color: rgba(255, 255, 255, 1);
}

.result_data {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    /* 横方向中央揃え（Safari用） */
    justify-content: center;
    /* 横方向中央揃え */
    margin-bottom: 30px;
}

.result_data li {
    background: #f6f6f6;
    text-align: center;
    float: left;
    width: 230px;
    height: 230px;
    margin-right: 60px;
    border-radius: 115px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    -webkit-justify-content: center;
    /* 横方向中央揃え（Safari用） */
    justify-content: center;
    /* 横方向中央揃え */
}

.result_data li:last-child {
    margin-right: 0;
}

.result_data li p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}

.result_data li p span {
    color: #016C6C;
    font-size: 5.3rem;
}

.data_period {
    text-align: right;
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
}

/*--------------------
  アコーディオン
--------------------*/



/* Acordion Faq */
.tab {
    position: relative;
    margin-bottom: 1px;
    width: 100%;
    overflow: hidden;
    padding: 0 20px;
    box-sizing: border-box;
}

input {
    position: absolute;
    opacity: 0;
    z-index: -1;
}

label {
    position: relative;
    display: block;
    border-bottom: solid 2px #000000;
    font-weight: bold;
    line-height: 3;
    cursor: pointer;
}

.tab-content {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .35s;
    -o-transition: max-height .35s;
    transition: max-height .35s;
    color: #000;
    margin-top: 20px;
}

.tab-content p {
    line-height: 1.8em
}

/* :checked */
input:checked ~ .tab-content {
    max-height: 100%;
}

/* Icon */
label::after {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 3em;
    height: 3em;
    line-height: 3;
    text-align: center;
    -webkit-transition: all .35s;
    -o-transition: all .35s;
    transition: all .35s;
}

input[type=checkbox] + label::after {
    content: "+";
}

input[type=radio] + label::after {
    content: "\25BC";
}

input[type=checkbox]:checked + label::after {
    transform: rotate(315deg);
}

input[type=radio]:checked + label::after {
    transform: rotateX(180deg);
}

.comment_icon {
    width: 20%;
    margin-left: 20px;
    height: 100%;
}

/*----------
  グループ_事業
----------*/
.work_group {
    padding: 0 100px 0;
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    margin-bottom: 100px;
    box-sizing: border-box;
}

.work_group h4 {
    margin-bottom: 60px;
    text-align: center;
}

.group_link {
    display: flex;
    height: auto;
    align-items: flex-start;
}

.group_link h5 {
    color: #016C6C;
    font-size: 1.7rem;
    margin-bottom: 10px;
}

.group_link a {
    color: #333;
}


.group_textlink_02 {
    margin-top: 20px;

}

.group_textlink_02 li {
    background-color: #F6F6F6;
    margin-bottom: 20px;
    padding: 20px;
}

.group_textlink_02 li:hover{
    background-color: #016C6C;
　　　color: #fff;
    cursor: pointer;
}

.group_textlink_02 li:hover a{
    color: #fff;
}

.group_textlink_02 li:hover h5{
    color: #fff;
}




.work_list {
    background-color: #F6F6F6;
}

.group_textlink {
    margin-left: 50px;
}



/*----------
  仕事の流れ
----------*/

.work_flow_list li {
    background: #f6f6f6;
    position: relative;
    margin-bottom: 50px;
    padding: 60px 60px 60px 0px;
}

.work_flow_list li h5 {
    margin-bottom: 30px;
}

.work_flow_list li p {
    font-size: 1.4rem;
    line-height: 1.7;
}

.work_flow_list li:after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -10px;
    border-top: 10px solid #333;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

.work_flow_list li:last-child:after {
    border: none;
}

.btn_more {
    width: 280px;
}

.btn_more {
    background: url(../../images/ic_btn_arrow.png) no-repeat right 20px center;
    margin-top: 30px;
}


.btn_more:hover {
    background: url(../../images/ic_btn_arrow_fff.png) no-repeat right 20px center;
    background-color: #016C6C;
    border-color: #016C6C;
    color: #fff;
}

/* 仕事の流れ背景 */
.work_list {
    padding-left: 260px;
    position: relative;
}

.work_flow_img {
    position: absolute;
    left: 60px;
    top: 50%;
    transform: translateY(-50%);

}



/*
.work_flow_list li:nth-child(01) {
  background: url("../../images/ic_workflow_01.png")#f6f6f6 left 50px center no-repeat;
}
.work_flow_list li:nth-child(02) {
  background: url("../../images/ic_workflow_02.png")#f6f6f6 left 50px center no-repeat;
  
}
.work_flow_list li:nth-child(03) {
  background: url("../../images/ic_workflow_03.png")#f6f6f6 left 55px center no-repeat;
}
.work_flow_list li:nth-child(04) {
  background: url("../../images/ic_workflow_04.png")#f6f6f6 left 50px center no-repeat;
}
.work_flow_list li:nth-child(05) {
  background: url("../../images/ic_workflow_05.png")#f6f6f6 left 50px center no-repeat;
}
.work_flow_list li:nth-child(06) {
  background: url("../../images/ic_workflow_06.png")#f6f6f6 left 60px center no-repeat;
}
.work_flow_list li:nth-child(07) {
  background: url("../../images/ic_workflow_07.png")#f6f6f6 left 75px center no-repeat;
}
*/

.work_content02 {
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    margin-bottom: 60px;
    padding: 0 100px;
    box-sizing: border-box;
}

.work_flow02 {
    /*
    position: relative;
    width: 100%;
*/
    height: 0;
}

.work_flow02 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
}

.flow_icon {
    /*    margin: 120px 0 30px 0;*/
    text-align: center;
}

.flow_icon img {
    width: 40px;
    margin: 0 auto;
    position: relative;
    margin-top: 330px;
    margin-bottom: 20px;
}


.work_flow_text_tab {
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 10;
    position: relative;
    margin-left: 450px;
    top: 50px;
    padding: 20px;
}

.work_flow02_text h5 {
    padding-bottom: 20px;
}

.work_flow02_text p {
    line-height: 1.8em;
}

.text_bold {
    font-weight: 800;
}

.text_nomal {
    margin-bottom: 20px;
}

.work_name {
    font-weight: 700;
    padding-bottom: 10px;
}

.work-data {
    margin-top: 450px;
}






/*----------
  実績紹介
----------*/
.results_list li {
    float: left;
    width: 48%;
    margin-right: 4%;
    margin-bottom: 70px;
}

.results_list li:nth-child(2n) {
    margin-right: 0;
}

.results_text {
    line-height: 1.7;
}

.results_list h5 {
    font-size: 1.8rem;
    margin: 10px 0;
}

.btn_official_site {
    text-align: center;
}

/*実績画像*/
.results_list li:nth-child(1) .results_img {
    background: url("../../images/result_01.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 212px;
}

.results_list li:nth-child(2) .results_img {
    background: url("../../images/result_02.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 212px;
}

.results_list li:nth-child(3) .results_img {
    background: url("../../images/result_03.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 212px;
}

.results_list li:nth-child(4) .results_img {
    background: url("../../images/result_04.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 212px;
}

.btn_new_window {
    background: url(../../images/ic_new_window_gr.png) no-repeat right 10px center;
    background-color: rgba(255, 255, 255, 0);
    font-size: 1.4rem;
    width: auto;
    padding: 0 40px 0 20px;
}

.btn_new_window:hover {
    background: url(../../images/ic_new_window_wh.png) no-repeat right 10px center;
    background-color: #016C6C;
}


/*------------------------------
  タブレット(レスポンシブ)
------------------------------*/

@media only screen and (max-width: 959px) {

    /*----------
    見出し
  ----------*/

    .work_title_box {
        font-size: 3.1rem;
        min-height: 260px;
        padding: 70px 6%;
    }

    /*各セクションの見出し背景画像*/

    .work_info .work_title {
        background: url(../../images/sp_back_work_info.jpg) center center no-repeat;
        background-size: cover;
    }

    .group_list li {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
        box-sizing: border-box;
    }

    .group_list li a {
        background: url(../../images/ic_new_window.png)bottom 33px right 30px no-repeat;
        color: #333;
        display: block;
        padding: 25px;
    }

    .group_list li a:hover {
        background: url(../../images/ic_new_window.png)bottom 33px right 30px no-repeat;
        background-color: #f6f6f6;
        border-color: #333;
        color: #333;
        cursor: auto;
    }


    .group_list li a:hover > h5 {
        color: #016C6C;
    }

    .group_list li a:hover > h5 span {
        color: #333;
    }

    .group_list li a,
    .group_list li a::before,
    .group_list li a::after,
    .group_list li h5,
    .group_list li h5 span {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all 0;
        transition: all 0;
    }

    .group_list li a:hover::before,
    .group_list li a:hover::after {
        width: 0;
        background-color: rgba(255, 255, 255, 0);
    }

    .group_list li p {
        margin-bottom: 10px;
    }

    .group_list li p:last-child {
        margin-bottom: 0;
        padding-right: 30px;
    }

    .group_list li p span {
        display: inline;
    }

    .group_list li p:last-child {
        text-align: right;
        font-size: 1.8rem;
        margin-bottom: 0;
    }


    .result_data {
        width: 100%;
        margin-bottom: 20px;
    }

    .result_data li {
        float: left;
        width: 190px;
        height: 190px;
        margin-right: 20px;
        border-radius: 95px;
    }

    .result_data li:last-child {
        margin-right: 0;
    }

    .result_data li p {
        font-size: 1.6rem;
    }

    .result_data li p span {
        font-size: 4.5rem;
    }

    .work_group {
        max-width: none;
        width: 100%;
        margin-bottom: 45px;
        padding: 100px;
    }

    .work_group h4 {
        margin-bottom: 40px;
        text-align: center;
    }

    .group_link {
        display: block;
    }

    .group_link img {
        width: 100%;
        margin-bottom: 30px;
    }

    .group_link a {
        color: #333;
    }


    .group_textlink_02 {
        margin-top: 30px;

    }

    .group_textlink {
        margin-left: 0;
    }

    .flow_icon img {
        margin-top: 200px;
    }

    .work-data {
        margin-top: 490px;
    }




    /*------------------------------
  タブレット_フロー
------------------------------*/

    .work_flow02 img {
        width: 70%;
    }

    .flow_icon {
        margin: 230px 0 30px 0;
    }

    .work_flow_text_tab {
        margin-left: 100px;
        top: 200px;
    }



}



@media only screen and (max-width: 760px) {
    .work_content02 {
        max-width: none;
        width: 88%;
        margin-bottom: 45px;
        padding: 0;
    }

    .work_flow02 img {
        width: 100%;
    }

    .flow_icon {
        margin: 330px 0 50px 0;
    }

    .work_flow_text_tab {
        margin: 0 10px;
        top: 300px;
    }

    .work_flow02_text p {
        margin: 10px;
        line-height: 1.8em;
    }

    .work_flow02_text h5 {
        padding-top: 20px;
        margin: 0 10px;
        font-size: 1em;
    }

    .tab {
        padding: 0 10px;
    }
}




/*------------------------------
  スマートフォン(レスポンシブ)
------------------------------*/

@media only screen and (max-width: 599px) {

    /*--------------------
    ヘッダ
  --------------------*/


    /*--------------------
    コンテンツ
  --------------------*/

    #contents {
        margin-top: 30px;
    }

    #contents section .work_title {
        background: none;
    }

    .work_info,
    .work_flow,
    .results {
        width: 100%;
        margin-bottom: 60px;
    }

    /*----------
    見出し
  ----------*/
    .work_title {
        height: auto;
        margin-bottom: 40px;
    }

    .wrp_work_title_box {
        width: 100%;
        height: auto;
    }

    /* 各セクションの背景画像 */
    .work_info .top_img_box {
        background: url(../../images/sp_back_work_info.jpg) right center no-repeat;
        background-size: cover;
        width: 100%;
        height: 175px;
    }

    .work_flow .top_img_box {
        background: url(../../images/sp_back_workflow.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 200px;
    }

    .results .top_img_box {
        background: url(../../images/sp_back_result.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 200px;
    }

    .work_title_box {
        background: #f6f6f6;
        font-size: 1.6rem;
        font-weight: 600;
        width: 100%;
        min-height: inherit;
        padding: 30px 6%;
    }

    .work_title_box h3 span {
        font-size: 1.4rem;
    }

    /*----------
    Works内容
  ----------*/

    .work_content {
        max-width: none;
        width: 88%;
        margin-bottom: 45px;
        padding: 0;
    }

    /*----------
    事業概要
  ----------*/
    .work_content h4 {
        margin-bottom: 20px;
    }

    .work_content .group_list h5 {
        font-size: 1.5rem;
        line-height: 1;
    }

    .group_list h5 span {}

    /* .group_listはタブレット側のメディアクエリで調整 */

    .result_data li {
        float: left;
        width: 125px;
        height: 125px;
        margin-right: 20px;
        border-radius: 63px;
    }

    .result_data li:last-child {
        margin-right: 0;
    }

    .result_data li p {
        font-size: 1.4rem;
    }

    .result_data li p span {
        font-size: 3rem;
    }

    /*----------
    事業フロー
  ----------*/
    .work_flow_list li {
        position: relative;
        margin-bottom: 40px;
        padding: 50px 6% 20px 6%;
    }

    .work_flow_list li h5 {
        font-size: 1.5rem;
        text-align: center;
        margin-bottom: 15px;
    }

    .work_flow_list li p {
        font-size: 1.4rem;
        line-height: 1.7;
    }

    .work_flow_list li:after {
        bottom: -35px;
    }

    .btn_more {
        font-size: 1.8rem;
        width: 100%;
        margin-top: 20px;
    }

    /* スマホのときはホバーを切っておく*/
    .btn_more:hover {
        background: url(../../images/ic_btn_arrow.png) no-repeat right 20px center;
        background-color: none;
        border-color: #333;
        color: #333;
    }



    .work_list {
        padding-left: 0;
        position: relative;
        text-align: center;
    }

    .work_flow_img {
        position: static;
        left: 0;
        top: 50%;
        transform: translateY(-20%);
    }

    .work_list p {
        text-align: initial;
    }

    /*
    .tab {
        padding-left: 0;
    }
*/


    /* 仕事の流れ背景 */
    /*
  .work_flow_list li:nth-child(01) {
    background: url("../../images/ic_workflow_01.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;
  }
  .work_flow_list li:nth-child(02) {
    background: url("../../images/ic_workflow_02.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;

  }
  .work_flow_list li:nth-child(03) {
    background: url("../../images/ic_workflow_03.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;
  }
  .work_flow_list li:nth-child(04) {
    background: url("../../images/ic_workflow_04.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;
  }
  .work_flow_list li:nth-child(05) {
    background: url("../../images/ic_workflow_05.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;
  }
  .work_flow_list li:nth-child(06) {
    background: url("../../images/ic_workflow_06.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;
  }
  .work_flow_list li:nth-child(07) {
    background: url("../../images/ic_workflow_07.png")#f6f6f6 center top 20px no-repeat;
    background-size: auto 70px;
  }
*/

    /*----------
    実績紹介
  ----------*/

    .results_list li {
        float: none;
        width: 100%;
        margin-bottom: 45px;
    }


    .results_info ul li .results_img {
        height: 130px;
        margin-bottom: 15px;
    }

    .btn_new_window {
        font-size: 1.6rem;
        background: url(../../images/ic_new_window_gr.png) no-repeat 95%;
        width: 100%;
    }

    /* スマホのときはホバーを切っておく */
    .btn_new_window:hover {
        background: url(../../images/ic_new_window_gr.png) no-repeat 95%;
        background-color: none;
    }

    .btn_new_window {
        padding: 10px 0;
        line-height: 1.8;
        height: auto;
    }

    .tab-content {
        display: block;

    }

    .tab-content p {
        margin-left: 0;
    }


    .comment_icon {
        width: 50%;
        margin-left: 0px;
        height: 100%;
        transform: translateX(50%);
    }

    /*----------
  グループ_事業
----------*/
    .work_group {
        max-width: none;
        width: 88%;
        margin-bottom: 45px;
        padding: 0;
    }

    .work_group h4 {
        margin-bottom: 40px;
        text-align: center;
    }

    .group_link {
        display: block;
    }

    .group_link img {
        width: 100%;
        margin-bottom: 30px;
    }

    .group_link h5 {
        font-size: 1.6rem;
        text-align: center;
    }

    .group_link a {
        color: #333;
    }

     .group_link a h5{
        text-align: left;
    }
    

    .group_textlink_02 {
        margin-top: 20px;

    }

    .group_textlink_02 li {
        background-color: #F6F6F6;
        margin-bottom: 20px;
        padding: 20px;
    }

    .group_textlink {
        margin-left: 0;
    }

    /*------------------------------
  スマホ_フロー
------------------------------*/

    .work_content02 {
        max-width: none;
        width: 88%;
        margin-bottom: 45px;
        padding: 0;
    }

    .work_flow02 img {
        width: 100%;
    }

    .flow_icon {
        margin: 260px 0 0 0;
    }

    .work_flow_text_tab {
        margin: 0 10px;
        top: 150px;
    }

    .work_flow02_text p {
        margin: 10px;
        line-height: 1.8em;
    }

    .work_flow02_text h5 {
        padding-top: 0px;
        margin: 0 10px;
        font-size: 1em;
        padding-bottom: 0px;
    }

    .tab {
        padding: 0 10px;
    }

    .work-data {
        margin-top: 530px;
    }

}
