@charset "UTF-8";
#loader-bg{
	position:absolute;
	width:100vw;
	height:100vh;
	z-index:5000;
	background-color:#ffffff;
	background-color:rgba(0,165,131,0.1);
	background-image: -moz-linear-gradient(top, #ffffff, #e5f6f2);
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #ffffff), color-stop(1.0, #e5f6f2));
}
#loading{
	position:absolute;
	width:55px;
	height:55px;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	z-index:5001;
}
a.link_btn {
    display: block;
    padding: 1em;
    font-size: 1.2em;
    text-align: center;
    color: #ffffff;
    background-image: -moz-linear-gradient(top, #f6773d 50%, #f15a24 50%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.5, #f6773d), color-stop(0.5, #f15a24));
	position:relative;
}
a.link_btn::after{
	content:'→';
	display:block;
	line-height:120%;
	height:1.2em;
	position:absolute;
	top:0;
	bottom:0;
	right:0.3em;
	margin:auto;
}
h3.title {
    text-align: center;
    font-size: 3.5em;
    font-weight: normal;
    line-height: 60%;
    max-width: 710px;
    margin: 100px auto 0;
    padding: 0 0 15px 0;
    font-family: 'Oswald';
}
h3.title .title_head {
    color: #00a583;
}
h3.title .title_name {
    font-size: 0.25em;
}
h3.title .title_name::before{
	content:'　';
}

.bg_town {
    width: 100%;
    height: 90px;
    background: url(../img/common/town_bg.gif) no-repeat center;
}
/*==============================
　firstview
==============================*/
#fv {
    background: #00a583;
    width: 100%;
    height: 100vh;
	background-image:url(../img/top/fv.jpg);
	background-size:cover;
	background-position:center;
	position:relative;
}
#fv h2.title {
    position: absolute;
    text-align: center;
    width: 100%;
    font-size: 48px;
	font-weight:normal;
    line-height: 140%;
    color: #ffffff;
    height: 190px;
    top: 0;
    bottom: 0;
    margin: auto;
}
/*==============================
　TOP
==============================*/
#index h3.title {
    font-size: 4.8em;
    line-height: 25%;
    padding-left: 10%;
	margin:0 0 15px;
	text-align:left;
}
#index section {
    padding-top: 60px;
	margin-bottom:25px;
}
#index section .text_box {
    width: 50%;
    margin-top: 20px;
    margin-right: 5%;
}
#index section .text_box .text{
	margin-bottom:40px;
    padding: 0 0 0 10%;
}
#index section .link_btn{
    width: 60%;
	max-width:360px;
    min-width: 250px;
	margin-left:10%;
}

#index #aboutus .img_box{
    width: 45%;
	height:350px;
	background-image:url(../img/top/img01.jpg);
	background-repeat:no-repeat;
	background-position:center 25%;
	background-size:cover;
	box-shadow: -20px 20px 0 rgba(0,165,131,0.2);
}

#index #service .img_box {
    width: 45%;
    height: 420px;
    background-image: url(../img/top/img02.png);
    background-repeat: no-repeat;
    background-position: 90% center;
    background-size: contain;
}

#index #service {
    padding-top: 0;
    margin-top: 100px;
}
#index #service .text_box {
    margin-top: 80px;
}

#aboutus .text_box,
#aboutus .img_box{
	float:left;
}
#service .text_box,
#service .img_box{
	float:right;
}

/*スライド　ここから*/
#index section#slide {
    padding: 0;
    margin: 0 auto 120px;
	max-width:1200px;
	position:relative;
}
section#slide .name {
    text-align: center;
    font-size: 1.2em;
    margin-bottom: 10px;
}
.swiper-container {
	border: 1px solid #cccccc;
}
.swiper-slide{
    width: 100%;
    padding: 50px;
}
.swiper-pagination {
    top: 10px;
}
.swiper-container-horizontal>.swiper-pagination-bullets {
    bottom: auto;
}

.slide_box .img {
    width: 51%;
    height: 330px;
    float: left;
	background-position:center;
	background-repeat:none;
	background-size:cover;
}
.slide_box#landuse .img{
	background-image:url(../img/top/slide_landuse.jpg);
}
.slide_box#rooftopuse .img{
	background-image:url(../img/top/slide_rooftopuse.jpg);
}
.slide_box#smile .img{
	background-image:url(../img/top/slide_smile.jpg);
}
.slide_box#billboard .img{
	background-image:url(../img/top/slide_billboard.jpg);
}
.slide_box#electrify .img{
	background-image:url(../img/top/slide_electrify.jpg);
}
.slide_box#golf .img{
	background-image:url(../img/top/slide_golf.jpg);
}
.slide_box#pestcontrol .img{
	background-image:url(../img/top/slide_pestcontrol.jpg);
}
.slide_box#advertisement .img{
	background-image:url(../img/top/slide_advertisement.jpg);
}

.slide_box .slide_text {
    width: 49%;
    float: right;
}
.slide_text h4,
.slide_text .text {
    padding-left: 10%;
}
.slide_text .text{
	margin-bottom:40px;
	line-height:180%;
}

.slide_text h4 {
    font-weight: normal;
    letter-spacing: 1px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000000;
    margin: 0 0 10px;
}
.slide_text h4 span{
    font-size: 3.2em;
    font-family: 'oswald';
    line-height: 140%;
}
#landuse .slide_text h4 span {
    color: #22b573;
}
#rooftopuse .slide_text h4 span{
	color:#6ca8dc;
}
#smile .slide_text h4 span{
	color:#fdd000;
}
#billboard .slide_text h4 span{
	color:#f48e6d;
}
#electrify .slide_text h4 span{
	color:#ef9e3d;
}
#golf .slide_text h4 span{
	color:#ea9188;
}
#pestcontrol .slide_text h4 span{
	color:#e1b7e2;
}
#advertisement .slide_text h4 span{
	color:#9fe26a;
}
/*スライド　ここまで*/


/*==============================
　下層汎用
==============================*/
/*ヘッダー*/
div:not(#fv) > h2.title {
    width: 100%;
    height: 240px;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    color: #ffffff;
    font-family: 'oswald','Noto Sans JP';
    font-weight: normal;
    font-size: 4em;
    line-height: 90%;
    padding-top: 65px;
    letter-spacing: 1.5px;
}
div:not(#fv) > h2.title span {
    display: block;
    font-size: 32.5%;
}
#about h2.title{
	background-image:url(../img/about/head_about.jpg);
}
#landuse h2.title{
	background-image:url(../img/landuse/head_landuse.jpg);
}
#rooftopuse h2.title{
	background-image:url(../img/rooftopuse/head_rooftopuse.jpg);
}
#smile h2.title{
	background-image:url(../img/smile/head_smile.jpg);
	background-position:right center !important;
	color:#000000 !important;
}
#billboard h2.title {
    background-image: url(../img/billboard/head_billboard.jpg);
}
#electrify h2.title{
	background-image:url(../img/electrify/head_electrify.jpg);
}
#golf h2.title{
	background-image:url(../img/golf/head_golf.jpg);
}
#pestcontrol h2.title{
	background-image:url(../img/pestcontrol/head_pestcontrol.jpg);
}
#advertisement h2.title{
	background-image:url(../img/advertisement/head_advertisement.jpg);
}
#contact h2.title{
	background-image:url(../img/contact/head_contact.jpg);
}
/*見出し部分*/
.midashi{
	width:100%;
	background-image:url(../img/common/midashi_bg.png);
	background-repeat:no-repeat;
	background-position:center;
	padding:55px 0;
	text-align:center;
}
.midashi .title{
    font-weight: bold;
    font-size: 2.2em;
    line-height: 140%;
    margin-bottom: 30px;
}
.title_belt {
    padding: 0.8em 0;
    text-align: center;
    font-size: 2.2em;
    letter-spacing: 1.5px;
    font-weight: bold;
    color: #ffffff;
    background-color: #000000;
    position: relative;
	margin-bottom:50px;
}
.title_belt::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid black;
	border-top-color:#000000;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -30px;
}
.title_cap {
    text-align: center;
    padding-top: 30px;
    padding-bottom: 50px;
    border-top: 1px solid #000000;
}
/*テーブル　２カラム*/
table.column2 {
    width: 96%;
    max-width: 800px;
    margin: 10px auto;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
table.column2 th,
table.column2 td{
    padding: 10px 2%;
    text-align: left;
    font-weight: normal;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
}
table.column2 th {
    width: 18.75%;
    min-width: 6.5em;
    background-color: rgba(0,165,131,0.15);
}
table.column2 td {
	background-color:#ffffff;
}

/*Googleマップ*/
.map_wrap{
	width:90%;
	max-width:800px;
	height:350px;
	margin:0 auto;
	border-radius:30px;
	border:10px solid #cccccc;
	overflow:hidden;
}
.googlemap {
    width: 100%;
    height: 100%;
}

/*==============================
　About us
==============================*/

section.aisatsu {
    width: 90%;
    max-width: 520px;
    margin: 50px auto;
}
section.aisatsu .text span {
    display: block;
    text-align: right;
    margin-top: 5px;
}
section.company {
    background-color: rgba(0,165,131,0.05);
    padding: 1px 0 50px;
}
#about .map_wrap{
	border-color:#00a583;
	margin-bottom:15px;
}
section.access{
	text-align:center;
	margin-bottom:100px;
}

/*==============================
　Landuse
==============================*/
#landuse .midashi{
	background-color:rgba(0,165,131,0.2);
}
#landuse .title_belt{
	background-color:#00a583;
}
#landuse .title_belt::after {
	border-top-color:#00a583;
}
#landuse section.merit {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto 80px;
    padding: 50px;
    border: 2px dotted #00a583;
    border-radius: 30px;
    background-color: rgba(0,165,131,0.15);
}
#landuse section.merit .inner {
    background-color: #ffffff;
    border-radius: 30px;
    padding: 50px 5%;
}

#landuse section.merit .photo,
.merit_list {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 710px;
}

#landuse section.merit .photo {
    text-align: center;
    margin-bottom: 15px;
}
#landuse section.merit .photo p {
    display: inline-block;
    margin: 0 1% 0;
    width: 47%;
}
#landuse section.merit .photo p img {
    width: 100%;
}

#landuse .merit_list li {
    border-bottom: 1px dotted #00a583;
    padding: 20px 0;
}
#landuse .merit_list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
#landuse .merit_list .title {
    font-weight: bold;
    font-size: 1.4em;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
#landuse .merit_list .title .number {
    color: #ffffff;
    font-weight: normal;
    display: inline-block;
    background-color: #00a583;
    text-align: center;
    width: 1.8em;
    padding: 0.4em 0;
    line-height: 100%;
    border-radius: 0.9em;
    margin-right: 14px;
}
#landuse .merit_list .title .emp{
	text-decoration:underline;
	color:#ff931e;
}


section.anxiety {
    background-color: #f2f2f2;
    padding: 60px 0;
    background-image: url(../img/landuse/anxiety01.png);
    background-repeat: no-repeat;
    background-position: calc(50% + 180px) bottom;
    background-size: 270px;
    position: relative;
    margin-bottom: 65px;
}
section.anxiety::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid black;
    border-top-color: #f15a24;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -30px;
}
section.anxiety  .title {
    font-weight: bold;
    font-size: 2.2em;
    line-height: 140%;
    margin-bottom: 30px;
	text-align:center;
}
ul.anxiety_list {
    width: 94%;
    max-width: 750px;
    margin: 0 auto;
}
ul.anxiety_list li {
	border-radius: 10px;
    background-color: #ffffff;
    padding: 15px 7%;
    margin-bottom: 8px;
    width: 50%;
    font-size: 1.4em;
    line-height: 140%;
    position: relative;
}
ul.anxiety_list li:after {
    content: ' ';
    position: absolute;
    right: -1em;
    top: 0;
    bottom: 0;
    margin: auto;
    box-sizing: border-box;
    width: 0.3em;
    height: 0.3em;
    border: 0.4em solid transparent;
    border-left: 0.6em solid #fff;
}


ul.resolution_list li {
	width: 90%;
    max-width: 1080px;
    border-radius: 10px;
    margin: 5px auto 25px;
    padding: 35px 25px;
    padding-left: calc(3% + 150px);
    min-height: 180px;
    background-color: #fffadc;
    border: 2px solid #ff931e;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);
    background-image: url(../img/landuse/resolution_bg.png);
    background-size: 120px;
    background-repeat: no-repeat;
    background-position: 4% 10px;
}
ul.resolution_list li .title {
    font-size: 1.8em;
    font-weight: bold;
    letter-spacing: 1px;
    color: #f15a24;
    margin-bottom: 20px;
}
ul.resolution_list li .text{
	font-size:1.25em;
	line-height:180%;
}
ul.resolution_list li .text b{
	text-decoration:underline;
}
ul.resolution_list li p[class*="photo"] {
    width: 29%;
    display: inline-block;
	margin-top:20px;
    margin-right: 3%;
	height:138px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
    position: relative;
}
ul.resolution_list li p[class*="photo"] span {
    color: #ffffff;
    background-color: #f15a24;
    display: block;
    width: 6em;
    padding: 0 0.5em;
    position: absolute;
    top: -5px;
    left: -3px;
}
ul.resolution_list li p[class*="photo"] span::after {
    content: '';
    position: absolute;
    left: -2px;
    bottom: -0.4em;
    box-sizing: border-box;
    width: 0.3em;
    height: 0.3em;
    border: 0.4em solid transparent;
    border-right: 0.6em solid #f15a24;
}
ul.resolution_list li .photo1{
	background-image:url(../img/landuse/resolution01.jpg);
}
ul.resolution_list li .photo2{
	background-image:url(../img/landuse/resolution02.jpg);
}
ul.resolution_list li .photo3{
	background-image:url(../img/landuse/resolution03.jpg);
}


section.simulate{
	max-width:1080px;
	margin:0 auto 50px;
    padding: 0 0 50px;
	background-color:#fffadc;
}
#landuse section.simulate .title_belt{
	background-color:#f15a24;
}
#landuse section.simulate .title_belt::after{
	border-top-color:#f15a24;
}
section.simulate .inner{
	width:90%;
	max-width:860px;
	margin:0 auto;
	position:relative;
}
section.simulate .inner::after{
    content: '';
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid black;
    border-top-color: #f15a24;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -50px;
}
.simulate_head b {
    display: inline-block;
    color: #f15a24;
    width: calc(100% - 4em);
	font-size:1.2em;
}
.simulate_head span {
    display: inline-block;
    color: #000000;
    text-align: right;
    width: 4em;
}
.simulate .inner .text{
	font-size:87.5%;
	line-height:140%;
    margin-bottom: 80px;
}
.simulate .inner_foot{
	text-align:center;
}
.simulate .inner_foot .conclusion {
    font-size: 2.8em;
    font-weight: bold;
    margin-bottom: 22px;
}
.simulate .inner_foot .conclusion span{
    color: #f15a24;
}

section.maintenance{
	background-color:rgba(0,160,131,0.1);
	padding-bottom:60px;
	margin-bottom:80px;
}
.maintenance .inner {
    border: 2px dotted #00a583;
    border-radius: 30px;
    background: #fff;
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 40px;
    text-align: center;
}
.maintenance .inner .title {
    color: #00a583;
    font-size: 1.8em;
    letter-spacing: 1.5px;
    line-height: 140%;
    margin-bottom: 40px;
}

.owner_banner {
	width:90%;
	max-width:1084px;
	margin:0 auto 120px;
}
.owner_banner img{
	width:100%;
}

/*==============================
　Rooftopuse
==============================*/
#rooftopuse .midashi{
	background-color:rgba(0,176,195,0.35);
}
#rooftopuse .title_belt{
	background-color:#00b0c3;
}
#rooftopuse .title_belt::after {
	border-top-color:#00b0c3;
}
#rooftopuse section.merit {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto 80px;
    padding: 50px;
    border: 2px dotted #00b0c3;
    border-radius: 30px;
    background-color: rgba(0,165,131,0.15);
}
#rooftopuse section.merit .inner {
    background-color: #ffffff;
    border-radius: 30px;
    padding: 50px 5%;
}

#rooftopuse section.merit .photo,
.merit_list {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 710px;
}

#rooftopuse section.merit .photo {
    text-align: center;
    margin-bottom: 15px;
}
#rooftopuse section.merit .photo p {
    display: inline-block;
    margin: 0 1% 0;
    width: 47%;
}
#rooftopuse section.merit .photo p img {
    width: 100%;
}

#rooftopuse .merit_list li {
    border-bottom: 1px dotted #00b0c3;
    padding: 20px 0;
}
#rooftopuse .merit_list li:last-child {
    border-bottom: none;
/*    padding-bottom: 0;*/
}
#rooftopuse .merit_list .title {
    font-weight: bold;
    font-size: 1.4em;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
#rooftopuse .merit_list .title .number {
    color: #ffffff;
    font-weight: normal;
    display: inline-block;
    background-color: #00b0c3;
    text-align: center;
    width: 1.8em;
    padding: 0.4em 0;
    line-height: 100%;
    border-radius: 0.9em;
    margin-right: 14px;
}
#rooftopuse .merit_list .title .emp{
	text-decoration:underline;
	color:#ff931e;
}

#rooftopuse section.simulate .title_belt{
	background-color:#f15a24;
}
#rooftopuse section.simulate .title_belt::after{
	border-top-color:#f15a24;
}

/*==============================
　Smile
==============================*/
#smile .title_belt{
	background-color:#ff931e;
	margin-bottom:0;
}
#smile .title_belt::after{
	border-top-color:#ff931e;
	z-index:2;
}
#smile .midashi{
    background-color: rgba(255,218,0,0.15);
}
#smile .midashi .title{
	color:#ff931e;
}
#smile .midashi .text{
	width:90%;
	max-width:710px;
	margin-left:auto;
	margin-right:auto;
    margin-bottom: 40px;
    text-align: left;
}
#smile h3.title .title_head{
	color:#ff931e;
}


#smile section.merit {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto 80px;
    padding: 50px;
    border: 2px dotted #ffda00;
    border-radius: 30px;
    background-color: rgba(255,218,0,0.1);
}
#smile section.merit .inner {
    background-color: #ffffff;
    border-radius: 30px;
    padding: 50px 5%;
}

#smile section.merit .photo,
.merit_list {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 710px;
}

#smile section.merit .photo {
    text-align: center;
    margin-bottom: 15px;
}
#smile section.merit .photo p {
    display: inline-block;
    margin: 0 1% 0;
    width: 47%;
}
#smile section.merit .photo p img {
    width: 100%;
}

#smile .merit_list li {
    padding: 0 0 50px;
	position:relative;
}
#smile .merit_list li:last-child {
    border-bottom: none;
}
#smile .merit_list .title {
    font-weight: bold;
    font-size: 1.4em;
    letter-spacing: 1px;
    margin-bottom: 20px;
    background: #ffda00;
    padding: 0.5em 1em;
    border-radius: 5px;
}
#smile .merit_list .illust {
    position: absolute;
    z-index: 5;
    right: 0;
    top: -30px;
    width: 30%;
}
section.guidance .illust {
    position: absolute;
    top: -150px;
    right: 0;
    width: 30%;
}


.schedule .table_wrap {
    width: 96%;
    max-width: 980px;
    margin: 0 auto;
}
table.weekday,
table.holiday {
    width: 50%;
    float: left;
	background-color:#ffffff;
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
	border-right:1px solid #cccccc;
}
.schedule table th,
.schedule table td{
	border-bottom:1px solid #cccccc;
	font-weight:normal;
    min-width: 5.5em;
}
table.weekday th{
	background-color:#feef9e;
}
table.holiday th{
	background-color:#ffce98;
}
.schedule table th, .schedule table td {
    border-bottom: 1px solid #cccccc;
    padding: 6px 1em;
}



section.guidance .inner {
    max-width: 980px;
    width: 90%;
    margin: 0 auto 50px;
	padding:50px;
    border: 1px solid #ffda00;
    border-radius: 30px;
    background-color: rgba(255,218,0,0.1);
	position:relative;
}

table.guidance th {
    margin: 0;
    padding: 0;
    padding-bottom: 15px;
    vertical-align: top;
    min-width: 130px;
}
table.guidance th span {
    display: block;
    background-color: #ffda00;
    border-radius: 8px;
    padding: 2px 0;
}
table.guidance td {
    padding: 0 0 20px 1em;
}

table.times,
table.price {
	width:100%;
    border-top: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
}
table.times th,
table.price th {
    background: #ffda00;
    vertical-align: middle;
    border-left: 1px solid #ccc;
    font-weight: normal;
    padding: 10px 0;
    min-width: auto;
}
table.times td,
table.price td {
    background-color: #ffffff;
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    text-align: center;
    padding: 15px 0;
    vertical-align: middle;
}
table.times td.maru,
table.times td.batu {
    font-size: 1.8em;
}
table.times td.maru{
	color:#f00;
}
table.price th,
table.price td{
	width:50%;
	text-align:left;
}
table.price td {
    padding: 10px 1em;
}
section.guidance .link_btn{
	max-width:360px;
	margin-bottom:100px;
	margin-left:auto;
	margin-right:auto;
}


#smile section.access,
#smile section.schedule {
    background-color: rgba(255,218,0,0.1);
    padding: 1px 0 80px;
}
#smile .map_wrap{
	border-color:#ffda00;
}
#smile section.access .titlecap {
    font-size: 2.2em;
    font-weight: bold;
    margin: 30px 0 40px;
    color: #ff931e;
    letter-spacing: 1px;
}
.pdf_link {
    color: #f1524a;
    border: 2px solid #f1524a;
    border-radius: 8px;
    background-color: #ffffff;
    padding: 2px 1.5em;
    margin-right: 1em;
    line-height: 100%;
    letter-spacing: 0.5px;
	transition:all ease 200ms;
}
.pdf_link:hover{
	background-color:#f1524a;
	color:#ffffff;
}
/*20250114 add*/
table.program {
    width: 100%;
	border:1px solid #cccccc;
    border-right: none;
    border-bottom: none;
}
table.program th {
	background-color:#feef9e;
    font-weight: normal;
}
table.program th,
table.program td {
    padding: 6px 1em;
	border:1px solid #cccccc;
    border-top: none;
    border-left: none;
}
table.program th:not(.rl){
    min-width: 7em;
}
table.program + .date {
    text-align: right;
    font-size: 85%;
    margin-top: 10px;
}
@media screen and (max-width:700px) {
table.program tr {
    display: flex;
    flex-wrap: wrap;
}
table.program th,
table.program td{
    width: 100%;
    min-width: 100%;
}
table.program th.rl {
    font-weight: bold;
}
table.program th br {
    display: none;
}
}
/*20250114 add END*/

/*==============================
　Billboard
==============================*/
#billboard h3.title .title_head{
	color:#f48e6d;
    padding: 1px 0 80px;
}

.billboard_list_wrap{
	background-color:#fdefeb;
    padding: 1px 0 100px;
    margin-bottom: 100px;
}
.board_list{
    max-width: 1080px;
    margin: 0 auto;
}
.board_list_content{
    background-color: #ffffff;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);
    border-radius: 30px;
    padding: 60px 30px;
	margin-bottom:70px;
}
.board_list_content:last-child{
	margin-bottom:0;
}
.board_title_wrap {
    text-align: center;
    margin-bottom: 25px;
}
.board_title {
    color: #f48e6d;
    font-size: 2.2em;
    line-height: 100%;
    letter-spacing: 1px;
    margin-top: 0;
    margin-bottom: 12px;
}
.board_subtitle {
    font-size: 1.1em;
    font-weight: bold;
}
.board_point_wrap {
    margin-bottom: 30px;
}
.board_image {
    width: 50%;
    float: left;
    margin-right: 25px;
}
.board_image img {
    width: 100%;
}
.board_point {
    float: right;
    width: calc(50% - 25px);
}
.board_point_title {
    color: #f48e6d;
    font-weight: bold;
    font-size: 1.5em;
    line-height: 120%;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
    position: relative;
    padding-top: 60px;
}
.board_point_title::before {
	content: "Point １";
    display: block;
    font-size: 0.65em;
    line-height: 100%;
    color: #ffffff;
    padding: 7px 15px;
    background-color: #f48e6d;
    position: absolute;
    z-index: 3;
    top: 20px;
	left:0;
}
.board_point_title:nth-of-type(2)::before {
    content: "Point ２";
}
.board_point_title:nth-of-type(3)::before {
    content: "Point ３";
}
.board_point_title:nth-of-type(4)::before {
    content: "Point ４";
}
.board_point_title::after {
    content: "▼";
    color: #f48e6d;
    display: block;
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 2;
}
.board_point_description {
    font-size: 0.875em;
    line-height: 160%;
    padding-bottom: 15px;
    border-bottom: 2px solid #f48e6d;
}
.board_point_description:last-child {
    border: none;
}
.board_map_wrap {
    background-color: #fdefeb;
    margin-bottom: 20px;
    padding: 20px 30px 30px;
}
.board_map_title {
    font-family: 'Oswald';
    text-align: center;
    font-size: 2.2em;
    line-height: 100%;
    margin-bottom: 25px;
}
.board_map_title .street_view_head {
    color: #f48e6d;
}
.google_map {
    display: block;
    width: 100%;
    max-width: 456px;
    height: 280px;
    float: left;
    margin-right: 30px;
}
.google_map:last-child {
    margin-right: 0;
}

.billboard_table {
    width: 100%;
    font-size: 0.875em;
    line-height: 160%;
    flex-wrap: nowrap;
    border-right: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}
.billboard_table .tl {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}
.billboard_table .th,
.billboard_table .td{
    padding: 1em 0.5em 1em 1.5em;
}
.billboard_table .th {
    color: #f48e6d;
    width: 12.5%;
    border-top: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
}
.billboard_table .td {
    width: 38.5%;
    border-top: 1px solid #cccccc;
	padding-right:1.5em;
	padding-left:0.5em;
}
.billboard_table .tl:last-child .td {
    width: 88.5%;
}

.board_link_wrap {
    margin: 60px auto 0;
    width: 100%;
    max-width: 360px;
}
/*==============================
　Pestcontrol
==============================*/
#pestcontrol .midashi{
    background-color: #cce3ff;
}
.midashi b {
    font-size: 1.5em;
    line-height: 160%;
}
.midashi strong {
    font-size: 1.8em;
}

#pestcontrol .copy01 {
    text-align: center;
    margin: 50px 0 80px;
    font-size: 4em;
    font-weight: bold;
    line-height: 160%;
}
#pestcontrol .copy01 b {
    font-size: 1.2em;
    color: #f15a24;
}
#pestcontrol .copy01 span {
    font-size: 0.5em;
    font-weight: normal;
    line-height: 140%;
    display: block;
    margin-top: 20px;
}

#pestcontrol .copy02 {
    text-align: center;
    margin: 50px 0 80px;
    font-size: 2em;
    font-weight: bold;
    line-height: 160%;
}
#pestcontrol .copy02 span {
    color: #f15a24;
}
#pestcontrol .copy02 b {
    font-size: 1.4em;
}

.trial_banner {
	width:90%;
	max-width:1084px;
    margin: 0 auto 100px;
}
.trial_banner img{
	width:100%;
}

#pestcontrol section.anxiety {
    background-color: #b3b3b3;
    background-image: url(../img/pestcontrol/anxiety01.png);
    background-position: calc(50% - 180px) bottom;
	position:relative;
}
#pestcontrol ul.anxiety_list::before,
#pestcontrol ul.anxiety_list::after {
    content: '';
    width: 55px;
    height: 70px;
    background: url(../img/pestcontrol/goki.png) no-repeat center / cover;
    position: absolute;
    bottom: 10px;
}
#pestcontrol ul.anxiety_list::before{
    left: 10px;
}
#pestcontrol ul.anxiety_list::after{
	right:10px;
	transform:rotate(60deg);
}

#pestcontrol ul.anxiety_list{
	max-width:1000px
}
#pestcontrol ul.anxiety_list li {
    margin-left: 50%;
    width: 50%;
    padding: 15px 25px;
}
#pestcontrol ul.anxiety_list li:before,
#pestcontrol ul.anxiety_list li:after {
    content: '●';
    position: absolute;
    color: #ffffff;
    left: -1.2em;
    top: 0;
    bottom: 0;
    right: auto;
    margin: auto;
    border: none;
    font-size: 1em;
    width: 1em;
    height: 1em;
}
#pestcontrol ul.anxiety_list li:before {
    width: 0.5em;
    height: 0.5em;
    font-size: 0.5em;
    left: -3.5em;
    padding-bottom: 3em;
}
#pestcontrol section.anxiety .title {
    text-align: left;
    margin-left: 50%;
    font-size: 1.8em;
}
#pestcontrol ul.anxiety_list li {
    font-size: 1.2em;
}
#pestcontrol ul.anxiety_list li span {
    color: #f15a24;
}

#pestcontrol .merit{
	background:url(../img/pestcontrol/merit_bg.jpg) no-repeat center / cover;
    padding-bottom: 90px;
}

#pestcontrol .merit .title_belt {
	background-color:#0071bc;
}
#pestcontrol .merit .title_belt::after{
	border-top-color:#0071bc;
}
#pestcontrol .merit .inner{
	width:90%;
	max-width:960px;
	margin:0 auto;
    padding-top: 30px;
}
#pestcontrol .merit .inner li {
    background-color: #ffffff;
	width:48%;
    margin: 0 0.5% 40px;
    display: inline-block;
    vertical-align: top;
}
#pestcontrol .merit .inner li .number {
    text-align: center;
    background-color: #0071bc;
    color: #ffffff;
    font-size: 1.8em;
    font-weight: bold;
    padding: 15px;
	width:50%;
    min-width: 200px;
    margin: -10px auto 0;
}
#pestcontrol .merit .inner li .title {
    color: #0071bc;
    font-size: 2em;
    line-height: 120%;
    text-align: center;
    font-weight: bold;
    margin: 20px 0 15px;
}
#pestcontrol .merit .inner li .title_cap {
    margin: 0 20px;
    padding: 10px 0 20px;
    font-size: 1.4em;
    color: #0071bc;
    border-top-color: #0071bc;
}
#pestcontrol .merit .inner li .text {
    padding: 0 25px 30px;
}


#pestcontrol h3.title .title_head {
	color:#0071bc;
}

section.lineup {
    width: 90%;
    max-width: 1040px;
    margin: 0 auto 100px;
}

.product_list{
	margin-bottom:100px;
}
.product_list .photo {
    width: 34.6%;
    float: left;
}
.product_list .photo img {
    width: 100%;
}

.product_list .spec {
    width: 61%;
    float: right;
}
.product_list .spec .name {
    font-size: 3em;
    line-height: 100%;
    padding-bottom: 15px;
    margin-bottom: 25px;
    border-bottom: 1px solid #000000;
}
.product_list .spec .price {
    font-size: 2em;
    margin: 0 0 35px;
    font-weight: bold;
    color: #f00;
}
.product_list .spec .price span {
    font-size: 50%;
    color: #000000;
}

.product_list .spec table.column2{
	width:100%;
}
.product_list .spec table.column2 th,
.product_list .spec table.column2e td {
    padding: 5px 1em;
}
.product_list .spec table.column2 th {
	width: 24%;
    text-align: right;
    background-color: #d9ebff;
	vertical-align:middle;
}

#pestcontrol .merit .inner ul{
	display:flex;
}

/*==============================
　Contact
==============================*/
section.contact {
    width: 90%;
    max-width: 980px;
    border: 1px solid #cccccc;
    margin: 0 auto 80px;
    padding: 30px;
}
#contact table {
    border: none;
    width: 100%;
    max-width: 920px;
    margin: 0;
}
#contact table.column2 th,
#contact table.column2 td{
	border:none;
	background-color:#ffffff;
	padding:10px 0 10px 0;
}
#contact table.column2 th{
	vertical-align:middle;
}
table.column2 td input,
table.column2 td select,
table.column2 td textarea {
    width: 100%;
    border: 1px solid #cccccc;
    border-radius: 5px;
    font-size: 1em;
    padding: 1em 0.5em;
}
table.column2 td textarea {
	height:10em;
}
th.hissu::after {
    content: '　必須';
    color: #f00;
    font-size: 87.5%;
}#contact table.column2 td {
	position:relative;
}
.contact iframe {
    border: 1px solid #ccc;
    width: 100%;
	height:200px;
    margin: 15px 0;
}
.agree_wrap{
	text-align:center;
}

input#agree{
	display:none;
}
label.agree {
    display: inline-block;
    width: 90%;
    max-width: 400px;
    margin: 15px auto 30px;
    padding: 5px 0;
    background-color: rgba(0,165,131,0.1);
}
label.agree::before{
	content:'■　';
	color:#ffffff;
}
.btn_wrap{
	text-align:center;
}
.ok_btn,
.back_btn,
a.end_btn {
    display: block;
    border: none;
    font-size: 1em;
    width: 90%;
    max-width: 400px;
    margin: 20px auto;
    padding: 20px 0;
    background-color: #cccccc;
    color: #ffffff;
}
.ok_btn{
	pointer-events: none;
}
.agree_wrap #agree:checked ~ label.agree::before{
	content:'\02714　';
	color:#00a583;
}
.agree_wrap #agree:checked ~ .ok_btn,
.confirmation .ok_btn{
    background-color: #00a583;
	pointer-events: auto;
}
label.agree {
    display: inline-block;
    width: 90%;
    max-width: 400px;
    margin: 15px auto 30px;
    padding: 5px 0;
    background-color: rgba(0,165,131,0.1);
}

.confirmation table {
    margin: 50px 0 60px;
}
.confirmation table th, #contact .confirmation table td {
    border-bottom: 1px solid #000000;
    padding: 20px 10px;
}
.confirmation .ok_btn,
.confirmation .back_btn{
    width: 30%;
	margin-left:2%;
	margin-right:2%;
	display:inline-block;
}

@media screen and (max-width:600px) {
a.link_btn {
    margin: 0 10% 0;
    font-size: 1em;
}
h3.title {
    line-height: 80%;
    margin-bottom: 10px;
}
h3.title .title_name{
    display: block;
    letter-spacing: 1.5px;
}
h3.title .title_name::before{
	content:'';
}
.bg_town {
    height: 45px;
    background-size: cover;
}

/*テーブル　2カラム SP*/
table.column2 th, table.column2 td {
    display: block;
    width: 100%;
    text-align: center;
}
table.column2 th {
    border-bottom: none;
}
/*==============================
　firstview SP
==============================*/
#fv h2.title {
	font-size: 1.8rem;
    height: 8rem;
}
/*==============================
　Top SP
==============================*/
#index h3.title {
	font-size: 3.8em;
    text-align: center;
    padding-left: 0;
    padding-bottom: 0;
	margin-bottom:0;
    line-height: 80%;
}
#index section .text_box,
#index section .img_box{
    width: 90%;
    margin: 0 auto 30px;
    padding: 0;
    float: none;
}
#index section .text_box .text {
    padding: 0;
    margin-bottom: 20px;
}
#index section .link_btn{
	margin:0 auto;
}
#index #aboutus .img_box {
    width: 100%;
    height: 170px;
    box-shadow: 0 10px 0 rgba(0,165,131,0.2);
}
#index #service .img_box {
    width: calc(870px / 4);
    height: calc(820px / 4);
}

/*スライドここから*/
.swiper-slide{
	transition:all ease 300ms;
}
.swiper-slide.swiper-slide-active {
    z-index: 5;
}
.swiper-wrapper::before {
    content: '';
    display: block;
    background-color: #00a583;
    width: 100%;
    height: 50px;
    padding: 0 250%;
    position: absolute;
    z-index: 1;
    top: 0;
}
.swiper-slide.swiper-slide-prev .slide_box,
.swiper-slide.swiper-slide-next .slide_box {
    filter: brightness(60%);
}
.swiper-slide.swiper-slide-prev {
    right: -80px;
    transform: scale(0.9);
    z-index: 3;
}
.swiper-slide.swiper-slide-next {
    left: -80px;
    transform: scale(0.9);
    z-index: 3;
}

section#slide .name {
    color: #fff;
    background-color: #00a583;
    margin-bottom: 0;
    padding: 15px;
}
.swiper-container {
    border: none;
}
.swiper-slide {
    padding:0 5%;
}
.slide_box{
    border: 1px solid #00a583;
    border-radius: 5px;
	background-color:#ffffff;
    padding: 10px;
    padding-top: 40px;
}
.slide_box .img {
    width: 100%;
    height: 162px;
	float:none;
}
.slide_box .slide_text {
    width: 100%;
    float: none;
    margin-bottom: 25px;
}
.slide_text h4,
.slide_text .text {
    padding-left: 0;
}
.slide_text h4 {
    text-align: center;
}
.slide_text h4 span {
    font-size: 2.5em;
}
.slide_text .text{
	margin-bottom:25px;
	font-size:87.5%;
}

/*ボタン操作*/
.swiper-button-next, .swiper-button-prev {
    top: 250px;
    transform: scale(0.6,0.8);
}
.swiper-button-prev {
    left: 0;
}
.swiper-button-next {
    right: 0;
}
/*スライド　ここまで*/

/*==============================
　下層汎用 SP
==============================*/
div:not(#fv) > h2.title {
    height: 200px;
    padding-top: 50px;
    font-size: 3.5em;
}
.midashi {
    background-size: cover;
}
.midashi .title {
    font-size: 1.5em;
}
.midashi .icon {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.midashi .icon img {
    width: 100%;
}
.title_belt {
    font-size: 1.5em;
    line-height: 140%;
    padding: 0.4em;
}
.title_cap {
    padding: 0 5% 30px;
}

/*==============================
　Landuse SP
==============================*/

#landuse section.merit{
    padding: 3%;
    border-radius: 15px;
}
#landuse section.merit .inner{
    border-radius: 15px;
    padding: 15px 3%;
}
#landuse .merit_list .title {
    line-height: 140%;
}

section.anxiety {
    background-position: center bottom;
	background-size: 200px;
    padding-bottom: 270px;
}
section.anxiety .title{
	font-size:1.8em;
}
ul.anxiety_list li {
    width: 100%;
    text-align: center;
	font-size:1em;
}
ul.anxiety_list li:after{
	display:none;
}

.resolution{
	margin-bottom:50px;
}
ul.resolution_list li {
    padding: 30px 3%;
    margin-bottom: 10px;
}
ul.resolution_list li .title {
    font-size: 1.5em;
    line-height: 140%;
    letter-spacing: 0;
    margin-bottom: 5px;
}
ul.resolution_list li .text {
    font-size: 1em;
}
ul.resolution_list li p[class*="photo"] {
    width: 100%;
}


.simulate_head {
    font-size: 87.5%;
}
.simulate_head b,
.simulate_head span {
    display: block;
    width: 100%;
}
.simulate_img img {
    width: 100%;
}
.simulate .inner .text {
    font-size: 75%;
    margin-top: 10px;
}
.simulate .inner_foot {
    font-size: 82.5%;
}
.simulate .inner_foot .conclusion {
    font-size: 2.2em;
    line-height: 140%;
}


section.maintenance{
	margin-bottom:40px;
}
.maintenance .inner {
    padding: 20px 3%;
    border-radius: 10px;
}
.maintenance .inner .title {
    font-size: 1.3em;
    line-height: 140%;
    letter-spacing: 0;
    margin-bottom: 20px;
}
.maintenance .inner .img img{
	width:100%
}


.owner_banner {
    margin-bottom: 80px;
    overflow-x: hidden;
}


/*==============================
　Rooftopuse SP
==============================*/
#rooftopuse section.merit{
    padding: 3%;
    border-radius: 15px;
}
#rooftopuse section.merit .inner{
    border-radius: 15px;
    padding: 15px 3%;
}
#rooftopuse .merit_list .title {
    line-height: 140%;
}


/*==============================
　Smile SP
==============================*/
#smile section.merit{
    padding: 3%;
    border-radius: 15px;
}
#smile section.merit .inner{
    border-radius: 15px;
    padding: 15px 3%;
}
#smile .merit_list .title {
    line-height: 140%;
}
#smile .merit_list .illust {
    position: relative;
    top: 0;
    width: 70%;
    margin-left: 15%;
}
#smile .merit_list li{
    padding: 0 0 30px;
}
#smile section.merit .photo p {
    width: 100%;
}
table.weekday,
table.holiday {
    float: none;
    width: 100%;
}
.schedule table th {
    width: 6em;
}
.schedule table th,
.schedule table td{
    font-size: 87.5%;
}
section.guidance .illust {
    position: relative;
    width: 70%;
    top: 0;
    margin: 0 auto;
}
section.guidance .inner {
    padding: 10px 5%;
}
table.guidance th {
    width: 100%;
    display: block;
    padding-bottom: 5px;
}
table.guidance th span{
	padding:2px 1em;
	text-align:left;
}
table.guidance td {
    display: block;
    width: 100%;
    padding: 0;
    padding-bottom: 15px;
}
table.times tr {
    display: inline-block;
}
table.times tr:nth-of-type(1){
	width:35%;
}
table.times tr:nth-of-type(2){
	width:65%;
}
table.times th {
    border-bottom: 1px solid #cccccc;
}
table.times th,
table.times td,
table.price th,
table.price td{
	padding:5px;
}
table.price th, table.price td {
    width: 50%;
    display: table-cell;
	text-align:left;
    line-height: 140%;
}
section.guidance .link_btn{
	max-width:280px;
}
#smile section.access .titlecap {
    line-height: 130%;
}
.pdf_link_wrap{
	text-align:center;
}
.pdf_link {
    display: inline-block;
    padding: 10px 2em;
    margin: 15px;
}
/*==============================
　Billboard SP
==============================*/
.board_list {
    width: 94%;
}
.board_list_content {
    padding: 30px 5%;
    border-radius: 15px;
    margin-bottom: 40px;
}
.board_title_wrap {
    margin-bottom: 10px;
}
.board_title {
    font-size: 1.5em;
    line-height: 140%;
    margin-bottom: 5px;
}
.board_image,
.board_point {
    width: 100%;
    margin-right: 0;
}

.board_map_wrap {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 0;
}
.google_map {
    height: 210px;
    margin-bottom: 15px;
}

.billboard_table{
	border-right:none;
}
.billboard_table .tl {
    display: block;
}
.billboard_table .th,
.billboard_table .td,
.billboard_table .tl:last-child .td {
    width: 100%;
}
.billboard_table .th, .billboard_table .td {
    border: 1px solid #ccc;
	padding:10px;
}
.billboard_table .th{
    padding-bottom: 0;
	border-bottom:none;
}
.billboard_table .td{
	border-top:none;
    border-bottom: none;
	padding-top:0;
}
.board_link_wrap {
    margin-top: 30px;
}
/*==============================
　Pestcontrol SP
==============================*/
#pestcontrol .copy01 {
    font-size: 3em;
    line-height: 140%;
    margin: 30px 0 50px;
}


#pestcontrol section.anxiety {
    background-position: center bottom;
    padding-bottom: 330px;
}
#pestcontrol section.anxiety .title {
    width: 90%;
    margin: 0 auto 50px;
    text-align: center;
    font-size: 1.4em;
}
#pestcontrol ul.anxiety_list li {
    width: 100%;
    margin-left: 0;
}
#pestcontrol .merit .inner li {
    width: 100%;
}
.product_list{
	margin-bottom:60px;
}
.product_list .photo,
.product_list .spec{
	width:100%;
	float:none;
    text-align: center;
}
.product_list .photo {
    max-width: 180px;
    margin: 0 auto 10px;
}
.product_list .spec .name {
    font-size: 2em;
    margin-top: 20px;
    margin-bottom: 15px;
}
.product_list .spec .price {
    font-size: 1.8em;
    margin: 0 0 20px;
}
.product_list .spec table.column2 th {
    width: 100%;
    text-align: center;
}
#pestcontrol .merit .inner ul{
	display:block;
}
/*==============================
　Contact SP
==============================*/
#form_wrapper {
    padding-top: 100px;
    margin-top: -100px;
}
section.contact {
    padding: 0 2% 30px;
    border: none;
}
#contact table.column2 th {
    padding-bottom: 0;
    line-height: 140%;
}
#contact .confirmation table th {
    padding: 10px 0 5px;
    border-bottom: none;
    background-color: rgba(0,165,131,0.2);
}
#contact .confirmation table td {
    border: none;
    padding: 10px 0 30px;
}
.ok_btn, .back_btn {
    display: block;
    margin-bottom: 40px;
}
.confirmation .ok_btn,
.confirmation .back_btn{
    width: 90%;
    margin-left: auto;
    margin-right: auto;

}