@charset 'utf-8';

/* ------------------------------
 トップページ
------------------------------ */


/* メイン */

#main {
    box-sizing: border-box;
    height: 486px;
    padding-top: 31px;
    background: #dce0e6 url(../img/top/bg_main.jpg) no-repeat center -1px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

#main .box {
    width: 960px;
    margin: 0 auto;
}


/* 青背景 */

.blue_back {
    background-color: #eff8ff;
}

.blue_gray {
    background-color: #f7f7f7;
}


/* トップ用中見出し */

.tl_top {
    position: relative;
    color: #0098e6;
    font-weight: bold;
    font-size: 42px;
}

.tl_top::after {
    display: block;
    width: 60px;
    height: 3px;
    margin: 20px auto -4px;
    background-color: #0098e6;
    content: '';
}


/* 当サイトの特徴 */

#feature {
    padding: 60px 30px 35px;
}

.feature {
    width: 960px;
    background-color: #fff;
}

.feature .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 880px;
}

.feature .list li {
    width: 430px;
}

.feature .list li:nth-of-type(n + 3) {
    margin-top: 30px;
}

#feature_3_box {
    display: flex;
    flex-flow: row-reverse;
    align-items: center;
    justify-content: space-between;
    padding: 20px 55px;
    background-color: #f4f4f4;
    border-radius: 5px;
}

#feature_3_box .txt {
    width: 405px;
    margin-left: 20px;
    padding: 20px;
}

#feature_3_box figure {
    width: 420px;
}

.feature h3 {
    position: relative;
    cursor: pointer;
}

.feature h3::after {
    position: absolute;
    top: 51px;
    right: 20px;
    width: 38px;
    height: 0;
    padding-top: 38px;
    overflow-y: hidden;
    background: url(../img/top/tg_feature.png) no-repeat;
    content: '';
}

.feature h3.on::after {
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg);
}


/* 弊社取扱いサービス */

#service {
    padding: 60px 0 90px;
}

#service .txtbox {
    width: 800px;
    margin-right: auto;
    margin-left: auto;
}


/* ご相談の流れ */

#flow {
    padding: 60px 0 50px;
}

#flow .txtbox {
    width: 830px;
    margin-right: auto;
    margin-left: auto;
}

#flow ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: 920px;
    list-style-type: none;
}

#flow li {
    box-sizing: border-box;
    width: 240px;
    padding: 165px 40px 0 0;
}

#flow li:last-child {
    width: 200px;
    padding-right: 0;
    background: url(../img/top/bg_flow.png) no-repeat center bottom;
}

#flow li:nth-child(1) {
    background: url(../img/top/bg_flow_1.png) no-repeat top right;
}

#flow li:nth-child(2) {
    background: url(../img/top/bg_flow_2.png) no-repeat top right;
}

#flow li:nth-child(3) {
    background: url(../img/top/bg_flow_3.png) no-repeat top right;
}

#flow li:nth-child(4) {
    background: url(../img/top/bg_flow_4.png) no-repeat top center;
}


/* お約束 */

#promise {
    padding: 40px 0;
    background: #f8f8f8 url(../img/top/bg_top_promise.png) no-repeat center top;
}

#promise_inner {
    width: 880px;
    margin: 0 auto;
}

#promise_inner p {
    padding: 20px 60px;
    background: rgba(188, 203, 231, 0.4);
}


/* 選ばれる理由 */

#reason .list {
    width: 960px;
    margin: 0 auto;
    list-style-type: none;
}

#reason li {
    background-color: #eff8ff;
}

#reason li:not(:last-child) {
    margin-bottom: 40px;
}

#reason li:first-child h3::after {
    top: 31px;
}

#reason h3.on::after {
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.reason {
    padding: 40px 20px;
}

.reason p img {
    float: left;
    width: 200px;
    margin: 7px 20px 20px 0;
}


/* お悩み */

#trouble {
    position: relative;
    padding: 90px 0 50px;
    background-color: #e8e8e8;
}

#trouble::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-top: 48px solid #fff;
    border-right: 110px solid transparent;
    border-left: 110px solid transparent;
    content: '';
}

#trouble .list {
    box-sizing: border-box;
    width: 880px;
    margin-right: auto;
    margin-left: auto;
    padding: 40px 18px;
    background-color: #fff;
}

.trouble {
    padding: 0 0 26px 126px;
}

.trouble:last-child {
    padding-bottom: 0;
}

.trouble:not(:last-child) {
    margin-bottom: 30px;
    border-bottom: 4px dotted #c0c0c0;
}

.trouble:nth-child(1) {
    background: url(../img/top/bg_trouble_1.png) no-repeat 28px top;
}

.trouble:nth-child(2) {
    background: url(../img/top/bg_trouble_2.png) no-repeat 28px top;
}

.trouble:nth-child(3) {
    background: url(../img/top/bg_trouble_3.png) no-repeat 28px top;
}

.trouble h3 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 33px;
    line-height: 1.5;
    font-feature-settings: 'palt';
}

.trouble .t_blue {
    color: #244c97;
}


/* ご提案実績例 */

#case .list {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
}

.case .box1 {
    padding: 35px 40px 40px;
}

.case .box1 .txt {
    padding-left: 320px;
}

.case:nth-of-type(1) .box1 {
    background: #f7f7f7 url(../img/top/bg_case_1.png) no-repeat left top;
}

.case:nth-of-type(2) .box1 {
    background: #f7f7f7 url(../img/top/bg_case_2.png) no-repeat left top;
}

.case:nth-of-type(3) .box1 {
    background: #f7f7f7 url(../img/top/bg_case_3.png) no-repeat left top;
}

.case:nth-of-type(4) .box1 {
    background: #f7f7f7 url(../img/top/bg_case_4.png) no-repeat left top;
}

.case:nth-of-type(5) .box1 {
    background: #f7f7f7 url(../img/top/bg_case_5.png) no-repeat left top;
}

.case:not(:last-child) {
    margin-bottom: 60px;
}

.case h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 90px;
    background-color: #0098e6;
}

.case_inner {
    border: 2px solid #dadada;
    border-top: none;
}

.btn_case {
    display: block;
    width: 430px;
    margin: 0 auto;
    cursor: pointer;
}

.case_cont {
    position: relative;
}

.case:nth-child(3) .case_cont {
    margin-top: 0;
}

.case_header {
    padding: 40px 0;
    background-color: #eff8ff;
    border-bottom: 2px solid #d8e8f0;
}

.case_header .mt {
    display: inline-block;
    padding: 8px 10px;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
    background-color: #244c97;
}

.case_footer {
    position: relative;
    padding: 40px 0;
    background: #fffff1 url(../img/top/bg_case_footer.png) no-repeat 752px 12px;
}

.case_footer::before {
    position: absolute;
    top: -2px;
    right: 0;
    left: 0;
    width: 142px;
    height: 0;
    margin: 0 auto;
    padding-top: 33px;
    overflow: hidden;
    background: url(../img/top/bg_case_arrow.png) no-repeat;
    content: '';
}

.case_footer .mt {
    display: inline-block;
    padding: 8px 10px;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
    background-color: #f6731b;
}

.case .txt_link a {
    color: #0045c3;
    font-weight: bold;
    font-size: 18px;
}

.case_hp {
    padding: 60px 38px 40px;
    background-color: #eff8ff;
}

.case_hp ol>li {
    list-style-type: none;
    background-color: #fff;
}

.case_hp ol>li:not(:first-child) {
    margin-top: 40px;
}

.case_hp ol>li h5 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 12px;
    border-bottom: 2px solid #d6ddeb;
}

.case_hp ol>li .inbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 20px;
}

.case_hp ol>li .inbox .txt {
    width: 490px;
}

.case_hp ol>li .inbox figure {
    width: 350px;
}

.case_hp ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 780px;
    margin: 0 auto;
}

.case_hp ul>li {
    width: 243px;
    list-style-type: none;
}


/* よくあるご質問 */

#qa {
    padding: 90px 0 80px;
}

#qa .list {
    width: 960px;
    margin: 0 auto;
}

#qa dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 20px 110px;
    font-weight: bold;
    font-size: 28px;
    line-height: 36px;
    border: 1px solid #d9d9d9;
    border-bottom-width: 4px;
    cursor: pointer;
}

#qa dt:not(:first-child) {
    margin-top: 30px;
}

#qa dt::after {
    width: 38px;
    height: 0;
    padding-top: 38px;
    overflow-y: hidden;
    background: url(../img/sp/top/tg_qa.png) no-repeat;
    content: '';
}

#qa dt.on::after {
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

#qa dt:nth-child(1) {
    background: #fff url(../img/top/ico_qa_q1.png) no-repeat 20px center;
}

#qa dt:nth-child(3) {
    background: #fff url(../img/top/ico_qa_q2.png) no-repeat 20px center;
}

#qa dt:nth-child(5) {
    background: #fff url(../img/top/ico_qa_q3.png) no-repeat 20px center;
}

#qa dt:nth-child(7) {
    background: #fff url(../img/top/ico_qa_q4.png) no-repeat 20px center;
}

#qa dd {
    padding: 30px 20px;
}


/*
--------------------------------------------------------------------------------
 END OF CSS
--------------------------------------------------------------------------------
*/