@charset "UTF-8";


/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
    display: none;
}

.cmn_maxbox {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}


.font_hirakaku_w3 {
    font-family: "HiraKakuProN-W3","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",Meiryo,"メイリオ","Yu Gothic",YuGothic,"游ゴシック体",/*"Noto Sans JP",*/Osaka,arial,helvetica,sans-serif;
}

.font_hirakaku_w6,
.cmn_btn,
.cmn_table_bg dt,
.cmn_table_dot dt {
    font-family: "HiraKakuProN-W6","ヒラギノ角ゴ ProN W6",Meiryo,"メイリオ","Yu Gothic",YuGothic,"游ゴシック体",/*"Noto Sans JP",*/Osaka,arial,helvetica,sans-serif;
    font-weight: 600;
}

.font_shinmarugo,
.home_main_wrapper h3,
.home_main_wrapper h4,
.home_main_wrapper h5,
.sub_main_wrapper h1,
.sub_main_wrapper h2,
.service_wrapper h3,
.case_single_wrapper h3 {
    font-family: "Shin Maru Go Regular","新丸ゴ R",/* "Kosugi Maru", */"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic Pro","ヒラギノ丸ゴ Pro W4","Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN","HG丸ゴシックM-PRO","HGMaruGothicMPRO",Meiryo,"メイリオ","Yu Gothic",YuGothic,"游ゴシック体",Osaka,arial,helvetica,sans-serif;
    font-weight: 500;
}




/* header */
.home_header {
    position: relative;
}

.sub_header .cmn_header_top {
    position: static;
    background: rgba(255,255,255,1.0);
}

.cmn_header_top {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    background: rgba(255,255,255,0.8);
}

.cmn_header_top > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
    padding: 0 50px;
}

.cmn_header_right > a,
#cmn_drawer {
    display: none;
}

.cmn_header_right {
    display: flex;
    align-items: flex-start;
    margin: 8px 0 0 0;
}

.cmn_header_right > p {
    margin: 0 10px 0 0;
    color: #046A76;
    font-size: 1.2rem;
    letter-spacing: 0;
}

.cmn_header_right > p span {
    display: block;
    margin: 0 0 6px 0;
}

.cmn_header_right > span {
    width: 50px;
    height: 50px;
    padding: 4px 0 0 0;
    border: 1px solid #C1272D;
    border-radius: 0.5rem;
    color: #C1272D;
    text-align: center;
    line-height: 1.4;
}


.home_mainimg li[class^="slide"] {
    height: 600px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline-color: transparent;
}

.home_mainimg li.slide01 {
    background-image: url(../img/home_mainimg01.jpg);
}

.home_mainimg li.slide02 {
    background-image: url(../img/home_mainimg02.jpg);
}

.home_mainimg li.slide03 {
    background-image: url(../img/home_mainimg03.jpg);
}

.home_mainimg li.slide04 {
    background-image: url(../img/home_mainimg04.jpg);
}

.home_mainimg li.slide05 {
    background-image: url(../img/home_mainimg05.jpg);
}

.home_mainimg .slide01 h2 {
    text-shadow:
		1px 1px 30px #2E3192,-1px 1px 30px #2E3192,
		-1px -1px 30px #2E3192,1px -1px 30px #2E3192;
}

.home_mainimg .slide02 h2 {
    text-shadow:
		1px 1px 30px #009FE8,-1px 1px 30px #009FE8,
		-1px -1px 30px #009FE8,1px -1px 30px #009FE8;
}

.home_mainimg .slide03 h2 {
    text-shadow:
		1px 1px 30px #534741,-1px 1px 30px #534741,
		-1px -1px 30px #534741,1px -1px 30px #534741;
}

.home_mainimg .slide04 h2,
.home_mainimg .slide05 h2 {
    text-shadow:
		1px 1px 30px #0071BC,-1px 1px 30px #0071BC,
		-1px -1px 30px #0071BC,1px -1px 30px #0071BC;
}


.home_mainimg h2 {
    display: flex;
    align-items: center;
    max-width: 900px;
    height: 100%;
    padding: 50px 0 0 0;
    margin: 0 auto 50px;
    color: #FFF;
    font-size: 3.6rem;
    font-weight: normal;
    letter-spacing: 0.1em;
}


.cmn_header_gnav {
    background: #046A76;
}

.cmn_header_gnav ul {
    display: flex;
    align-items: flex-start;
    max-width: 900px;
    margin: 0 auto;
}

.cmn_header_gnav li {
    width: 150px;
}

.cmn_header_gnav a {
    display: block;
    height: 100px;
    padding: 12px 0 0 0;
    text-align: center;
}

.cmn_header_gnav a:hover {
    background: #003F48;
    opacity: 1;
    filter: none;
    -ms-filter: "";
}

.cmn_header_gnav p {
    margin: 2px 0 0 0;
    color: #FFF;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
}


/* footer */
footer {
    padding: 110px 0 0 0;
    background: url(../img/cmn_bg_top.png) no-repeat center top / 100%,
                url(../img/cmn_bg_patt.svg) repeat center;
}

.footer_top {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}

.footer_top > p:first-of-type {
    margin: 0 0 0 30px;
    line-height: 1.4;
}

.footer_top > p:last-of-type {
    margin: 30px 0 40px 0;
    color: #808080;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.6;
}

.footer_nav {
    background: #046A76;
}

.footer_nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_nav li {
    height: 70px;
    line-height: 70px;
    margin: 0 24px;
}

.footer_nav a {
    color: #FFF;
}

.footer_copyright {
    display: block;
    padding: 14px 0;
    font-size: 1.3rem;
    text-align: center;
}


/* 共通ボタン */
.cmn_btn {
    text-align: center;
}

.cmn_btn a {
    display: inline-block;
    width: 100%;
    max-width: 300px;
    padding: 16px 30px 14px 16px;
    border-radius: 3.2rem;
    color: #FFF;
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
    background-color: rgba(4, 106, 118, 0.7);
    background-image: url("../img/cmn_btn_arr.svg");
    background-repeat: no-repeat;
    background-position: right 1.4em center;
}



/* 共通タイトル（ペンキローラー） */
.home_main_wrapper h4,
.sub_main_wrapper:not(.case_single_wrapper) h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 78px;
    padding: 6px 30px 0 0;
    margin: 0 auto 54px;
    width: 660px;
    color: #FFF;
    font-size: 2.4rem;
    line-height: 1.4;
    text-align: center;
    background: url(../img/cmn_tit_paint.png) no-repeat center / 100% auto;
}

/* 共通タイトル（下線両端正方形） */
.service_wrapper h3,
.case_single_wrapper h2 {
    margin: 0 0 34px 0;
    text-align: center;
}

.service_wrapper h3 span,
.case_single_wrapper h2 span {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 1.6em .6em;
    border-bottom: 1px solid #003F48;
    text-align: center;
    color: #003F48;
    font-size: 2.0rem;
    line-height: 1.4;
}

.service_wrapper h3 span::before,
.case_single_wrapper h2 span::before,
.service_wrapper h3 span::after,
.case_single_wrapper h2 span::after {
    content: '';
    position: absolute;
    bottom: -3px;
    z-index: 1;
    display: block;
    width: 7px;
    height: 7px;
    background: #003F48;
}

.service_wrapper h3 span::before,
.case_single_wrapper h2 span::before {
    left: 0;
}

.service_wrapper h3 span::after,
.case_single_wrapper h2 span::after {
    right: 0;
}

.service_wrapper h3 small,
.case_single_wrapper h2 small {
    flex-shrink: 0;
    display: inline-block;
    padding: 4px 10px;
    margin: 0 8px 0 0;
    border-radius: 0.4rem;
    background: #279C5F;
    color: #FFF;
    font-size: 1.5rem;
    vertical-align: bottom;
}



/* 共通 表レイアウト（背景色あり） */
.cmn_table_bg div {
    display: flex;
    align-items: stretch;
}

.cmn_table_bg dt,
.cmn_table_bg dd {
    padding: 24px 24px;
    border-color: #003F48;
    border-style: solid;
    line-height: 1.5;
}

.cmn_table_bg dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 30%;
    border-width: 1px 1px 0 1px;
    color: #003F48;
    font-size: 1.6rem;
    background: #E6F0F1;
}

.cmn_table_bg div:last-of-type dt {
    border-width: 1px;
}

.cmn_table_bg dd {
    border-width: 1px 1px 0 0;
    width: 100%;
    background: #FFF;
}

.cmn_table_bg div:last-of-type dd {
    border-width: 1px 1px 1px 0;
}


/* 共通 表レイアウト（ドットあり） */
.cmn_table_dot {
    border-top: 2px solid #003F48;
    border-bottom: 2px solid #003F48;
}

.cmn_table_dot div {
    display: flex;
    align-items: stretch;
    border-bottom: 1px dashed rgba(4,106,118,0.3);
    margin: 0 10px;
}

.cmn_table_dot div:last-of-type {
    border-bottom: 0;
}

.cmn_table_dot dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 180px;
    padding: 20px 16px;
    color: #003F48;
    font-size: 1.6rem;
}

.cmn_table_dot div:last-of-type dt {
    border-width: 1px;
}

.cmn_table_dot dd {
    width: 100%;
    padding: 20px 16px 20px 60px;
}

.cmn_table_dot div:last-of-type dd {
    border-width: 1px 1px 1px 0;
}




/* SUB 塗装背景など */
.home_news,
.home_propo,
.recruit_contact,
.faq_list,
.service_case,
.sub_main_wrapper > section:not(.sub_mainimg)
{
    padding: 80px 0 80px;
}

.home_about,
.home_case,
.company_outline,
.company_results,
.recruit_jobinfo,
.contact_form
{
    padding: 80px 0 80px;
    background: url(../img/cmn_bg_top.png) no-repeat center top / 100%,
                url(../img/cmn_bg_bottom.png) no-repeat center bottom / 100%,
                url(../img/cmn_bg_patt.svg) repeat center;
}


.company_wrapper .cmn_maxbox,
.recruit_wrapper .cmn_maxbox {
    max-width: 900px;
}



/* SUB メイン画像 */
.sub_mainimg {
    display: flex;
    align-items: center;
    height: 230px;
    background-image: url(../img/company_mainimg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.sub_mainimg h1 {
    color: #046A76;
    font-size: 3.6rem;
    text-align: center;
}






/* home /////////////////////////////////////////////////////////////////////////////////////////// */

.home_case h3,
.home_news h3 {
    margin: 0 0 32px 0;
    text-align: center;
}

.home_case h3 span,
.home_news h3 span {
    display: block;
    color: #003F48;
    font-size: 2.8rem;
    letter-spacing: 0.4em;
}

.home_case h3 small,
.home_news h3 small {
    display: block;
    color: #C1272D;
    font-size: 1.2rem;
    font-weight: 600;
}

.home_case ul,
.case_list ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 0 0 54px 0;
}

.home_case ul::after,
.case_list ul::after {
    content: '';
    display: block;
    width: 30%;
}

.home_case li,
.case_list li {
    width: 30%;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.3);
    background: #FFF;
}

.case_list > div > p {
    margin: 0 0 56px 0;
    text-align: center;
}

.case_list li {
    margin: 0 0 50px 0;
}

.home_case li > a,
.case_list li > a {
    display: block;
    height: 100%;
    padding: 10px;
}

.home_case .imgbox,
.case_list .imgbox {
    position: relative;
    height: 188px;
    border-radius: 0.3rem;
    overflow: hidden;
}

.home_case .imgbox img:not(.new),
.case_list .imgbox img:not(.new) {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0,-50%);
    display: block;
    width: 100%;
    max-width: none;
    transition: transform .3s;
}

.home_case li > a:hover img:not(.new),
.case_list li > a:hover img:not(.new) {
    transform: scale(1.05) translate(0,-50%);
}

.home_case .imgbox .new,
.case_list .imgbox .new {
    position: absolute;
    left: 4px;
    top: 6px;
}

.home_case .imgbox span,
.case_list .imgbox span {
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    padding: 4px 9px 2px;
    border-radius: 0 0 0 0.4rem;
    color: #FFF;
    background: #357D54;
}

.home_case .imgbox .okugai,
.case_list .imgbox .okugai,
.case_article h2 .okugai {
    background: #357D54;
}

.home_case .imgbox .okunai,
.case_list .imgbox .okunai,
.case_article h2 .okunai {
    background: #AF2F37;
}

.home_case .imgbox .bousui,
.case_list .imgbox .bousui,
.case_article h2 .bousui {
    background: #41648C;
}

.home_case .imgbox .other,
.case_list .imgbox .other,
.case_article h2 .other {
    background: #808080;
}

.home_case .txtbox,
.case_list .txtbox {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 12px 10px 0;
}

.home_case .txtbox > span,
.case_list .txtbox > span {
    display: inline-block;
    width: 70px;
    margin: 2px 12px 0 0;
    color: #808080;
    font-size: 1.2rem;
    letter-spacing: 0;
}

.home_case .txtbox p,
.case_list .txtbox p {
    width: calc(100% - 70px - 12px);
    font-size: 1.4rem;
    font-weight: 700;
    word-wrap: break-word;
    word-break: break-word;
}

.home_case .txtbox div,
.case_list .txtbox div {
    margin: 10px 0 0 0;
}

.home_case .txtbox div span,
.case_list .txtbox div span {
    display: inline-block;
    padding: 1px 6px 1px;
    border: 1px solid rgba(4, 106, 118, 0.5);
    border-radius: 0.4rem;
    margin: 0 6px 6px 0;
    color: #046A76;
    font-size: 1.2rem;
    letter-spacing: 0;
}




.home_news dl {
    max-width: 800px;
    padding: 0 20px;
    height: 300px;
    border: 1px solid #CCC;
    margin: 0 auto;
    overflow-y: scroll;
}

.home_news dt {
    display: flex;
    align-items: flex-start;
    padding: 26px 10px 4px;
}

.home_news dt span {
    flex-shrink: 0;
    display: inline-block;
    margin: 2px 1em 0 0;
    color: #808080;
    font-size: 1.4rem;
}

.home_news dt p {
    width: 100%;
    color: #003F48;
    font-size: 1.8rem;
}

.home_news dt img {
    display: inline-block;
    margin: -4px 0 0 20px;
}

.home_news dd {
    padding: 4px 10px 20px;
    border-bottom: 1px dashed rgba(4, 106, 118, 0.3);
    word-break: break-word;
    word-break: break-all;
}


.home_about {
    background: url(../img/cmn_bg_bottom.png) no-repeat center bottom / 100%,
                url(../img/cmn_bg_patt.svg) repeat center;
}

.home_about > div > ul {
    display: flex;
    justify-content: space-between;
    margin: 0 0 40px 0;
}

.home_about > div > ul li {
    width: 32%;
}

.home_about h3,
.home_propo h3 {
    margin: 0 0 30px 0;
    color: #046A76;
    font-size: 3.6rem;
    letter-spacing: 0.1em;
    text-align: center;
}

.home_about > div > p,
.home_propo > div > p {
    margin: 0 0 40px 0;
    font-size: 1.6rem;
    line-height: 1.7;
    text-align: center;
}

.home_about_flow .pc {
    display: block;
    margin: 0 auto 50px;
}

.home_about_flow .sp {
    display: none;
}


.home_propo_paint {
    padding: 40px 50px 40px;
    border: 2px solid #046A76;
    border-radius: 1.0rem;
    margin: 0 0 70px 0;
}

.home_propo_paint ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.home_propo_paint li {
    width: 47%;
}

.home_propo_paint img {
    display: block;
    margin: 0 0 20px 0;
    border-radius: 0.5rem;
}

.home_propo_paint h5 {
    margin: 0 0 14px 0;
    border-radius: 0.4rem;
    text-align: center;
    color: rgba(4, 106, 118, 0.7);
    font-size: 2.0rem;
    letter-spacing: .1em;
}

.home_propo_paint p {
    font-size: 1.4rem;
}








.home_propo_service ul {
    display: flex;
    justify-content: space-between;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
}

.home_propo_service li {
    position: relative;
    width: 300px;
    height: 300px;
    margin: 0 0 30px 0;
    border-radius: 0.5rem;
    overflow: hidden;
}

.home_propo_service li::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/home_service_okugai.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.home_propo_service .okugai::before {
    background-image: url(../img/home_service_okugai.jpg);
}

.home_propo_service .shitsunai::before {
    background-image: url(../img/home_service_shitsunai.jpg);
}

.home_propo_service .bousui::before {
    background-image: url(../img/home_service_bousui.jpg);
}

.home_propo_service .kasetsu::before {
    background-image: url(../img/home_service_kasetsu.jpg);
}

.home_propo_service .caulking::before {
    background-image: url(../img/home_service_caulking.jpg);
}

.home_propo_service .kanban::before {
    background-image: url(../img/home_service_kanban.jpg);
}

.home_propo_service li div {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 120px;
    padding: 16px 6px 0;
    text-align: center;
    background: rgba(53, 125, 84, 0.8);
}

.home_propo_service .okugai div {
    background: rgba(53, 125, 84, 0.8);
}

.home_propo_service .shitsunai div {
    background: rgba(175, 47, 56, 0.8);
}

.home_propo_service .bousui div {
    background: rgba(65, 100, 140, 0.8);
}

.home_propo_service .kasetsu div {
    background: rgba(128, 128, 128, 0.8)
}

.home_propo_service .caulking div {
    background: rgba(126, 74, 123, 0.8);
}

.home_propo_service .kanban div {
    background: rgba(167, 135, 8, 0.8);
}

.home_propo_service h5 {
    margin: 0 0 6px 0;
    color: #FFF;
    font-size: 2.5rem;
    letter-spacing: .15em;
}

.home_propo_service p {
    color: #FFF;
    line-height: 1.6;
    letter-spacing: .02em;
}



/* case /////////////////////////////////////////////////////////////////////////////////////////// */
.case_mainimg {
    background-image: url(../img/case_mainimg.jpg);
}


.case_article {
    padding: 50px 0 130px;
}

.case_article > span,
.case_article > h2,
.case_article > dl,
.case_article .comment {
    max-width: 900px;
}

.case_article > span {
    display: block;
    margin: 0 auto 28px;
    color: #808080;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    text-align: right;
}

.case_article > dl {
    margin: 56px auto 36px;
}

.case_article > dl div {
    display: flex;
    align-items: flex-start;
    margin: 0 0 14px 0;
}

.case_article > dl dt {
    flex-shrink: 0;
    display: inline-block;
    padding: 4px 10px;
    margin: -.3em .8em 0 0;
    border-radius: 0.4rem;
    background: #046A76;
    color: #FFF;
}

.case_article > dl dd {
    width: 100%;
}

.case_article > dl dd span {
    display: inline-block;
    padding: 1px 6px 1px;
    border: 1px solid rgba(4, 106, 118, 0.5);
    border-radius: 0.4rem;
    margin: 0 6px 6px 0;
    color: #046A76;
    font-size: 1.2rem;
    letter-spacing: 0;
}

.case_article .comment {
    margin: 0 auto 36px;
}

.case_article .change {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 50px 0;
}

.case_article .before {
    flex-shrink: 0;
    width: 30%;
    text-align: center;
}

.case_article .before img,
.case_article .after img {
    border-radius: 0.5rem;
}

.case_article .before span,
.case_article .after span {
    display: block;
    margin: 26px 0 0 0;
}

.case_article .arr {
    flex-shrink: 0;
    width: 7%;
    margin: 100px 12px 0;
}

.case_article .after {
    width: 100%;
    text-align: center;
}

.case_article .gallery {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 0 60px 0;
}

.case_article .gallery li {
    width: 30%;
    margin: 0 0 40px 0;
}

.case_article .gallery::after {
    content: '';
    display: block;
    width: 30%;
}

.case_article .gallery a {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding: 67% 0 0 0;
    border-radius: 0.5rem;
    margin: 0 0 24px 0;
    overflow: hidden;
}

.case_article .gallery img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0,-50%);
    width: 100%;
    height: auto;
    max-width: none;
}

.case_article .gallery p {
    text-align: center;
}

.case_article .pager {
    display: flex;
    justify-content: center;
    align-items: center;
}

.case_article .pager .prev,
.case_article .pager .back,
.case_article .pager .next {
    width: 200px;
}

.case_article .pager .prev a,
.case_article .pager .back a,
.case_article .pager .next a {
    display: block;
    width: 100%;
    padding: 12px 0 11px;
    border-radius: 3.2rem;
    font-size: 1.8rem;
    text-align: center;
}

.case_article .pager .prev a,
.case_article .pager .next a {
    color: #046A76;
    border: 1px solid #046A76;
    background-color: #FFF;
    background-repeat: no-repeat;
}

.case_article .pager .back a {
    color: #FFF;
    background-color: #4F979F;
    background-repeat: no-repeat;
}

.case_article .pager .back {
    margin: 0 9%;
}

.case_article .pager .prev a {
    background-image: url("../img/case_arr_g_l.svg");
    background-position: left 1.4em center;
}

.case_article .pager .back a {
    background-image: url("../img/cmn_btn_arr.svg");
    background-position: right 1.4em center;
}

.case_article .pager .next a {
    background-image: url("../img/case_arr_g_r.svg");
    background-position: right 1.4em center;
}



/* company /////////////////////////////////////////////////////////////////////////////////////////// */
.company_mainimg {
    background-image: url(../img/company_mainimg.jpg);
}

.company_msg_card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.company_msg_card p {
    width: 100%;
    line-height: 1.6;
}

.company_msg_card p > span {
    display: block;
    margin: 34px 26px 0 0;
    text-align: right;
    font-size: 1.7rem;
}

.company_msg_card p > span span {
    font-size: 1.5rem;
    vertical-align: middle;
}

.company_msg_card p > span {
    display: block;
}

.company_msg_card img {
    flex-shrink: 0;
    display: block;
    width: 240px;
    border-radius: 0.5rem;
    margin: 0 0 0 30px;
}

.company_outline a {
    display: block;
}

.company_history dt,
.company_results dt {
    width: 250px;
}

.company_results dd {
    display: flex;
    align-items: center;
    padding: 20px 16px 20px 20px;
}

.company_results dd span {
    display: inline-block;
    margin: 0 6% 0 0;
    color: rgba(51, 51, 51, 0.8);
    font-size: 1.4rem;
}

.company_access > div > div {
    position: relative;
    height: 300px;
    border-radius: 0.5rem;
    margin: 0 0 44px 0;
    overflow: hidden;
}

.company_access > div > div > iframe{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.company_access address {
    margin: 0 0 26px 0;
    text-align: center;
    font-style: normal;
    font-size: 2.0rem;
}

.company_access dl div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 10% 12px;
}

.company_access dt {
    flex-shrink: 0;
    width: 250px;
    padding: 6px 0 4px;
    margin: 0 20px 4px 0;
    border-radius: 1.5rem;
    color: #FFF;
    background: #046A76;
    text-align: center;
}

.company_access dd {
    width: 100%;
}



/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
.contact_mainimg {
    background-image: url(../img/contact_mainimg.jpg);
}

.contact_info section {
    max-width: 700px;
    padding: 34px 50px 18px;
    border-radius: 0.5rem;
    margin: 0 auto;
    background: #E6F0F1;
}

.contact_info h3 {
    margin: 0 0 .6em 0;
    color: #003F48;
    font-size: 3.6rem;
    text-align: center;
}

.contact_info h3 > span {
    display: block;
    font-size: 2.8rem;
    letter-spacing: 0.1em;
}

.contact_info h3 span span {
    display: inline-block;
    margin: 0 .4em 0 0;
    font-size: 2.4rem;
}

.contact_info dl {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 0 20px 0;
}

.contact_info dl div {
    display: flex;
    align-items: flex-start;
    width: 47%;
}

.contact_info dt {
    flex-shrink: 0;
    display: inline-block;
    padding: 1px 6px;
    margin: 5px 8px 0 0;
    background: #046A76;
    color: #FFF;
    font-size: 1.4rem;
    border-radius: 0.4rem;
}

.contact_info dd {
    width: 100%;
}

.contact_info dd span,
.contact_info dd a {
    font-size: 2.4rem;
}

.contact_info dd a {
    pointer-events: none;
}

.contact_info dd small {
    display: block;
    margin: -2px 0 0 0;
    font-size: 1.2rem;
    letter-spacing: 0;
}

.contact_info address {
    text-align: center;
    font-style: normal;
}

.conotact_wrapper ~ footer {
    background: url(../img/cmn_bg_patt.svg) repeat center;
}

.sub_main_wrapper > section.contact_form {
    padding: 80px 0 40px;
    background: url(../img/cmn_bg_top.png) no-repeat center top / 100%,
                url(../img/cmn_bg_patt.svg) repeat center;
}

.contact_form .cmn_maxbox {
    max-width: 900px;
}

.contact_form > div > p {
    margin: 0 0 32px 0;
}

.contact_form_table {
    margin: 0 0 60px 0;
}

.contact_form_table dt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 250px;
    font-size: 1.5rem;
    letter-spacing: 0;
}

.contact_form_table dt span {
    display: inline-block;
    padding: 3px 4px;
    border-radius: 0.4rem;
    margin: -2px 0 0 0;
    color: #FFF;
    font-size: 1.2rem;
    line-height: 1;
    background: #C1272D;
}


.contact_form_table #fax,
.contact_form_table #toiawase {
    width: 300px;
}

.contact_form_table #addr,
.contact_form_table #tel,
.contact_form_table #name_kana,
.contact_form_table #username {
    width: 100%;
}

.contact_form_table #zip {
    width: 200px;
}

.contact_form_table #mail1,
.contact_form_table #mail0 {
    width: 100%;
    max-width: 520px;
}

.contact_form_table #mail0,
.contact_form_table #zip {
    display: inline-block;
    margin: 0 0 14px 0;
}

.contact_form_table #mail1 + span {
    display: inline-block;
    margin: 6px 0 0 0;
    color: #C1272D;
    letter-spacing: 0;
}


.contact_form_table #message {
    width: 100% !important;
    height: 200px !important;
}

#contactButton {
    text-align: center;
}

/* mfp */
#contactButton button[type="reset"],
#contactButton button[type="submit"] {
    width: 200px;
    padding: 12px 0 11px;
    border-radius: 3.2rem;
    outline: none;
    font-size: 1.8rem;
}

#contactButton button[type="reset"] {
    margin: 0 5% 0 0;
    background: #FFF;
    color: #046A76;
    border: 1px solid #046A76;
}

#contactButton button[type="submit"] {
    border: 0; /* mfp上書き */
    margin: 0 0 0 5%;
    color: #FFF;
    background-color: #4F979F;
    background-image: url("../img/cmn_btn_arr.svg");
    background-repeat: no-repeat;
    background-position: right 1.4em center;
}

div#mfp_overlay {
  color: #333; /* mfp上書き */
}
/* /end */



/* faq /////////////////////////////////////////////////////////////////////////////////////////// */
.faq_mainimg {
    background-image: url(../img/faq_mainimg.jpg);
}

.faq_list dt {
    display: flex;
    align-items: flex-start;
    margin: 0 0 4px 0;
}

.faq_list dt span {
    flex-shrink: 0;
    display: inline-block;
    margin: -6px 8px 0 0;
    color: #003F48;
    font-size: 2.4rem;
}

.faq_list dt p {
    width: 100%;
    color: #046A76;
    font-size: 1.6rem;
}

.faq_list dd {
    padding: 0 0 0 26px;
    margin: 0 0 38px 0;
}





/* recruit /////////////////////////////////////////////////////////////////////////////////////////// */
.recruit_mainimg {
    background-image: url(../img/recruit_mainimg.jpg);
}

.recruit_contact_card {
    max-width: 600px;
    padding: 22px 28px;
    margin: 0 auto;
    border: 1px solid #046A76;
    border-radius: 0.5rem;
    background: url(../img/recruit_contact_document.png) no-repeat right top / auto 100%;
}

.recruit_contact_card > div {
    width: 60%;
}

.recruit_contact_card p {
    margin: 0 0 20px 0;
}

.recruit_contact_card dl {
    display: flex;
    align-items: center;
    margin: 0 0 22px 0;
}

.recruit_contact_card dt {
    display: inline-block;
    border-radius: 0.4rem;
    padding: 1px 6px;
    margin: 0 8px 12px 0;
    color: #FFF;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    background: #046A76;
}

.recruit_contact_card dd a {
    font-size: 3.2rem;
    letter-spacing: 0.02em;
    pointer-events: none;
}

.recruit_contact_card dd span {
    display: block;
    margin: -8px 0 0 0;
    font-size: 1.2rem;
    letter-spacing: 0;
}




/* service /////////////////////////////////////////////////////////////////////////////////////////// */
.service_mainimg {
    background-image: url(../img/service_mainimg.jpg);
}


.service_category {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 630px;
    padding: 80px 0 10px;
    margin: 0 auto -30px;
}

.service_category li {
    width: 120px;
    margin: 0 0 10px 0;
    border-radius: 4.0rem;
    overflow: hidden;
}

.service_category a {
    display: block;
    padding: 8px 0 6px;
    color: #FFF;
    background: #357D54;
    text-align: center;
}

.service_category a[href="#okugai"] {
    background: #357D54;
}

.service_category a[href="#okunai"] {
    background: #AF2F37;
}

.service_category a[href="#bousui"] {
    background: #41648C;
}

.service_category a[href="#other"] {
    background: #808080;
}

.service_wrapper > section:not(.sub_mainimg) {
    padding: 32px 0 32px;
}

.service_okugai > div > p,
.service_okunai > div > p,
.service_bousui > div > p {
    max-width: 900px;
    margin: 0 auto 50px;
}

.service_okugai ul,
.service_okunai ul,
.service_bousui ul,
.service_other ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.service_okugai li,
.service_okunai li,
.service_bousui li,
.service_other li {
    width: 30%;
    margin: 0 0 28px 0;
}

.service_okugai li a,
.service_okunai li a,
.service_bousui li a,
.service_other li a {
    display: block;
    width: 100%;
    border-radius: 0.5rem;
    overflow: hidden;
}

.service_okugai ul::after,
.service_okunai ul::after,
.service_bousui ul::after,
.service_other ul::after {
    content: '';
    display: block;
    width: 30%;
}

.service_wrapper h3 {
    margin: 16px 0 0 0;
    font-size: 2.0rem;
    text-align: center;
    color: #357D54;
}

.service_wrapper .service_okugai h2 {
    background: url(../img/service_tit_paint_okugai.png) no-repeat center / 100% auto;
}

.service_okugai h3 {
    color: #357D54;
}

.service_wrapper .service_okunai h2 {
    background: url(../img/service_tit_paint_okunai.png) no-repeat center / 100% auto;
}

.service_okunai h3 {
    color: #AF2F37;
}

.service_wrapper .service_bousui h2 {
    background: url(../img/service_tit_paint_bousui.png) no-repeat center / 100% auto;
}

.service_bousui h3 {
    color: #41648C;
}

.service_wrapper .service_other h2 {
    background: url(../img/service_tit_paint_other.png) no-repeat center / 100% auto;
}

.service_other h3 {
    margin: 16px 0 22px;
    color: #808080;
}

.service_other h3 span {
    display: block;
    border-bottom: 1px solid #808080;
    color: #808080;
}

.service_other h3 span::before,
.service_other h3 span::after {
    background: #808080;
}




.service_case_card {
    max-width: 600px;
    padding: 40px 28px 28px;
    margin: 0 auto;
    border: 1px solid #046A76;
    border-radius: 0.5rem;
    background: url(../img/service_case_bg.jpg) no-repeat right top / auto 100%;
}

.service_case_card > div {
    width: 60%;
}

.service_case_card p {
    margin: 0 0 40px 0;
}







