@charset "utf-8";
/*=============================
	Sub(Lower)Page setting
===============================*/
.subVisual{
    padding:100px 0;
    position: relative;
    display: flex;
    width: 100%;
    box-sizing: border-box;
    }
.subVisual::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 50%;
    background: #0F692A;
    top: 27%;
    left: 0;
    right: 0;
    z-index: -1;
}
.subVisual h1{
    width:96%;
	max-width: 1200px;
    margin: auto;
    padding: 6% 0;
    box-sizing: border-box;
    color: #fff;
    font-size: 4.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    }
.subVisual .en{
    display: block;
    font-size: 2.4rem;
    font-weight: 400;
    text-transform: uppercase;
    }
.subVisual figure{
    position: absolute;
    top: 64px;
    right: 0;
    width: 50%;
    padding: 0;
    margin: 0;
    text-align: right;
    }
@media all and (max-width: 896px) {
.subVisual h1{
    padding: 6% 0;
    font-size: 3.0rem;
    letter-spacing: 0.05em;
    }
.subVisual .en{
    font-size: 2.0rem;
    }   
.subVisual figure{
    width: 40%;
    }  
}

@media all and (max-width: 540px) {
.subVisual{
    padding:46px 0 0;
    position: static;
    display: block;
    width: 100%;
    background: #0F692A;
    }
.subVisual::after{
    position: static;
    display: none;
}
.subVisual h1{
    padding: 6% 0;
    font-size: 2.8rem;
    }
.subVisual .en{
    font-size: 2.0rem;
    }
.subVisual figure{
    position: static;
    width: 100%;
    }    
} 


/* bread_crumb
---------------------------------------------------------------------------*/
.bread_crumb_list {
	padding:5px 0 10px;
	width:100%;
	margin:0 auto 0;
	}
ul.bread_crumb {
	text-align:left;
	margin:0 auto;
	width:96%;
	max-width: 1200px;
	}
.bread_crumb li {
	display:inline;
	color:#222;
	font-size:0.8em;
	font-weight:500;
	}
.bread_crumb .material-icons{vertical-align:-0.2em !important;}
.bread_crumb li:after {
    content : '>';
    padding-left:10px;
    margin-right:10px;
	}
.bread_crumb li:last-child:after {content : '';}
.bread_crumb li a {color:#222;text-decoration:none;}
.bread_crumb li a:hover{text-decoration:none;}
.bread_crumb li.current {}
.bread_crumb li .en{text-transform: uppercase;}
@media all and (max-width: 896px) {}
@media all and (max-width: 540px) {}


/* subcon
---------------------------------------------------------------------------*/
#main .subcon{padding: 0 0 90px}
#main .subcon .content{max-width: 1200px;}
#main .subcon figure{padding: 0; margin: 0;}

#main .subcon section{padding: 100px 0;}
#main .subcon .kadomaru{border-radius: 20px;}
#main .subcon .bg01{background: #0F692A;color: #fff;padding: 0 0 100px;}
#main .subcon .bg02{background: #0F692A;color: #fff;}
#main .subcon .mt20{margin-top: 20px;}
#main .subcon .mt80{margin-top: 80px;}
#main .subcon .mt10{margin-top: 100px;}
#main .subcon p{
	font-size: 1.6rem;
	letter-spacing: 0.075em;
	line-height: 2.0;
    font-weight: 600;
	}
#main .subcon img{width: auto; max-width: 100%;}
#main .subcon .cen{text-align: center;}
#main .subcon ul.ullist01{margin:20px 0px;}
#main .subcon ul.ullist01 li{
	margin:0px 0px 0.1em 1em;
	line-height: 2.0;
	list-style:disc;
	font-size: 1.6rem;
	letter-spacing: 0.075em;
    font-weight: 600;
	}
#main .subcon .ttl-01{
    text-align: center;
    margin-bottom: 40px;
    }

#main .subcon .ttl-01 .en{line-height: 1.2;}
#main .subcon .bg01 .ttl-01 .en{line-height: 0.8;}
#main .subcon .bg01 .ttl-01 .jp{line-height: 1.5;}

#main .subcon .ttl-03{
    font-size: 3.3rem;
    line-height: 1.5;
    margin-bottom: 40px;
    letter-spacing: 0.025em;
    position: relative;
    }
#main .subcon .ttl-03 span.en,
#main .subcon .ttl-03_en span{
    font-size: 2.0rem;
    letter-spacing: 0;
    padding: 2px 15px;
    background: #0F692A;
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
    }
#main .subcon .ttl-03_en{margin-bottom: 10px;}

#main .subcon .bg02 .ttl-03_en span{background: #333;}

#main .subcon .sub_con_box{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap:         wrap;
    justify-content:space-between;
    }
#main .subcon .sub_con_box .sub_con_l{width: 60%;}
#main .subcon .sub_con_box .sub_con_m{width: 48%;}
#main .subcon .sub_con_box .sub_con_s{width: 34%;}

#main .subcon .sub_con_box.row{flex-direction: column-reverse;flex-direction: row-reverse;}

#main .subcon .comlink{max-width:500px;}
#main .subcon .comlink a{
    font-size: 1.6rem;
    font-weight: 700;
    }
@media all and (max-width: 896px) {
    
#main .subcon p{
	font-size: 1.5rem;
	line-height: 1.8;
	}
#main .subcon ul.ullist01 li{
	line-height: 1.8;
	font-size: 1.5rem;
	}
    
#main .subcon .sub_con_box .sub_con_l{width:100%;padding: 10px 0;box-sizing: border-box;}
#main .subcon .sub_con_box .sub_con_m{width:100%;padding: 10px 0;box-sizing: border-box;}
#main .subcon .sub_con_box .sub_con_s{width:100%;padding: 20px 0 0;box-sizing: border-box;}   
    
}


@media all and (max-width: 540px) {
#main .subcon{padding: 0 0 40px}
#main .subcon section{padding: 40px 0;}
#main .subcon .bg01{padding: 0 0 40px;}
    
#main .subcon .mt20{margin-top: 10px;}
#main .subcon .mt80{margin-top: 40px;}
#main .subcon .mt10{margin-top: 20px;}
#main .subcon p{
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
	}
#main .subcon ul.ullist01{margin:10px 0px;}
#main .subcon ul.ullist01 li{
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
	}
#main .subcon .ttl-01{
    margin-bottom: 20px;
    }

#main .subcon .ttl-01 .en{line-height: 1.2;}
#main .subcon .bg01 .ttl-01 .en{line-height: 0.8;}
#main .subcon .bg01 .ttl-01 .jp{line-height: 1.5;}

#main .subcon .ttl-03{
    font-size: 2.2rem;
    margin-bottom: 20px;
    }
#main .subcon .ttl-03 span.en,
#main .subcon .ttl-03_en span{
    font-size: 1.4rem;
    padding: 2px 10px;
    }

#main .subcon .comlink{max-width:100%;}
#main .subcon .comlink a{font-size: 1.4rem;}
}



/* company
---------------------------------------------------------------------------*/
#main .subcon .defTable01{
	width:100%;
    max-width: 960px;
    margin:0 auto;
	border: none;
    border-collapse: collapse;
    box-sizing: border-box;
	}
#main .subcon .defTable01 th{
    width:250px;
	padding: 25px 10px;
    margin: 0;
	text-align: left;
	vertical-align:top;
    font-weight: 600;
	border-bottom:1px solid #0F692A;
	font-size: 1.6rem;
	line-height:1.7;
	letter-spacing: 0.05em;
    box-sizing: border-box;
	}
#main .subcon .defTable01 td{
    padding: 25px 10px;
    margin: 0;
    text-align: left;
    vertical-align: top;
    font-weight: 600;
	border-bottom:1px solid #0F692A;
	font-size: 1.6rem;
	line-height:1.7;
	letter-spacing: 0.05em;
    box-sizing: border-box;
	}
#main .subcon .bg01 .defTable01 th{border-color: #87b494;}
#main .subcon .bg01 .defTable01 td{border-color: #87b494;}


#main .subcon .history_area{padding-top: 50px;}
#main .subcon .history_area .ttl-01{
    text-align: left;
    margin-bottom: 0;
    }
#main .subcon .history_area .ttl-01 .jp{display: inline;}
#main .subcon .history_box{
    position: relative;
    padding: 100px 0;
    margin-top: -28px;
    }
#main .subcon .history_box::after{
    position: absolute;
    content: "";
    width: 35%;
    height: 100%;
    background: #0F692A;
    top: 0;
    left: 0;
    z-index: -1;
    }
#main .subcon .history_box dl{
    display: table;
    width: 100%;
    padding-bottom: 100px;
    padding-left: 50px;
    box-sizing: border-box;
    position: relative;
    }
#main .subcon .history_box dl::after{
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background: #fff;
    top: 0;
    left: 15%;
    }
#main .subcon .history_box dl dt{
    display: table-cell;
    width: 35%;
    font-size: 3.0rem;
    font-weight: 700;
    color: #fff;
    padding: 10px 4% 10px 15%;
    box-sizing: border-box;
    line-height: 1.8;
    }
#main .subcon .history_box dl dt span{position: relative;}
#main .subcon .history_box dl dt span::before{
    position: absolute;
    content: "";
    width: 25px;
    height: 25px;
    background: #fff;
    top: 13px;
    left: -54px;
    border-radius: 100px;
    }
#main .subcon .history_box dl dd{
    display: table-cell;
    width: 65%;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 10px 30px;
    box-sizing: border-box;
    line-height: 1.8;
    }

#main .subcon .gmap {}
#main .subcon .gmap iframe{
    height: 530px;
    width: 100%;
    vertical-align: bottom;
    }
#main .subcon .gmap_txt{
    text-align: center;
    padding-bottom: 30px;
    }
#main .subcon .gmap_txt p{
    font-size: 2.0rem;
    }
#main .subcon .gmap_txt p span{
    background: url("../images/company/map.png")no-repeat left center ;
    padding: 25px 0 25px 55px;
    }

@media all and (max-width: 1400px) {}
@media all and (max-width: 1200px) {}
@media all and (max-width: 896px) {
#main .subcon .defTable01 th{width:150px;}
    
#main .subcon .history_box{
    padding: 50px 0;
    margin-top:0;
    }
#main .subcon .history_box dl{
    padding-bottom:30px;
    padding-left: 0;
    }
#main .subcon .history_box dl::after{
    left: 45px;
    }
#main .subcon .history_box dl dt{
    width: 35%;
    font-size: 2.0rem;
    padding: 10px 0 10px 70px;
    }
#main .subcon .history_box dl dt span::before{
    width: 20px;
    height: 20px;
    top: 7px;
    left: -35px;
    }
#main .subcon .history_box dl dd{
    font-size: 1.6rem;
    }
}



@media all and (max-width: 540px) {
    
#main .subcon .defTable01{}
#main .subcon .defTable01 th{
    display: block;
    width:100%;
	padding: 15px 15px;
    background: #0F692A;
    color: #fff;
	border-bottom:none;
	font-size: 1.4rem;
	line-height:1.6;
	letter-spacing: 0.025em;
	}
#main .subcon .defTable01 td{
    display: block;
    width:100%;
    padding: 15px 15px;
	border-bottom:none;
	font-size: 1.4rem;
	line-height:1.6;
	letter-spacing: 0.025em;
	}
#main .subcon .bg01 .defTable01 th{background: #333}
#main .subcon .bg01 .defTable01 td{}


#main .subcon .history_area{padding-top: 20px;}
    #main .subcon .history_box{padding: 20px 0;}
#main .subcon .history_box dl{padding-bottom:10px;}
#main .subcon .history_box dl::after{left: 40px;}
#main .subcon .history_box dl dt{
    font-size: 1.5rem;
    padding: 10px 0 10px 60px;
    }
#main .subcon .history_box dl dt span::before{
    width: 13px;
    height: 13px;
    top: 5px;
    left: -25px;
    }
#main .subcon .history_box dl dd{
    font-size: 1.4rem;
    line-height: 1.6;
    }


#main .subcon .gmap iframe{
    height: 250px;
    }
#main .subcon .gmap_txt{
    text-align: left;
    padding-bottom: 10px;
    }
#main .subcon .gmap_txt p{
    font-size: 1.4rem;
    }
#main .subcon .gmap_txt p span{
    display: block;
    background: url("../images/company/map.png")no-repeat left center ;
    background-size: 25px;
    padding: 10px 0 10px 35px;
    }   
    
}



/* railing
---------------------------------------------------------------------------*/
#main .subcon .railing_list{margin-top: 80px;}
#main .subcon .railing_list li{
    font-size: 2.5rem;
    font-weight: 700;
    margin: 10px 0;
    padding: 10px 0 15px 39px;
    border-bottom: 1px dashed #87b494;
    background: url("../images/railing/icon.png")no-repeat left center;
    }
#main .subcon .railing_list li:last-child{margin-bottom: 0;}

#main .subcon .railing_box01{
    background: url("../images/railing/img01.png")no-repeat top right;
    background-size: contain;
    }
#main .subcon .railing_box01 .sub_con_l{
    padding:60px;
    box-sizing: border-box;
    }
#main .subcon .railing_box01 h2,
#main .subcon .railing_box01 p{
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
    paint-order: stroke;
    }
#main .subcon .railing_box02 .sub_con_l{
    padding:0 60px;
    box-sizing: border-box;
    }

#main .subcon .bfaf_list{
    margin: 60px auto 0;
    width: 100%;
    max-width: 780px;
    }
#main .subcon .bfaf_list02{max-width: 1200px;}
#main .subcon .bfaf_list li{
    text-align: center;
    width: 42%;
    margin:0 4%;
    padding: 40px;
    box-sizing: border-box;
    }

#main .subcon .bfaf_list li:nth-child(1){
    background: #ddd;
    position: relative;
    }
#main .subcon .bfaf_list li:nth-child(1)::before{
    position: absolute;
    content: "Before";
    top: 0;
    left: 0;
    background:#0F692A;
    color: #fff;
    padding: 3px 10px;
    font-family: "Fugaz One", sans-serif;
    line-height: 1.1;
    }
#main .subcon .bfaf_list li:nth-child(1)::after{
    position: absolute;
    content: "";
    background: url("../images/railing/arw.png")no-repeat center;
    background-size: 100%;
    width: 25px;
    height: 50px;
    top: 45%;
    right: -42px;
    }
#main .subcon .bfaf_list li:nth-child(2){
    background: #fff;
    position: relative;
    }
#main .subcon .bfaf_list li:nth-child(2)::before{
    position: absolute;
    content: "After";
    top: 0;
    right: 0;
    background:#0F692A;
    color: #fff;
    padding: 3px 10px;
    font-family: "Fugaz One", sans-serif;
    line-height: 1.1;
    }
#main .subcon .bfaf_list02 li{padding: 0;background: none;}
#main .subcon .bfaf_list02 li:nth-child(1)::before{
    background:#fff;
    color: #0F692A;
    }
#main .subcon .bfaf_list02 li:nth-child(1)::after{
    background: url("../images/cleaning/arw.png")no-repeat center;
    background-size: 100%;
    right: -58px;
    }
#main .subcon .bfaf_list02 li:nth-child(2)::before{
    background:#fff;
    color: #0F692A;
    }

@media all and (max-width: 1400px) {}
@media all and (max-width: 1200px) {}
@media all and (max-width: 896px) {
#main .subcon .bfaf_list li:nth-child(1)::after{
    width: 15px;
    right: -11%;
    }
#main .subcon .bfaf_list02 li:nth-child(1)::after{
    top: 35%;
    right: -12%;
    }
}
@media all and (max-width: 540px) {
#main .subcon .railing_list{margin-top: 0;}
#main .subcon .railing_list li{font-size: 1.7rem;}

#main .subcon .railing_box01{
    background:none;
    }
#main .subcon .railing_box01 .sub_con_l{
    padding:0 15px;
    }
#main .subcon .railing_box02 .sub_con_l{
   padding:0 15px;
    }

#main .subcon .bfaf_list{margin: 20px auto 0;}
#main .subcon .bfaf_list li{
    padding: 25px 10px 15px;
    }
#main .subcon .bfaf_list li:nth-child(1)::after{
    top: 32%;
    right: -13%;
    }
    #main .subcon .bfaf_list02 li{padding: 0;}
#main .subcon .bfaf_list02 li:nth-child(1)::after{
    top: 32%;
    right: -14%;
    }   
    
}


/* cases
---------------------------------------------------------------------------*/
#main .cases_area{}
#main .cases_area article{
    background: #eef6f1;
    padding: 80px;
    box-sizing: border-box;
    margin-bottom: 40px;
    }
#main .cases_area article h2{
    font-size: 3.0rem;
    padding-bottom: 25px;
    margin-bottom: 25px;
    border-bottom: 1px solid #0F692A;
    color: #111;
    }
#main .cases_area article .date{margin-bottom: 10px;}
#main .cases_area article .date .day{
    font-size: 1.5rem;
    font-family: "Fugaz One", sans-serif;
    font-weight: 400;
    color: #0F692A;
    }
#main .cases_area article .date .cate{
    font-size: 1.3rem;
    background:#0F692A;
    padding:2px 15px;
    margin-left: 10px;
    color: #fff;
    font-weight: 700;
    border-radius:100px;
    }
#main .cases_area article .slider{
    margin-top:20px;
    text-align: center;
    }
#main .cases_area article .slider li{
	text-align: center;
}
#main .subcon .cases_area li figure img{
	display: inline;}
#main .subcon .cases_area .slick-slide {
	width: 100%;
	height: 400px;
}
#main .subcon .cases_area .slick-slide li,
#main .subcon .cases_area .slick-slide figure{
	height: 400px !important;
}
#main .subcon .cases_area .slick-slide img {
	display: block;
	object-fit: contain;
	width: 100%;
	height: 100%;
}

#main .subcon .cases_area .slider .slick-prev,#main .subcon .cases_area .slider .slick-next {
    background: #0F692A;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}


#main .subcon .cases_area .slider .slick-prev::before {
    content: "";
    width: 15px;
    height: 25px;
    background: url("../images/cases/arrow_back_ios.svg")no-repeat center;
    background-size: cover;
    display: inline-block;
    transition: .3s;
}
#main .subcon .cases_area .slider .slick-next::before {
    content: "";
    width: 15px;
    height: 25px;
    background: url("../images/cases/arrow_forward_ios.svg")no-repeat center;
    background-size: cover;
    display: inline-block;
    transition: .3s;
}


@media screen and (max-width: 540px){ 
    #main .subcon .cases_area .slider .slick-prev,#main .subcon .cases_area .slider .slick-next {
        width: 35px;
        height: 35px;
    }
    #main .subcon .cases_area .slider .slick-prev::before,#main .subcon .cases_area .slider .slick-next::before {
        width: 10px;
        height: 17px;
    }

}



/* pager */
.pager_wrapper {text-align: center; margin: 40px auto 0;}
.pager1 ,.pager2 {display: inline-block;overflow: hidden;}
.pager_wrapper ul.pager1 li{float: left; width: 30px; margin: 5px;}
#main .blog .pager_wrapper ul.pager1 li{width: 30px; margin: 5px;}
.pager_wrapper ul.pager2 li{float: left; width: 150px; margin: 10px;}
.pager_wrapper ul.pager1 li a,
.pager_wrapper ul.pager2 li a,
.pager_wrapper ul.pager1 span,
.pager_wrapper ul.pager2 span{
	background: #0F692A;
	display: block;
	width: 100%;
	color: #fff;
	font-size: 1.3rem;
	padding: 5px 0;
	border: 1px solid #0F692A;
	transition: 0.5s;
    font-weight: bold;
    }
.pager_wrapper ul.pager2 li a{padding: 13px 0;}
.pager_wrapper ul.pager1 li a:hover,
.pager_wrapper ul.pager2 li a:hover{
    border: 1px solid #0F692A;
    background: #fff;
    color: #0F692A;
    text-decoration: none;
    }
.pager_wrapper ul.pager1 li.active a,
.pager_wrapper ul.pager1 li.active span{
    border: 1px solid #0F692A;
    background: #fff;
    color: #0F692A;
    text-decoration: none;
    pointer-events: none;
    }


@media all and (max-width: 896px) {
#main .cases_area article{padding: 45px;}
#main .cases_area article h2{font-size: 2.4rem;}  
    
}


@media all and (max-width: 540px) {
#main .cases_area article{
    padding: 25px;
    margin-bottom: 20px;
    }
#main .cases_area article h2{
    font-size: 1.8rem;
    padding-bottom: 15px;
    margin-bottom: 15px;
    }
#main .cases_area article .date{margin-bottom: 10px;}
#main .cases_area article .date .day{
    font-size: 1.3rem;
	display:block;
    }
#main .cases_area article .date .cate{
    font-size: 1.2rem;
    padding:2px 10px;
    margin-left: 0px;
    }  
    
    
    /* pager */
    .pager_wrapper {margin: 10px auto 0;}
    .pager2 {display:block;width: 100%;}
    .pager_wrapper ul.pager2 li{float: left; width: 31%; margin: 1%;}

    }





/* workflow
---------------------------------------------------------------------------*/
#main .subcon .workflow_list{margin-top: 80px;}
#main .subcon .workflow_list li{
    width: 23%;
    margin: 1%;
    background: #0F692A;
    color: #fff;
    padding: 25px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    }
#main .subcon .workflow_list li::after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #0F692A;
    border-width: 15px;
    margin-top: -15px;
    }
#main .subcon .workflow_list li:last-child::after{position: static;display: none;}
#main .subcon .workflow_list li p{
    font-size: 2.2rem;
    }

#main .subcon .workflow_area{
    margin-top: 100px;
    background: #dbefe1;
    padding: 50px;
    box-sizing: border-box;
    }
#main .subcon .workflow_area table{
    width: 100%;
    margin:0 auto 50px;
	border: none;
    border-collapse: collapse;
    position: relative;
    }
#main .subcon .workflow_area table::after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-top-color: #fff;
    border-width: 30px;
    margin-left: -30px;
    }
#main .subcon .workflow_area table:last-child{margin-bottom: 0;}
#main .subcon .workflow_area table:last-child::after{position: static;display: none;}


#main .subcon .workflow_area table th{
    width: 100px;
    text-align: center;
    padding: 20px;
    background: #0f692a;
    color: #fff;
    font-family: "Fugaz One", sans-serif;
    font-weight: 400;
    font-size: 4.0rem;
    line-height: 1.1;
    box-sizing: border-box;
    }
#main .subcon .workflow_area table th span{
    display: block;
    font-size: 2.0rem;
    }

#main .subcon .workflow_area table td{
    padding: 60px;
    background: #fff;
    box-sizing: border-box;
    }
#main .subcon .workflow_area table td h3{
    font-size: 2.8rem;
    border-bottom: 1px solid #0f692a;
    padding-bottom: 15px;
    margin-bottom: 15px;
    color: #0f692a;
    letter-spacing: 0.1em;
    }

#main .subcon .workflow_area table td .tips{
    background: #eef6f1;
    padding: 45px;
    margin-top: 20px;
    box-sizing: border-box;
    }
#main .subcon .workflow_area table td .tips h4{
    font-size: 1.9rem;
    margin-bottom: 5px;
    padding-bottom: 5px;
    color: #0f692a;
    background: url("../images/workflow/icon.png")no-repeat left center;
    padding-left: 20px;
    }

#main .subcon .workflow_area .subttl{
    text-align: center;
    margin: 40px 0 10px;
    }
#main .subcon .workflow_area .subttl span{
    position: relative;
    padding: 0 15px;
    }
#main .subcon .workflow_area .subttl span::before,
#main .subcon .workflow_area .subttl span::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 2px;
    height: 2rem;
    background: rgba(0, 0, 0, 1);
    }
#main .subcon .workflow_area .subttl span::before {
    transform: rotate(-30deg);
    left: 0;
    }
#main .subcon .workflow_area .subttl span::after {
    transform: rotate(30deg);
    right: 0;
    }
#main .subcon .workflow_area .flow_form{background: #fff;border: 1px solid #0f692a;}
#main .subcon .workflow_area .flow_form h4{
    text-align: center;
    background: #fff;
    color: #0f692a;
    padding: 15px;
    border-bottom: 1px solid #0f692a;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    }
#main .subcon .workflow_area .flow_form ul{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap:         wrap;
    justify-content:space-between;
    padding: 30px 40px;
    box-sizing: border-box;
    }
#main .subcon .workflow_area .flow_form ul li{width: 50%;}
#main .subcon .workflow_area .flow_form ul li:nth-child(1) a{color: #0f692a;}
#main .subcon .workflow_area .flow_form ul li:nth-child(1) span {
    font-size: 4.0rem;
    background:url("../images/common/icon_tel.png")no-repeat 0 16px;
    background-size: 25px;
    padding-left: 32px;
    line-height: 0.9;
    }
#main .subcon .workflow_area .flow_form ul li:nth-child(1) p {
    font-size: 1.6rem;
    display: block;
    color: #0F692A;
    font-weight: 600;
    margin-left: 35px;
    line-height: 1.0;
    } 
#main .subcon .workflow_area .flow_form ul li:nth-child(2) a {
    display: block;
    width: 100%;
    margin:auto;
    background:#0F692A;
    color: #fff;
    padding:18px 10px;
    box-sizing: border-box;
    transition:0.7s;
    text-align: center;
    font-weight: 700;
    }
#main .subcon .workflow_area .flow_form ul li:nth-child(2) a:hover{background: #333;}
#main .subcon .workflow_area .flow_form ul li:nth-child(2) a span {
    background:url("../images/common/icon_mail.png")no-repeat 0 2px;
    background-size: 22px;
    font-size: 1.9rem;
    padding-left: 30px;
    }

@media all and (max-width: 896px) {
#main .subcon .workflow_list li p {
    font-size: 1.8rem;
    line-height: 1.5;
    } 
    #main .subcon .workflow_area{padding: 25px;}
#main .subcon .workflow_area table th {
    display: block;
    width: 100%;
    }  
#main .subcon .workflow_area table td {
    display: block;
    padding: 25px;
    width: 100%;
    }
    
#main .subcon .workflow_area .flow_form ul li {width: 100%; margin: 10px 0;}  
}

@media all and (max-width: 540px) {
#main .subcon .workflow_list{margin-top: 20px;}
#main .subcon .workflow_list li{
    width: 100%;
    margin: 1px 0;
    padding: 15px;
    position: static;
    }
#main .subcon .workflow_list li::after {
    position: static;
    display: none;
    }
#main .subcon .workflow_list li p{
    font-size: 1.6rem;
    }

#main .subcon .workflow_area{
    margin-top: 40px;
    padding: 15px;
    }
#main .subcon .workflow_area table{
    margin:0 auto 30px;
    }
#main .subcon .workflow_area table::after {
    border-width: 20px;
    margin-left: -20px;
    }

#main .subcon .workflow_area table th{
    padding: 10px 5px 5px;
    font-size: 2.0rem;
    line-height: 1.1;
    }
#main .subcon .workflow_area table th span{
    font-size: 1.5rem;
    display: inline;
    padding-right: 2px;
    }

#main .subcon .workflow_area table td{
    padding: 25px;
    }
#main .subcon .workflow_area table td h3{
    font-size: 1.9rem;
    padding-bottom: 15px;
    margin-bottom: 15px;;
    letter-spacing: 0.025em;
    }

#main .subcon .workflow_area table td .tips{
    padding: 18px;
    margin-top: 10px;
    }
#main .subcon .workflow_area table td .tips h4{
    font-size: 1.6rem;
    background: url("../images/workflow/icon.png")no-repeat left center;
    background-size: 12px;
    padding-left: 20px;
    }

#main .subcon .workflow_area .subttl{
    text-align: center;
    margin: 40px 0 10px;
    }
#main .subcon .workflow_area .subttl span{
    padding: 0 10px;
    }
#main .subcon .workflow_area .subttl span::before,
#main .subcon .workflow_area .subttl span::after {
    width: 1px;
    height: 1.5rem;
    }

#main .subcon .workflow_area .flow_form h4{
    padding: 15px;
    border-bottom: 1px solid #0f692a;
    font-size: 1.8rem;
    letter-spacing: 0.025em;
    }
#main .subcon .workflow_area .flow_form ul{
    padding: 10px 15px;
    }
    #main .subcon .workflow_area .flow_form ul li:nth-child(1){text-align: center;}
#main .subcon .workflow_area .flow_form ul li:nth-child(1) span {
    font-size: 2.6rem;
    background:url("../images/common/icon_tel.png")no-repeat 0 10px;
    background-size:18px;
    padding-left: 22px;
    }
#main .subcon .workflow_area .flow_form ul li:nth-child(1) p {
    font-size: 1.3rem;
    margin-left: 0;
    line-height: 1.2;
    } 
#main .subcon .workflow_area .flow_form ul li:nth-child(2) a {padding:15px 10px;}
#main .subcon .workflow_area .flow_form ul li:nth-child(2) a span {font-size: 1.6rem;}  
}





/* cleaning
---------------------------------------------------------------------------*/

#main .subcon .ttl-01.ttl-01_02 .jp{line-height: 1.5;}
#main .subcon .bg01 .ttl-01.ttl-01_02 .jp{padding-top: 18px;}

#main .subcon .cleaning_list{
    border: 1px solid #fff;
    padding: 40px;
    text-align: center;
    margin-top: 60px;
    box-sizing: border-box;
    }
#main .subcon .cleaning_list li{width: 33%;}
#main .subcon .cleaning_list h3{
    font-size: 1.8rem;
    letter-spacing: 0.075em;
    }

#main .subcon .cleaning_list02 li{
    margin-bottom: 40px;
    position: relative;
    }
#main .subcon .cleaning_list02 li:last-child{margin-bottom: 0;}
#main .subcon .cleaning_list02 li::after{
    position: absolute;
    content: "01";
    right: 0;
    top: 0;
    font-size: 10.0rem;
    font-size: clamp(4.0rem, 7.6923076923076925vw, 10.0rem);
    text-transform: uppercase;
    letter-spacing: 0;
    font-family: "Fugaz One", sans-serif;
    opacity: 0.1;
    z-index: -1;
    color: #0f692a;
    }

#main .subcon .cleaning_list02.num_non li {
    margin-bottom: 25px;
}
#main .subcon .cleaning_list02.num_non li::after{
    display: none !important;
}
#main .subcon .cleaning_list02.num_non li h3{
    line-height: 1.2;
    display: flex;
    gap: 5px;
}
#main .subcon .cleaning_list02.num_non li h3 span{
    width: calc(100% - 25px);

}

#main .subcon .cleaning_list02.num_non li h3::before{
    content: "";
    display: inline-block;
    background:url("../images/cleaning/check_box.svg")no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    margin-top: 5px;
}

@media all and (max-width: 540px) {
  #main .subcon .cleaning_list02.num_non li h3::before{
        margin-top: 3px;
  }
} 


.wrap_txt {
    display: flex;
    flex-flow: column;
    row-gap: 15px;
    margin-top: 15px;
}

.wrap_txt .aqua_sub_ttl {
    display: block;
    width: fit-content;
    border: solid 1px #0F692A;
    font-size: 16px;
    font-weight: bold;
    padding: 5px 10px;
}

#main .subcon .cleaning_list02 li:nth-child(2)::after{content: "02"}
#main .subcon .cleaning_list02 li:nth-child(3)::after{content: "03"}
#main .subcon .cleaning_list02 li h3{
    font-size: 2.3rem;
    margin-bottom: 10px;
    letter-spacing: 0.075em;
    line-height: 2.0;
    }

#main .subcon .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    }

#main .subcon .youtube:not(:last-child) {
    margin-bottom: 50px;
}
#main .subcon .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    }
@media all and (max-width: 1400px) {}
@media all and (max-width: 1200px) {}
@media all and (max-width: 896px) {
    
#main .subcon .cleaning_list{
    padding: 25px;
    margin-top: 60px;
    }
#main .subcon .cleaning_list li{width: 50%;} 
}

@media all and (max-width: 540px) {
#main .subcon .ttl-01.ttl-01_02 .jp{text-align: left;}
#main .subcon .cleaning_list{
    padding: 20px;
    margin-top: 20px;
    }
#main .subcon .cleaning_list h3{
    font-size: 1.5rem;
    letter-spacing: 0.025em;
    }
#main .subcon .cleaning_list02 li{
    margin-bottom: 20px;
    }
#main .subcon .cleaning_list02 li h3{
    font-size: 1.8rem;
    margin-bottom: 5px;
    line-height: 1.5;
    }  
    
    
    
}






/* contact
---------------------------------------------------------------------------*/
#main .subcon .defTable01.formTable01{
    width: 100%;
    max-width: 100%;
    margin: 60px auto;
    }

#main .subcon .defTable01 input[type="text"],
#main .subcon .defTable01 input[type="email"]{
	border: 1px solid #eee;
	padding: 14px;
	background: #eee;
	width: 100%;
	font-size: 15px;
    box-sizing: border-box;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	}
.mwform-radio-field label,
.mwform-checkbox-field label{
	font-weight: 600 !important;
}
textarea {
	font-size: 15px;
}
#main .subcon .defTable01 .youbin{}
#main .subcon .defTable01 .youbin input[type="text"]{width: 40%;}
#main .subcon .defTable01 select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #eee;
	padding: 14px;
    background: #eee;
	width: 100%;
    box-sizing: border-box;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	}
#main .subcon .defTable01 select optgroup{background: #ddd;}
#main .subcon .defTable01 textarea{
	border: 1px solid #eee;
	padding: 14px;
	background: #eee;
	width: 100%;
    box-sizing: border-box;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	}
#main .subcon .defTable01 input[type="text"]::placeholder,
#main .subcon .defTable01 select::placeholder,
#main .subcon .defTable01 textarea::placeholder {
    color: #666;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    }

#main .subcon .form_btn{text-align: center;}
#main .subcon .form_btn input{
	background: #0F692A;
	border: 1px solid #0F692A;
	color: #fff; 
	padding: 15px 0;
	font-size: 1.8rem;
	letter-spacing: 1px;
	cursor: pointer;
	transition: 0.5s;
	width: 100%;
    max-width: 350px;
    margin: 10px auto;
    font-weight: bold;
-webkit-appearance: none;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	}
#main .subcon .form_btn input:hover{
	background: #fff;
	color: #0F692A;
	}
#main .subcon em.colR{
    background: #0F692A;
    color: #fff;
    font-size: 1.3rem;
    padding: 2px 5px;
    margin-left: 5px;
    font-style: normal;
    }
#main .subcon .error_messe{font-style: normal; color: #0F692A;}
#main .subcon .subcon .rig{margin:0 auto 10px;}


#main .subcon .privacy{
    margin: 40px 0;
    font-weight: 700;
    text-align: center;
    }
#main .subcon .privacy_txt{
    margin-top: 60px;
    height: 250px;
    overflow-y: scroll;
    padding: 60px;
    box-sizing: border-box;
    background: #333333;
    color: #fff;
    }
#main .subcon .privacy_txt h3{
    font-size: 2.2rem;
    margin: 60px 0 10px;
    padding-bottom: 10px;
    letter-spacing: 0.05em;
    }
#main .subcon .privacy_txt h3:first-child{margin-top: 0;}

@media all and (max-width: 896px) {
    #main .subcon .defTable01.formTable01 th{width: 180px;}
    #main .subcon .defTable01 .youbin input[type="text"]{width: 70%;}
    #main .subcon .privacy_txt{padding: 40px;}
    }
@media all and (max-width: 540px) {
    #main .subcon .defTable01.formTable01{margin:30px 0;}
    #main .subcon .defTable01.formTable01 th{width: 100%;}
    #main .subcon .defTable01.formTable01 td{padding: 10px 0 25px;}
    #main .subcon .form_btn input{font-size: 1.6rem;}
    #main .subcon .defTable01.formTable01 td label{display: block;}
    #main .subcon .privacy{margin: 20px 0;}
    #main .subcon .privacy_txt{
        margin-top: 25px;
        padding: 25px;
        }
    #main .subcon .privacy_txt h3{
        font-size: 1.7rem;
        margin: 40px 0 10px;
        }
    }




/* pager */
.pager_wrapper {text-align: center; margin: 40px auto 0;}
.pager1 ,.pager2 {display: inline-block;overflow: hidden;}
.pager_wrapper {
	text-align: center;
}
.pager_wrapper ul.pager1 li,
.pager_wrapper a
{width: 30px; margin: 5px;}
#main .blog .pager_wrapper ul.pager1 li{width: 30px; margin: 5px;}
.pager_wrapper ul.pager2 li{float: left; width: 150px; margin: 10px;}
.pager_wrapper a,
.pager_wrapper ul.pager2 a,
.pager_wrapper span,
.pager_wrapper ul.pager2 span{
	background: #0F692A;
	display:inline-block;
	width: 30px;
	color: #fff;
	font-size: 1.3rem;
	padding: 5px 0;
	border: 1px solid #0F692A;
	transition: 0.5s;
    font-weight: bold;
    }
.pager_wrapper ul.pager2 li a{padding: 13px 0;}
.pager_wrapper a:hover,
.pager_wrapper ul.pager2 a:hover{
    border: 1px solid #0F692A;
    background: #fff;
    color: #0F692A;
    text-decoration: none;
    }
.pager_wrapper ul.pager1 li.active a,
.pager_wrapper  span{
    border: 1px solid #0F692A;
    background: #fff;
    color: #0F692A;
    text-decoration: none;
    pointer-events: none;
    }


.mw_wp_form_confirm .privacy,
.mw_wp_form_confirm .privacy_txt {
	display: none !important;
}
.sbt.v2 {
	background: #333 !important;
}

.nones {
	display: none !important;
}

.posit-links {
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}
.comlink.v2 {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}


.bg01.top_sec {
   margin-top: 100px !important;
}

@media screen and (max-width: 540px){ 
  .bg01.top_sec {
        margin-top: 40px !important;
    }
} 


div.aqua_details {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-top: 50px;
}
div.aqua_details p {
    text-align: left;
    width: 57%;
}
div.aqua_details div.aqua_img {
    display: block;
    width: 40%;
    overflow: hidden;
    aspect-ratio: 1 / 0.587 !important;
}
div.aqua_details div.aqua_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 896px){ 
  div.aqua_details {
    flex-flow: column;
    row-gap: 30px;
}
div.aqua_details p {
    width: 100%;
}
div.aqua_details div.aqua_img {
    width: 100%;
}

div.aqua_details div.aqua_img img {
    display: block;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}
} 


.sub_con_m.dantotsu_cover img {
    display: block;
    width: 100% !important;
    object-fit: cover;
}


ul.cover_gallery {
    display: flex;
    width: 100%;
    gap: 5%;
    row-gap: 30px;
    flex-wrap: wrap;
    margin-top: 60px;
}


ul.cover_gallery li.cover_li {
    display: flex;
    flex-flow: column;
    width: 30%;
    row-gap: 10px;
}
ul.cover_gallery li.cover_li div.cover_img {
    width: 100%;
    aspect-ratio: 1 / 0.81 !important;
    overflow: hidden;
    display: block;
}
ul.cover_gallery li.cover_li div.cover_img img {
    display: block;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}
ul.cover_gallery li.cover_li p.gallery_caption {
    text-align: left;
    line-height: 1.2 !important;
    letter-spacing: .05em !important;
    font-weight: bold !important;
}

@media screen and (max-width: 540px){ 
    ul.cover_gallery {
        flex-flow: column;
        margin-top: 60px;
    }

    ul.cover_gallery li.cover_li {
        width: 100%;
    }
}

.cover_movie_wrap {
    display: block;
    margin-top: 60px;
}

.cover_movie_wrap h4.ttl_middle {
    display: block;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #0F692A;
    margin-bottom: 45px;
}

.cover_movie_wrap ul.cover_movie_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5%;
    row-gap: 45px;
    width: 90%;
    margin: auto;
}

.cover_movie_wrap ul.cover_movie_list li.li_cover_movie {
    width: 47.5%;
    display: block;
    aspect-ratio: 1 / 0.65 !important;
}

.cover_movie_wrap ul.cover_movie_list li.li_cover_movie iframe {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 896px){ 
    .cover_movie_wrap ul.cover_movie_list {
        width: 100%;
    }
}
@media screen and (max-width: 540px){ 
    .cover_movie_wrap ul.cover_movie_list {
        width: 100%;
        row-gap: 30px;
        flex-flow: column;
    }

    .cover_movie_wrap ul.cover_movie_list li.li_cover_movie {
        width: 100%;
    }
}


div.lineup_wrap {
    display: block;
    margin-top: 60px;
}
div.lineup_wrap ul.list_lineup {
    display: flex;
    width: 100%;
    flex-flow: column;
    /*row-gap: 45px;*/
}
div.lineup_wrap ul.list_lineup li.li_lineup {
    display: flex;
    width: 100%;
    padding: 45px 0;
    gap: 5%;
    align-items: flex-start;
}

div.lineup_wrap ul.list_lineup li.li_lineup:not(:last-of-type) {
    border-bottom: solid 1px rgb(197, 197, 197);
}

div.lineup_wrap ul.list_lineup li.li_lineup div.img_lineup {
    display: block;
    width: 40%;
    height: auto;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 1px, rgba(0, 0, 0, 0.1) 0px 1px 1px;
    
}
div.lineup_wrap ul.list_lineup li.li_lineup div.img_lineup img {
    display: block;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}
div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content {
    display: flex;
    flex-flow: column;
    width: 55%;
    row-gap: 20px;
    align-items: start;
}
div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content h4.ttl_lineup {
    display: block;
    font-size: 25px;
    font-weight: bold;
    color: #0F692A;
    padding-bottom: 5px;
    
    width: 100%;
    text-align: left;
    letter-spacing: .05em;
    line-height: 1.5;
}

div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content ul.lineup_gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 5%;
    row-gap: 15px;
}
div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content ul.lineup_gallery li.li_lineup_gallery {
    width: 21.25%;
    display: block;
    aspect-ratio: 1 / 0.81 !important;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 1px, rgba(0, 0, 0, 0.1) 0px 1px 1px;
}
div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content ul.lineup_gallery li.li_lineup_gallery a.boxer {
    display: block;
    width: 100% !important;
    height: 100%;
}
div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content ul.lineup_gallery li.li_lineup_gallery a.boxer img {
    display: block;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}


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

    div.lineup_wrap ul.list_lineup li.li_lineup {
        flex-flow: column;
        row-gap: 25px;
    }

    div.lineup_wrap ul.list_lineup li.li_lineup:not(:last-of-type) {
        border-bottom: solid 1px rgb(197, 197, 197);
    }

    div.lineup_wrap ul.list_lineup li.li_lineup div.img_lineup {
        width: 100%;
    }

    div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content {
        width: 100%;
    }
    div.lineup_wrap ul.list_lineup li.li_lineup div.lineup_content h4.ttl_lineup {
        font-size: 18px;
    }

}

.link_wrap {
    display: block;
    text-align: center;
    margin-top: 60px;
}

.link_wrap p {
    font-weight: bold;
    font-size: 18px;
}

.link_wrap .comlink {
    margin: auto;
    margin-top: 20px;
}

@media screen and (max-width: 540px){ 
    .link_wrap {
        margin-top: 45px;
    }
}