@charset "utf-8";
/* CSS Document */

body {font-size: 14px;}
.inner {max-width: 96%;}
.sp {display: block;}
.sp_visiable {display: inline;}
.pc {display: none;}
.sp_wrap::before {content: "\A";white-space: pre;}

.fs24 {font-size: 1.375em;}

/****** 見出し ********/
h2.page_ttl {font-size: 3.75rem;letter-spacing: 0.05em;margin-top: -10px;}
h2.page_ttl span {font-size: 0.875rem;letter-spacing: 0.02em;}
.img_ttl h3 {font-size: 2.75rem;letter-spacing: 0.08em;margin: 0 0 0 0;}
.img_ttl h3 span {font-size: 0.875rem;letter-spacing: 0.02em;}
.img_ttl h3 span.small {font-size: 2.0rem;}
h3.v_line::before {height: 1.25em;margin-top: -0.25em;}

/********** header ************/
header {padding: 0 0 8px 0;}
header h1.left {float: none;}
header .logo {width: 76px;display: block;margin-left: auto;margin-right: auto;}
header .right_container {width: 100%;float: none;}

.decrypt {font-size: 0.6875em;}
header .decrypt {text-align: center;padding-bottom: 0;}

header #access_btn, header #contact_btn {display: none;}
header #access_btn .fa, header #contact_btn .fa {font-size: 1.25rem;}
.zdo_drawer_button {display: block;}
header ul#nav li {width: 96%;display: block;margin-left: auto;margin-right: auto;font-size: 1.0em;padding: 0.5em 0;}
ul#nav li:last-of-type {margin-right: auto;}

body#home #nav_home, body#company #nav_company, body#service #nav_service, body#contact #nav_contact {
border-top: 3px solid #8FC846;
}

ul#nav li a {display: inline-block;}
ul#nav li a .fa {display: inline-block;color: #8FC846;padding-right: 0.5em;vertical-align:middle;font-size: 1.5em;}
ul#nav li a .fa-home {font-size: 1.8125em;}
ul#nav li a .fa-building {padding-left: 0.2em;padding-right: 0.7em;}
ul#nav li a .fa-envelope {padding-left: 0.2em;padding-right: 0.6em;}

/********** 共通 ************/
.page_ttl_img {width: 96%;height: 60vh;min-height: 60vh;display: block;margin-left: auto;margin-right: auto;float: none;}
.page_ttl .heading {position: absolute;top: 28%;left: 2%;font-weight: 700;max-width: 100%;}
.page_ttl .heading p.eng {font-size: 2.40em;background-color: rgba(255,255,255,0.8);padding: 4px 6% 4px 2%;display: inline-block;white-space: normal;margin: 0;}
.page_ttl .heading .catch {font-size: 1.1875em;background-color: rgba(255,255,255,0.8);display: inline-block;padding: 4px 4% 4px 2%;}

section.aircle_top {padding-top: 20px;}

h3.ttl {font-size: 1.5rem;}
h3.ttl .sub_ttl {font-size: 0.75rem;padding-bottom: 0.5em;}
h4.ttl_bar {font-size: 1.25rem;padding: 0.3em 2%;}

.text_box {font-size: 0.95em;}
.more {display: block;margin-left: auto;margin-right: auto;margin-top: 1.0em;font-size: 0.875em;}
.angle_bottom {width: 90px;margin: 2em auto 2em auto;}
.graphic01 .fit {width: 100%;height: 35vh;}

/********** top ************/
section#top_service {padding-bottom: 10px;}
div.top_category_box {margin: 30px auto;}
div.top_category_box span.h_line {display: block;width: 60px;height: 2px;margin-bottom: 0.5em;}
div.top_category_box span.yellow {background-color: #F7E009;}
div.top_category_box span.green {background-color: #8FC846;}
dl.top_category {width: 100%;margin-left: auto;margin-top: 40px;}
dl.top_category dt {font-size: 1.5em;margin-bottom: 1.0em;text-align: center;}
.top_category_img {width: 90%;display: block;margin-left: auto;margin-right: auto;float: none;}
section#relation {padding-bottom: 20px;}
section#news {padding-bottom: 40px;}
section#relation .inner dl.half_i {width: 90%;margin-left: auto;margin-right: auto;float: none;padding: 1em 4%;}
dl.top_category dd .more {margin-top: 2.0em;margin-bottom: 2.0em;}

section#relation .inner dl.half_i dt {font-size: 1.25em;padding-bottom: 1em;padding-top: 0.5em;}
section#relation .inner {padding: 10px 0 30px 0;}
section#relation h3.ttl {font-size: 2.4em;margin-top: 0.5em;}

section#news dl.half_i {width: 93%;padding: 0.8em 2.5%;}
section#news dl.half_i:nth-of-type(odd) {float: none;}
section#news dl.half_i:nth-of-type(even) {float: none;}
section#news dl.half_i dd {font-size: 0.875em;}

/********** contact_block ************/
section.contact_block div.bg_color01 {padding: 10px 0 30px 0;}
section.contact_block dl.half_i {width: 96%;margin-left: auto;margin-right: auto;float: none;}
section.contact_block dl.half_i {border-bottom: 3px solid #050F12;}

dl.tel p.tel_btn, dl.mail a.mail_btn {font-size: 1.375em;padding: 0.5em 0;}
dl.tel {margin-bottom: 2.0em;}
dl.tel p.tel_btn {font-size: 1.5em;padding: 0.5em 0;}
section.contact_block h3.ttl .sub_ttl em {font-size: 0.675rem;}

/********** company ************/
#company_top .heading p.eng {font-size: 2.375em;padding: 1px 12% 1px 12%;}
#company_top .heading .catch {font-size: 1.425em;padding: 1px 12% 1px 12%;}

dl.outline {width: 100%;float: none;}
dl.outline dt {width: 7em;padding: 0.8em 0 0.8em 0.5em;}
dl.outline dd.right {width: calc(100% - 8.5em);padding: 0.8em 0;}
div#map h4.ttl_bar {font-size: 1.375rem;padding: 0.2em 2%;}
div#map h4.ttl_bar .fa-map-marker {font-size: 1.5rem;}

div.map_container iframe {height: 360px;}

div#map div.map_container {width: 100%;float: none;margin-bottom: 1em;}
/*#about_us dl.outline:nth-of-type(2) {margin-top: -0.9em;}*/
.map_container .img_box img.fit {height: 260px;}
.map_container .half_i {width:100%;}
.map_container .left,.map_container .left {float: none;}
.map_container .img_box {margin-top: 1em;}

.map_container .img_box img.kawasimo_img01, .map_container .img_box img.kawasimo_img02, .map_container .img_box img.kawasimo_img03{ width: 100%; margin-block-end: 0.5em;}


/********** service ************/
#service_top .heading p.eng {font-size: 2.375em;padding: 1px 20% 1px 12%;}
#service_top .heading .catch {font-size: 1.425em;padding: 1px 12% 1px 12%;}

div.service_ttl img.fit {height: 25vh;}
div.service_ttl .ttl_container {top: 4%;}
div.service_ttl h3 {font-size: 1.75rem;}
div.service_ttl h3 span {font-size: 1.125rem;}
div.contetns_box {margin-top: -40px;padding-bottom: 20px;display: block;}
div.contetns_box div.text_box {width: 92%;padding: 3% 4%;}
div.contetns_box img.half {width: 90%;display: block;margin-left: auto;margin-right: auto;}
section#car_port .inner_l,section#garden .inner_l, section#gate .inner_l, section#reform .inner_l,section#snow_removing .inner_l {
margin-bottom: 30px;
}
body#service section.contact_block div.bg_color01 {padding: 5px 0 0 0;}

/********** disposal************/
section#about_disposal div.contetns_box {padding-bottom: 0;}
section#about_disposal div.contetns_box img.half {width:100%;}
section#disposal_service {padding: 0 0 5em 0;}
section#disposal_service figure.disposal_category {width: 96%; margin: 2em auto 0 auto; float: none;}
section#disposal_service figure.disposal_category:last-of-type {margin-right: auto}
section#disposal_service figure.disposal_category img {max-width: 60vw;}
section#disposal_service figure.disposal_category figcaption {font-size: 1.125em;}
/********** link ************/
#link_top .heading p.eng {font-size: 2.375em;padding: 1px 24% 1px 12%;}
#link_top .heading .catch {font-size: 1.425em;padding: 1px 12% 1px 12%;}

div.link_container dl.half_i {width: 100%;}
div.link_container dl:nth-of-type(odd) {float: none;}
div.link_container dl:nth-of-type(even) {float: none;}
div.link_container dl dt {font-size: 0.95em;margin-bottom: 0.8em;font-weight: 500;}
div.link_container dl dt .fa-link {font-size: 1.375em;padding-right: 0.3em;}
div.link_container dl dd {font-size: 0.75em;margin-bottom: 1.6em;}

/********** construction ************/
#construction_top .heading p.eng {font-size: 2.375em;padding: 1px 12% 1px 12%;}
#construction_top .heading .catch {font-size: 1.425em;padding: 1px 12% 1px 12%;}
section#example .half_i {float: none;width: 100%;}
section#example dl.construction_example{margin-top: 0.85em;}
section#example div.h_line {margin-bottom: 0em;}

dl.construction_example {padding-bottom: 0;}
h3.mt16 {margin-top: 1.2em;}

section#example dl.category_select {display: block;margin-bottom: 1.5em;}
section#example dl.category_select:first-of-type {margin-top: 0.25em;}
section#example dl.category_select dt,
section#example dl.category_select dd {display: block;}
section#example dl.category_select dt{font-size: 1.09375em; width: 100%;}
section#example dl.category_select dd {border-left: none;padding: 0 0 0.25em 0;}
section#example dl.category_select dd a {padding: 0.3em 0.75em; margin: 0.7em 0.5em 0.2em 0; font-size: 0.875em;}
section#example ul.page_link {font-size: 1em; margin:1.5em auto 2em auto; padding:0; text-align: center;}
section#example ul.page_link li {display: inline-block; margin:0 1.5vw 0 0; padding: 0.15em 0.5em;}
section#example div.page_link_line {margin-top: 2em;}

/********** contact ************/
#contact_top .heading p.eng {font-size: 2.375em;padding: 1px 20% 1px 12%;}
#contact_top .heading .catch {font-size: 1.425em;padding: 1px 12% 1px 12%;}
section#contact_form form input[type=submit] {width: 80%;margin: 2em auto 50px auto;height: 42px;font-size: 1.25em;}
form a.back {width:40%;font-size:1.25em;}
form a.post {width:40%;font-size:1.25em;}

/********** airtcle ************/
.airtcle_bottom_line {margin: 3em auto 0em auto;}
body#service .airtcle_bottom_line {margin: 1em auto 0em auto;}

/********** footer ************/
footer ul#nav li {margin-right: 0.6em;font-size: 0.75em;}
ul#nav li a {padding: 0.2em 0.2em;}
footer a.logo_btn {width: 140px;max-width: 140px;font-size: 1.375em;font-weight: 500;margin-bottom: 0;}
.f_logo {margin-left: auto;margin-right: auto;display: block;width: 64px;padding-right: 0;padding-bottom: 0.3em;}

p.copy {font-size: 0.75em;padding: 2em 0 0.5em 0;}
