/*--------------------------------------------------------------------------------
　▼ 各セクション共通箇所
--------------------------------------------------------------------------------*/
.section01 h3,
.section02 h3,
.section03 h3 {
    font-size: 20px;
    text-align: center;
    margin-bottom: 40px;
}
.profile_box .inner_box:after,
.section02 .inner_box:after {
    display: block;
    content: "";
    clear: both;
}
h2.section_title {
    margin: 0 0 30px;
    font-size: 2.3em;
    font-weight: normal;
    text-align: center;
    letter-spacing: .13em;
    padding: 5px 20px;
    font-family: 'Kozuka Mincho Pro';
}
.title_sub {
    font-size: 14px;
    letter-spacing: 0;
    text-align: center;
    display: block;
    color: #5f83b5;
    line-height: 1.5em;
    padding-top: 8px;
}
.section01 h3,
.section02 h3,
.section03 h3 { font-family: 'Kozuka Mincho Pro';}
.contents_title span {
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    color: #6f94cd;
}
.fl_box { float: left;}
.fr_box { float: right;}
.ul03 li {
    width: 30%;
    vertical-align: top;
}
.ul03 li:nth-child(3n - 1) { margin: 0 5%;}

/*--------------------------------------------------------------------------------
　▼ slide　
--------------------------------------------------------------------------------*/
.section_slider {
    position: relative;
}

/*--------------------------------------------------------------------------------
　▼ 新着情報　
--------------------------------------------------------------------------------*/
.news-list {
    margin: 0 auto;
    max-width: 75%;
}

.news-list > li {
    border-bottom: 1px dotted #bfbfbf;
    padding: 10px 0;
    width: 100%;
}

.news-list > li a {
    color: #333;
    font-weight: normal;
    text-decoration: none;
}

.news-list > li a:hover {
    text-decoration: underline;
}

.news-data {
    font-size: 14px;
}

.news-tit {
    margin: 0 auto;
}


/*--------------------------------------------------------------------------------
　▼ section01 代表メッセージ　
--------------------------------------------------------------------------------*/
.section01 { border-top: 3px solid #002c61;}
.section01 .message_text {
    font-size: 16px;
    line-height: 1.7em;
}

.profile_box { background: #f4f4f4;}
.profile_box .fl_box {
    width: 35%;
    padding-right: 5%;
}
.profile_box .fr_box {
    width: 65%;
    line-height: 1.5em;
}
.profile_box .name_s {
    font-size: 15px;
    line-height: 1;
    font-family: 'Kozuka Mincho Pro';
}
.profile_box .name {
    font-size: 24px;
    font-family: 'Kozuka Mincho Pro';
    line-height: 1.5em;
}
.profile_box .name_en {
    font-size: 14px;
    line-height: 1;
    color: #888;
    font-family: 'Kozuka Mincho Pro';
}


/*--------------------------------------------------------------------------------
　▼ section02　ミッション
--------------------------------------------------------------------------------*/
.section02 {
    background: #142f56;
    color: #fff;
}
.section02 .inner_box {
    background-image: url(../img/bg_mission.png);
    background-position: 100% 10%;
    background-repeat: no-repeat;
    background-size: 300px;
}
.section02 h3 {
    text-align: center;
    font-size: 19px;
    margin: 40px 0 30px;
    text-shadow: 0 2px 3px #050c34;
}
.section02 .contents_title span { color: #fff;}
.section02 .fl_box {
    width: 50%;
    padding-right: 2.5%;
}
.section02 .fl_box ul {
    margin: 0;
    padding: 0 0 20px;
}
.section02 .fl_box ul li {
    list-style: none;
    padding: 10px 0 10px 50px;
    font-size: 16px;
    background: transparent url(../img/list01.png) no-repeat left center;
    background-size: 40px;
    vertical-align: middle;
}
.section02 .w80p { width: 80%; margin: 0 auto;}

.section02 .fr_box {
    width: 50%;
    padding-left: 2.5%;
}
.section02 .fr_box .ul01 {
    padding: 20px;
    width: 70%;
    margin: 0 auto;
}
.section02 .fr_box .ul01 li {
    font-size: 16px;
    padding: 0 0 5px;
}

/*--------------------------------------------------------------------------------
　▼ section03　サービス
--------------------------------------------------------------------------------*/
.section03 {}
.section03 .ul03 li {
    margin-bottom: 40px;
    width: 27%;
}
.section03 .ul03 li:nth-child(3n - 1) { margin: 0 9.5%;}
.section03 .ul03 li.li02 { margin: 0 9.5%;}

.service_title {
    text-align: center;
    font-size: 15px;
    margin: 10px 0 0;
    font-weight: 500;
    color: #002c61;
}
.service_img { padding: 10px 0 20px;}
.service_text {
    text-align: center;
    font-size: 14px;
    color: #888;
}


/*--------------------------------------------------------------------------------
　▼ section08　news
--------------------------------------------------------------------------------*/
.section08 { background: #f4f4f4;}

.section08 table {
    margin: 30px auto;
    width: 65%;
}

.section08 table tr th {
    border-bottom: 1px solid #bfbfbf;
    padding: 8px 0;
    vertical-align: top;
    width: 18%;
}

.section08 table tr td {
    border-bottom: 1px solid #bfbfbf;
    padding: 8px 0;
}

.link_about {
    width: 230px;
    margin: 30px auto 0;
}

.link_about a {
    display: block;
    width: 100%;
    background: #a40000;
    color: #fff;
    text-align: center;
    padding: 13px;
    text-decoration: none;
    position: relative;
}

.link_about a i {
    position: absolute;
    top: 14px;
    right: 15px;
    font-size: 18px;
}


/*--------------------------------------------------------------------------------
　▼ section04　実績紹介
--------------------------------------------------------------------------------*/
.section04 { background: #f4f4f4;}
.ul_news { padding: 0;}
.ul_news li {
    list-style: none;
    border-bottom: 1px solid #bfbfbf;
    padding: 20px 0 5px;
}
.ul_news li a {
    display: block;
    text-decoration: none;
}
.ul_news li .day {
    color: #666;
    display: inline-block;
    vertical-align: middle;
}
.category {
    color: #fff;
    background: #142f56;
    display: inline-block;
    padding: 2px 9px;
    vertical-align: middle;
    margin: 0 20px;
    min-width: 144px;
    text-align: center;
    text-decoration: none;
    font-size: 13px;
}
.ul_news li .news_title {
    display: inline-block;
    width: 60%;
    vertical-align: top;
}
.ul_news li .news_title a {
    display: block;
    color: #333;
}
.link_about {
    width: 230px;
    margin: 30px auto 0;
}
.link_about a {
    display: block;
    width: 100%;
    background: #a40000;
    color: #fff;
    text-align: center;
    padding: 13px;
    text-decoration: none;
    position: relative;
}
.link_about a i {
    position: absolute;
    top: 14px;
    right: 15px;
    font-size: 18px;
}

/*--------------------------------------------------------------------------------
　▼ 会社概要　
--------------------------------------------------------------------------------*/
.section05 .fl_box {
    width: 50%;
    padding-right: 2%;
    margin-bottom: 30px;
}
.section05 .fr_box {
    width: 50%;
    padding-left: 2%;
    margin-bottom: 30px;
}
.section05 h3.contents_title {
    text-align: center;
    font-family: 'Kozuka Mincho Pro';
}
.company_table tr th {
    padding: 8px 0;
    border-bottom: 1px solid #bfbfbf;
    width: 20%;
    vertical-align: top;
}
.company_table tr td {
    padding: 8px 0;
    border-bottom: 1px solid #bfbfbf;
}
.section05 .ul03 { padding: 30px 0;}

.section05 .list_no li {
    text-align: center;
}

.section05 .list_no li a {
    display: block;
    padding: 5px 0;
    font-size: 14px;
}

.address { padding-bottom: 30px;}
.tel { font-size: 26px;}
.map { padding: 0px; border: solid 5px #efefef; vertical-align: text-bottom;}
.map iframe { vertical-align: bottom;}

.column::after {
    content: '';
    clear: both;
    display: block;
}
figure {
    margin: 0;
    padding: 0;
    background: #fff;
    overflow: hidden;
    border: 3px solid #efefef;
    font-size: 0;
    line-height: 0;
}
.hover01 figure img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.hover01 figure:hover img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
}

/*--------------------------------------------------------------------------------
　▼ プロフェッショナル　
--------------------------------------------------------------------------------*/
.section06 { background: #f9f9f9;}
.section06 .ul02 li {
    width: 50%;
    vertical-align: top;
    margin-bottom: 40px;
}
.section06 .ul02 li:nth-child(even) { padding-left: 2.5%;}
.section06 .ul02 li:nth-child(odd) { padding-right: 2.5%;}
.section06 .pro_img {
    float: left;
    width: 45%;
    padding-right: 5%;
}
.section06 .ul02_1 {
    display: flex;
    justify-content: center;
}

.section06 .pro_img img { border: solid 3px #efefef; }
.section06 .profile {
    float: right;
    width: 55%;
}
.section06 .ul02 li:after {
    display: block;
    content: "";
    clear: both;
}
.name_s {
    font-size: 10px;
    line-height: 1;
    font-family: 'Kozuka Mincho Pro';
}
.name {
    font-size: 20px;
    font-family: 'Kozuka Mincho Pro';
    line-height: 1.5em;
}
.name_en {
    font-size: 12px;
    line-height: 1;
    font-family: 'Kozuka Mincho Pro';
}
.profile_text {
    font-size: 12px;
    color: #777;
    line-height: 1.8rem;
}
.speciality {
    font-size: 12px;
    color: #6e6fff;
    padding: 10px 0;
}

/*--------------------------------------------------------------------------------
　▼ お問い合わせ　
--------------------------------------------------------------------------------*/
.section07 .fl_box {
    width: 50%;
    padding-right: 25%;
}
.section07 .fr_box {
    width: 50%;
    padding-left: 2%;
}
table.contact_table { width: 70%; margin: 0 auto;}
table.contact_table th {
    width: 28%;
    padding: 0 0 10px;
    vertical-align: top;
    position: relative;
}
.required {
    position: absolute;
    top: 5px;
    right: 8px;
    background: #a40000;
    color: #fff;
    font-size: 11px;
    line-height: 1.1em;
    padding: 2px 5px;
    text-align: center;
}
table.contact_table td { padding: 0 0 10px;}
table.contact_table td input {
    width: 100%;
    font-size: 14px;
    padding: 10px;
    background: #efefef;
    border: none;
}
table.contact_table td textarea {
    width: 100%;
    height: 270px;
    overflow: auto;
    padding: 10px;
    font-size: 14px;
    background: #efefef;
    border:  none;
}
table.contact_table.confirm th,
table.contact_table.confirm tr td { padding: 15px 10px; border-bottom: 1px dotted #bfbfbf;}
table.contact_table.confirm tr th .required { display: none !important;}
.link_box {
    width: 230px;
    margin: 0 auto;
    text-align: center;
}
.link_box a {
    display: block;
    background: #a40000;
    color: #fff;
    text-align: center;
    padding: 13px;
    text-decoration: none;
    width: 100%;
}
a.red { color: #cc0000;}
.prev {
    display: inline;
    background: #ccc;
    color: #000;
    padding: 10px;
    width: 220px;
    margin: 0 auto;
    box-shadow: none;
    border: none;
    font-size: 14px;
}
.next {
    display: inline;
    background: #a40000;
    padding: 10px;
    width: 220px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    margin: 0 auto;
    box-shadow: none;
    font-size: 14px;
    border: none;
}

.color_gray { font-size: 12px; }


@media screen and (max-width:900px) {

    /*--------------------------------------------------------------------------------
    　▼ 新着情報　
    --------------------------------------------------------------------------------*/
    .news-list {
        max-width: 100%;
    }

}

@media screen and (max-width:767px) {
    /*--------------------------------------------------------------------------------
    　▼ 各セクション共通箇所
    --------------------------------------------------------------------------------*/
    .section .inner_box { padding: 30px 0;}
    .section01 h3,
    .section02 h3,
    .section03 h3 { font-size: 18px; margin-bottom: 20px; line-height: 1.5em;}
    .title_sub { font-size: 14px;}
    .fl_box,
    .fr_box { float: none;}
    .ul03 li {
        width: 30%;
        vertical-align: top;
    }
    .ul03 li:nth-child(3n - 1) { margin: 0 5%;}

    /*--------------------------------------------------------------------------------
    　▼ 新着情報　
    --------------------------------------------------------------------------------*/
    .news-data {
        font-size: 12px;
    }

    .news-list > li h3 {
        font-size: 14px;
        line-height: 20px;
    }

    /*--------------------------------------------------------------------------------
    　▼ section01 代表メッセージ　
    --------------------------------------------------------------------------------*/
    .section01 { border-top: none;}
    .section01 .message_text { font-size: 14px;}
    .profile_box .fl_box {
        width: 100%;
        padding: 0 20px;
        margin-top: 20px;
        text-align: center;
    }
    .profile_box .fr_box { width: 100%;}

    /*--------------------------------------------------------------------------------
    　▼ section02　ミッション
    --------------------------------------------------------------------------------*/
    .section02 .fl_box {
        width: 100%;
        padding-right: 0;
        margin-bottom: 20px;
    }
    .section02 .fr_box {
        width: 100%;
        padding-left: 0;
    }

    /*--------------------------------------------------------------------------------
    　▼ section03　サービス
    --------------------------------------------------------------------------------*/
    .section03 h3 { margin-bottom: 0;}
    .section03 .ul03 li {
        margin-bottom: 30px;
        width: 50%;
    }
    .section03 .ul03 li:nth-child(3n - 1) { margin: 0 0 30px;}
    .section03 .ul03 li:nth-child(even) { padding-left: 5%;}
    .section03 .ul03 li:nth-child(odd) { padding-right: 5%;}
    .service_img { width: 80%; margin: 0 auto;}
    .service_title {
        background: #fff;
        color: #142f56;
        padding: 10px;
        text-align: center;
    }

    /*--------------------------------------------------------------------------------
    　▼ section04　実績紹介
    --------------------------------------------------------------------------------*/
    .ul_news li a {
        display: block;
        text-decoration: none;
    }
    .category { font-size: 12px;}
    .ul_news li .news_title {
        display: block;
        width: 100%;
    }

    /*--------------------------------------------------------------------------------
    　▼ 会社概要　
    --------------------------------------------------------------------------------*/
    .section05 .fl_box {
        width: 100%;
        padding-right: 0;
        margin-bottom: 20px;
    }
    .section05 .fr_box {
        width: 100%;
        padding-left: 0;
        margin-bottom: 20px;
    }

    /*--------------------------------------------------------------------------------
    　▼ プロフェッショナル　
    --------------------------------------------------------------------------------*/
    .section06 .ul02 li {
        display: block;
        width: 100%;
    }
    .section06 .ul02 li:nth-child(even) { padding-left: 0;}
    .section06 .ul02 li:nth-child(odd) { padding-right: 0;}
    .section06 .pro_img {
        float: left;
        width: 45%;
        padding-right: 5%;
    }
    .section06 .profile {
        float: right;
        width: 55%;
    }
    .section06 .profile:after {
        display: block;
        content: "";
        clear: both;
    }
    .name_s {
        font-size: 10px;
        line-height: 1;
        font-family: 'Kozuka Mincho Pro';
    }
    .name {
        font-size: 16px;
        font-family: 'Kozuka Mincho Pro';
        line-height: 1.5em;
    }
    .name_en {
        font-size: 10px;
        line-height: 1;
        font-family: 'Kozuka Mincho Pro';
    }
    .speciality {
        font-size: 12px;
        color: #6e6fff;
        padding: 10px 0;
    }

    /*--------------------------------------------------------------------------------
    　▼ お問い合わせ　
    --------------------------------------------------------------------------------*/
    table.contact_table { width: 100%;}
    .section07 .fl_box {
        width: 100%;
        padding: 0;
        margin-bottom: 20px;
    }
    .section07 .fr_box {
        width: 100%;
        padding-left: 0;
    }

}

@media screen and (max-width:640px) {

    /*--------------------------------------------------------------------------------
    　▼ section03　サービス
    --------------------------------------------------------------------------------*/
    .section03 .ul03 li {
        display: block;
        width: 100%;
        margin: 0;
        border-bottom: 1px solid #efefef;
    }
    .section03 .ul03 li:nth-child(3n - 1) { margin: 0;}
    .section03 .ul03 li:nth-child(even) { padding: 15px 0;}
    .section03 .ul03 li:nth-child(odd) { padding: 15px 0;}

    /*--------------------------------------------------------------------------------
    　▼ 会社概要　
    --------------------------------------------------------------------------------*/
    .company_table tr th { width: 25%;}

    /*--------------------------------------------------------------------------------
    　▼ プロフェッショナル　
    --------------------------------------------------------------------------------*/
    .section06 h2.section_title { margin-bottom: 0;}
    .section06 .title_sub { padding-top: 10px;}
    .section06 .ul02 li {
        padding: 20px 0;
        border-bottom: 1px solid #fff;
        margin: 0;
    }
    .section06 .pro_img {
        float: none;
        width: 100%;
        padding: 0 20px;
        margin-top: 20px;
    }
    .section06 .profile {
        float: none;
        width: 100%;
    }

    /*--------------------------------------------------------------------------------
    　▼ お問い合わせ　
    --------------------------------------------------------------------------------*/
    table.contact_table th {
        display: block;
        width: 100%;
        padding: 10px 0 0;
    }
    table.contact_table td { display: block; padding: 0;}
    .prev,
    .next { width: 180px;}


    .section08 table {
        width: 100%;
    }

}