@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
02.news
02-01.news_detail
03.business
03-01.business_page
03-02.bridge
03-03.scaffolding
03-04.inspection
03-05.maintenance
03-06.repair
03-07.transport
04.company
05.recruit
06.entry_page
06-01.entry
06-02.entry_confirm
06-02.entry_thanks
07.contact_page
07-01.contact
07-02.contact_confirm
07-03.contact_thanks
08.csr
--------------------*/

@media only screen and (max-width:1024px){
/*----------
01.top
----------*/
#top #news_area .cnt_g .news_list .news_item {
display: flex;
align-items: flex-start;
justify-content: flex-start;
padding: 25px 30px;
border-bottom: solid #CCCCCC 1px;
}

#top #news_area .cnt_g .news_list .news_item .info_box .date {
min-width: 105px;
}

#top #news_area .cnt_g .news_list .news_item .info_box .cat_list {
min-width: 105px;
}

#top #business_area .cnt_g .cnt_box .cnt_img {
border-radius: 10px;
overflow: hidden;
margin-bottom: 10px;
position: relative;
}

#top #business_area .cnt_g .cnt_box .title {
font-size: 17px;
line-height: 24px;
font-weight: 700;
text-align: center;
}

/*----------
02.news
----------*/
#news #cnt_area01 .icon {
max-width: 68.4px;
top: -100px;
}


#news #cnt_area01 .cnt_g .news_list .news_item {
display: flex;
align-items: flex-start;
justify-content: flex-start;
padding: 25px 30px;
border-bottom: solid #CCCCCC 1px;
}

#news #cnt_area01 .cnt_g .news_list .news_item .info_box .date {
min-width: 105px;
}

#news #cnt_area01 .cnt_g .news_list .news_item .info_box .cat_list {
min-width: 105px;
}

/*----------
02.business
----------*/
#business #cnt_area01 .icon {
max-width: 108px;
top: -105px;
}

#business #cnt_area01 .cnt_g .cnt_box .cnt_img {
border-radius: 10px;
overflow: hidden;
margin-bottom: 10px;
position: relative;
}

#business #cnt_area01 .cnt_g .cnt_box .title {
font-size: 17px;
line-height: 24px;
font-weight: 700;
text-align: center;
}

/*----------
04.company
----------*/
#company #philosophy_area .icon {
max-width: 144px;
top: -100px;
}

#company #about_area .cnt_g dl dt {
font-size: 15px;
line-height: 24px;
font-weight: 700;
min-width: 180px;
background: #F8F8F8;
border-right: solid #CCCCCC 1px;
padding: 20px;
}

#company #about_area .cnt_g dl dd {
font-size: 15px;
line-height: 24px;
padding: 20px;
width: 100%;
}


/*----------
05.recruit
----------*/
#recruit #cnt_area01 .icon {
max-width: 162px;
top: -80px;
}

/*----------
06.entry_page
----------*/
.entry_page #cnt_area01 .icon {
max-width: 162px;
top: -80px;
}

/*----------
07.contact_page
----------*/
.entry_page #cnt_area01 .icon {
max-width: 162px;
top: -80px;
}

/*----------
08.csr
----------*/
#csr #cnt_area02 .cnt_g .cnt_box .cnt_img {
max-width: 170px;
margin-right: 30px;
}

#csr #cnt_area02 .cnt_g .cnt_box .cnt_text {
max-width: inherit;
}
}

@media only screen and (max-width:750px){
/*----------
01.top
----------*/
#top #news_area {
padding: 60px 0 80px;
}

#top #news_area .cnt_g .title_ptn03 {
margin-bottom: 20px;
}

#top #news_area .cnt_g .news_list .news_item {
display: block;
padding: 20px;
border-bottom: solid #CCCCCC 1px;
}

#top #news_area .cnt_g .news_list .news_item .info_box {
display: flex;
align-items: center;
justify-content:flex-start;
margin-right: 0;
margin-bottom: 10px;
}

#top #news_area .cnt_g .news_list .news_item .info_box .date {
margin-right: 20px;
}

#top #news_area .cnt_g .btn_ptn01 {
margin: 30px auto 0;
}

#top #business_area {
padding: 0 0 80px;
}

#top #business_area .title_ptn03 {
margin-bottom: 30px;
}

#top #business_area .cnt_g {
display:flex;
align-items: stretch;
justify-content: center;
flex-wrap: wrap;
max-width: 980px;
margin: 0 auto;
}

#top #business_area .cnt_g .cnt_box {
max-width: 320px;
width: 100%;
margin: 0 auto 40px;
padding: 0 10px;
}

#top #business_area .cnt_g .cnt_box .title {
font-size: 16px;
line-height: 22px;
font-weight: 700;
text-align: center;
}

#top #information_area {
padding: 0 0 80px;
}

#top #information_area .cnt_g {
display: block;
max-width: 980px;
margin: 0 auto;
}

#top #information_area .cnt_g .cnt_img {
max-width: 400px;
width: 100%;
position: relative;
border-radius: 10px;
overflow: hidden;
margin: 0 auto;
}

#top #information_area .cnt_g .cnt_text {
max-width: inherit;
width: 100%;
margin: 0 auto 40px;
}

#top #information_area .cnt_g .cnt_text .title_ptn04 {
text-align: left;
margin-bottom: 20px;
}

#top #information_area .cnt_g .cnt_text .text {
font-size: 14px;
line-height: 20px;
margin-bottom: 30px;
}

#top #csr_area {
padding: 0 0 80px;
}

#top #csr_area .cnt_g {
display: block;
max-width: 980px;
margin: 0 auto;
}

#top #csr_area .cnt_g .cnt_text {
max-width: inherit;
width: 100%;
margin-bottom: 40px;
}

#top #csr_area .cnt_g .cnt_text .title_ptn04 {
text-align: left;
margin-bottom: 20px;
}


#top #csr_area .cnt_g .cnt_text .text {
font-size: 14px;
line-height: 20px;
margin-bottom: 30px;
}

#top #csr_area .cnt_g .cnt_img {
max-width: 400px;
width: 100%;
position: relative;
border-radius: 10px;
overflow: hidden;
margin: 0 auto;
}

/*----------
02.news
----------*/
#news #cnt_area01 {
padding: 60px 0 80px;
}

#news #cnt_area01 .icon {
max-width: 53.2px;
top: -80px;
}

#news #cnt_area01 .cnt_g .title_ptn03 {
margin-bottom: 20px;
}

#news #cnt_area01 .cnt_g .news_list {
margin-bottom: 40px;
}

#news #cnt_area01 .cnt_g .news_list .news_item {
display: block;
padding: 20px;
border-bottom: solid #CCCCCC 1px;
}

#news #cnt_area01 .cnt_g .news_list .news_item .info_box {
display: flex;
align-items: center;
justify-content:flex-start;
margin-right: 0;
margin-bottom: 10px;
}

#news #cnt_area01 .cnt_g .news_list .news_item .info_box .date {
margin-right: 20px;
min-width: 0;
}

#news #cnt_area01 .cnt_g .news_list .news_item .info_box .cat_list {
min-width: 0;
}

#news #cnt_area01 .cnt_g .btn_ptn01 {
margin: 30px auto 0;
}

/*----------
02_01.news_detail
----------*/
#news_detail #cnt_area01 {
padding: 60px 0 100px;
}

#news_detail #cnt_area01 .cnt_g .h2_title {
font-size: 20px;
line-height: 28px;
font-weight: 700;
margin-bottom: 30px;
}

/*----------
03.business
----------*/
#business #cnt_area01 {
padding: 70px 0 80px;
}

#business #cnt_area01 .icon {
max-width: 84px;
top: -83px;
}

#business #cnt_area01 .title_ptn03 {
margin-bottom: 30px;
}

#business #cnt_area01 .cnt_g {
display:flex;
align-items: stretch;
justify-content: center;
flex-wrap: wrap;
max-width: 980px;
margin: 0 auto;
}

#business #cnt_area01 .cnt_g .cnt_box {
max-width: 320px;
width: 100%;
margin: 0 auto 40px;
padding: 0 10px;
}

#business #cnt_area01 .cnt_g .cnt_box .title {
font-size: 16px;
line-height: 22px;
font-weight: 700;
text-align: center;
}

/*----------
03-01.business_page
----------*/
.business_page #cnt_area01 {
padding-bottom: 60px;
}

.business_page #cnt_area02 {
padding: 0 0 80px;
}

.business_page #cnt_area02 .cnt_g {
max-width: 800px;
margin: 0 auto 40px;
}

.business_page #cnt_area02 .cnt_g .slider_list .slick_arrow {
max-width: 30px;
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 1;
}

/*----------
04.company
----------*/
#company #philosophy_area {
padding-bottom: 60px;
}

#company #philosophy_area .icon {
max-width: 112px;
top: -75px;
}

#company #message_area {
padding: 0 0 80px;
}

#company #message_area .cnt_g .text .name {
text-align: right;
margin-top: 40px;
display: block;
}

#company #about_area {
padding: 0 0 80px;
}

#company #about_area .cnt_g {
max-width: 790px;
margin: 0 auto;
}

#company #about_area .cnt_g dl {
border: solid #CCCCCC 1px;
}

#company #about_area .cnt_g dl .cnt_item {
border-bottom: solid #CCCCCC 1px;
display: block;
}

#company #about_area .cnt_g dl dt {
font-size: 14px;
line-height: 24px;
font-weight: 700;
min-width: inherit;
width: 100%;
background: #F8F8F8;
border-right: none;
padding: 15px;
}

#company #about_area .cnt_g dl dd {
font-size: 14px;
line-height: 24px;
padding: 15px;
width: 100%;
}

#company #about_area .cnt_g dl .flex_box {
display: block;
margin-bottom: 15px;
}

#company #about_area .cnt_g dl .text {
max-width: 240px;
}

#company #about_area .cnt_g dl iframe {
width: 300px;
height: 225px;
border-radius: 10px;
}

#company #about_area .cnt_g dl .title {
margin-bottom: 15px;
}

#company #about_area .cnt_g dl .img_box {
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
margin-bottom: 0;
}

#company #about_area .cnt_g dl .img_box .cnt_img {
max-width: 270px;
width: 100%;
margin: 0 10px 15px;
}

#company #about_area .cnt_g dl .img_box .cnt_img img {
border-radius: 15px;
}


/*----------
05.recruit
----------*/
#recruit #cnt_area01 .icon {
max-width: 108px;
top: -50px;
}

#recruit #cnt_area01 .cnt_g dl {
margin-bottom: 30px;
}

#recruit #cnt_area01 .cnt_g dl div {
display: flex;
align-items: flex-start;
justify-content: flex-start;
border-bottom: solid #CCCCCC 1px;
padding: 15px 0;
}

#recruit #cnt_area01 .cnt_g dl dt {
font-size: 14px;
line-height: 20px;
font-weight: 700;
min-width: 95px;
}

#recruit #cnt_area01 .cnt_g dl dd {
font-size: 14px;
line-height: 20px;
letter-spacing: 0.04em;
}

#recruit #cnt_area01 .cnt_g .text {
font-size: 14px;
line-height: 24px;
margin-bottom: 40px;
}

#recruit #cnt_area01 .cnt_g .message {
font-size: 17px;
line-height: 24px;
font-weight: 700;
text-align: center;
margin-bottom: 30px;
}

/*----------
06.entry_page
----------*/
.entry_page #cnt_area01 {
padding: 80px 0 100px;
}

.entry_page #cnt_area01 .icon {
max-width: 108px;
top: -50px;
}

.entry_page #cnt_area01 .cnt_g dl {
width: 100%;
margin-bottom: 60px;
}

.entry_page #cnt_area01 .cnt_g dl input {
border: solid #CCCCCC 1px;
width: 100%;
border-radius: 5px;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
line-height: 24px;
padding: 9px 15px;
}

.entry_page #cnt_area01 .cnt_g dl textarea {
border: solid #CCCCCC 1px;
width: 100%;
border-radius: 5px;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
line-height: 24px;
padding: 9px 15px;
max-height: 258px;
}

.entry_page #cnt_area01 .cnt_g .wpcf7 form .wpcf7-response-output {
border: none;
color: #E60013;
font-size: 16px;
line-height: 24px;
font-weight: 500;
text-align: center;
margin: 40px auto 0;
padding: 0;
}

/*----------
06-032.entry_confirm
----------*/
#entry_confirm #cnt_area01 .cnt_g .btn_box {
display: block;
max-width: 300px;
margin: 0 auto;
}

#entry_confirm #cnt_area01 .cnt_g .btn_box .btn01.back {
margin-bottom: 15px;
}

/*----------
06-03.entry_thanks
----------*/
#entry_thanks #cnt_area01 .text_g .title {
font-size: 20px;
line-height: 28px;
font-weight: 700;
text-align: center;
margin-bottom: 25px;
}

#entry_thanks #cnt_area01 .text_g .text {
font-size: 14px;
line-height: 24px;
text-align: center;
margin-bottom: 50px;
}

/*----------
07.contact_page
----------*/
.contact_page #cnt_area01 {
padding: 80px 0 100px;
}

.contact_page #cnt_area01 .icon {
max-width: 108px;
top: -50px;
}

.contact_page #cnt_area01 .cnt_g dl {
width: 100%;
margin-bottom: 60px;
}

.contact_page #cnt_area01 .cnt_g dl input {
border: solid #CCCCCC 1px;
width: 100%;
border-radius: 5px;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
line-height: 24px;
padding: 9px 15px;
}

.contact_page #cnt_area01 .cnt_g dl textarea {
border: solid #CCCCCC 1px;
width: 100%;
border-radius: 5px;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
line-height: 24px;
padding: 9px 15px;
max-height: 258px;
}

.contact_page #cnt_area01 .cnt_g .wpcf7 form .wpcf7-response-output {
border: none;
color: #E60013;
font-size: 16px;
line-height: 24px;
font-weight: 500;
text-align: center;
margin: 40px auto 0;
padding: 0;
}

/*----------
07-02.contact_confirm
----------*/
#contact_confirm #cnt_area01 .cnt_g .btn_box {
display: block;
max-width: 300px;
margin: 0 auto;
}

#contact_confirm #cnt_area01 .cnt_g .btn_box .btn01.back {
margin-bottom: 15px;
}

/*----------
07-03.contact_thanks
----------*/
#contact_thanks #cnt_area01 .text_g .title {
font-size: 20px;
line-height: 28px;
font-weight: 700;
text-align: center;
margin-bottom: 25px;
}

#contact_thanks #cnt_area01 .text_g .text {
font-size: 14px;
line-height: 24px;
text-align: center;
margin-bottom: 50px;
}

/*----------
08.csr
----------*/
#csr #cnt_area01  {
padding-bottom: 60px;
}

#csr #cnt_area02 {
padding: 0 0 80px;
}

#csr #cnt_area02 .cnt_g .cnt_box {
display: block;
margin-bottom: 50px;
}

#csr #cnt_area02 .cnt_g .cnt_box .cnt_img {
max-width: 150px;
margin: 0 auto 15px;
}

#csr #cnt_area02 .cnt_g .cnt_box .cnt_text {
max-width: inherit;
}
}

@media only screen and (max-width:450px){
.business_page #cnt_area02 .cnt_g .slider_list {
max-width: 300px;
margin: 0 auto;
}
}
