@charset "UTF-8";
@import url("font.css");

html { font-size: 100%;
  font-family: Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  letter-spacing: 5px; }
body {
    display:-webkit-box;
    display:-ms-flexbox;display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
    /* overflow: hidden; */
    position: relative;  }
section { width:100%; overflow:hidden; }
.content { max-width: 980px; overflow: hidden; margin: 0 auto; padding: 24px; } 
.content_inner { 
    width: 100%;
    max-width: 980px;
    overflow: hidden;
    margin: 0 auto !important;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    padding: 0px 2%;
    padding-top: 0px;
    padding-top: 10px; }      

p { font-size: 1rem; text-align:left; letter-spacing: 2px; font-feature-settings: "palt"; }
span { display: inline-block; }
ul,li { list-style:none; padding:0 ; margin:0:}

h1 { font-size: 3rem;
    text-align: center;
    letter-spacing: 10px; 
     color:black;}
h2 { font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 20px; 
    /* text-align: center; */
    letter-spacing: 5px; }
h3 { font-size: 1.2rem;
    letter-spacing: 5px; */ }
img { max-width:100%; height: auto; }
a { font-size:100%; color:#000; }
a { transition: all .2s ease-in-out; }
.over:hover { opacity: .7; }
section { width:100%; }

.row { margin-bottom: 20px; }

.yellow_line { background: linear-gradient(transparent 70%, #edf134 20%); }
.green { color: #00636d; font-weight: bold; } 
.blue { color: #2d70c6; font-weight: bold; } 
.red { color: #f00; font-weight: bold; }
.center { text-align:center; }
/*-- PC版表示CSS  --*/
	.pc_area{ display:block; }
	.phone_area{ display:none; }

/*-- スマホ版表示CSS  --*/
@media screen and (max-width: 768px){
    .pc_area { display:none; }
    .phone_area,.sp { display:block; } 
    }
/*-- 改行分岐CSS  --*/
@media screen and (min-width: 680px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 680px){   
  .pc { display:none; }
  .sp { display:block; }
}
    
.effect-fade {  
    opacity : 0; 
    transform : translate(0, 45px); 
    transition : all 300ms; }

.effect-fade.effect-scroll { 
    opacity : 1; 
    transform : translate(0, 0); } 

header { background: #ffffffc9; width:100%; padding:0 0; box-shadow: 0px 1px 2px -1px; }
.headnavi { max-width: 980px; overflow: hidden; margin: 0 auto; }
.headnavi ul { float: right; margin-bottom: 0; } 
.headnavi ul li { 
    display: inline-block; float: left;
    max-width: 240px; margin:5px; }
/*-- トップ ----------------------------------------------------------- */
#top_content {
    background-image: url(../img/istockphoto-649087808-1024.png);
    background-size: cover;
    background-position: center;
    width: 100%; }

#top_content div { 
    width: 100%;
    max-width: 980px;
    overflow: hidden;
    margin: 0 auto !important;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center; }

.main-v { }

#logo, #title, #description{ filter: drop-shadow(0px 0px 3px #fff); }
#logo { background:#ffffff52; padding:5px; float: left; width:35%;}

/*-- cta ----------------------------------------------------------- */
.cta { width:100%; padding-bottom:2rem auto; text-align:center; background-color:#cef3ff; }
.line .tell .mail {display: inline-block; }

.cta-txt {
    display: inline-block;
    position: relative;
    margin: 0 0 10px;
    font-weight: bold;
    line-height: 1.5; }
.cta-txt::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: -10px;
    width: 1px;
    height: 16px;
    vertical-align: top;
    background: #1a1a1a;
    transform: translateY(-50%) rotate(-20deg); }
.cta-txt::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -10px;
    width: 1px;
    height: 16px;
    vertical-align: top;
    background: #1a1a1a;
    transform: translateY(-50%) rotate(20deg); }
.cta-btn a {
  display: block;
  padding: 20px;
  border-radius: 20px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  background: #19a690;
  box-shadow: 0 6px 0 #006f5e; }
.cta-btn a span {
  display: inline-block;
  position: relative;
  padding: 0 0 0 30px;
  font-size: 32px; }
.cta-btn a span:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(-50%) rotate(45deg); }
  
@media screen and (max-width: 768px) { 
#top_content { background-image: url(../img/istockphoto-649087808-768.png);}
.cta-txt { font-size:1rem; }
.cta-btn a span { font-size:1.2rem;}
.cta-btn a{ font-size:1rem;}
}
@media screen and (min-width: 1200px) { 
#section-03 { background-image: url(../img/istockphoto-649087808-1920.png);}
}
/*--section-01--*/
#section-01 ul li { list-style:disclosure-closed; font-size: 1.2rem;}
.sec_bluebox {
    background-color: #1e62af;
    color: #fff;
    line-height: calc(80 / 44); }
.sec_bluebox h2 { 
    font-weight: bold;
    width: 980px;
    margin: 0 auto;
    padding: 10px;
    font-size: 1.2rem; 
    text-align: center;}
.sec_bluebox p { 
    font-weight: bold;
    width: 980px;
    margin: 0 auto;
    padding: 20px 50px;
    font-size: 1.3rem; }
@media screen and (max-width: 768px) {
.sec_bluebox h2 {width:100%; font-size:1rem;}
.sec_bluebox p { width:100%; font-size:1.1rem; padding: 20px 20px;}
#section-01 ul li { font-size: 0.6rem;}
}    
/*--section-02--*/
#section-02 { background: #fff; text-align:center;}
.ttl-02 { font-size:2rem; text-align;center; margin-top:3rem;}
.ttl-02::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #22b573; }
.ttl-02-sub { display: block;
    font-size: 1.8rem;
    font-weight: bold; }
.advantage { font-weight: bold; font-size: 2rem; }
.advantage mark {
    background: linear-gradient(transparent 45%, #79ff66);
    margin: 1rem; }
.sec_greenbox {
    background-color: #22b573;
    color: #fff;
    line-height: calc(80 / 44); }
.sec_greenbox p { 
    font-weight: bold;
    width: 980px;
    margin: 0 auto;
    padding: 20px 50px;
    font-size: 1.5rem; 
    text-align: center; }
.circle {
    position: relative;/* ←文字の親要素に指定 */
    width: 100%;
    height: 100px; 
    background-color: pink;
    border-radius: 50%; 
    margin: 0 auto;
    text-align: center; }
.circle-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

@media screen and (max-width: 768px) {
.ttl-02 { font-size: 1.4rem; }
.ttl-02-sub { font-size: 1.5rem; }
.advantage { font-size: 0.8rem; }
.advantage mark { margin: 0.2rem; }
.sec_greenbox p {width:100%; font-size:1.2rem;}
}    
/*--section-03--*/
#section-03 { background-image: url(../img/istockphoto-519616538-1024.png);
    background-size: cover;
    background-position: center;
    width: 100%; }
#section-03 > .content { background: #ffffffc4;
margin: 2% auto; }
.ttl-03 { font-size:2rem; text-align;center; margin-top:3rem;}
.ttl-03::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #22b573; }
.ttl-03-sub { 
    font-size: 1.4rem;
    background-color: #d3ffba;
    padding: 8px 16px;
    display: inline-block;
    font-weight: bold;}

@media screen and (max-width: 768px) {    
.ttl-03 { font-size: 1.2rem; }
.ttl-03-sub { font-size: 1.1rem; }
#section-03 { background-image: url(../img/istockphoto-519616538-768.png);}
}

@media screen and (min-width: 1200px) { 
#section-03 { background-image: url(../img/istockphoto-519616538-1920.png);}
}

/*--section-04--*/
#section-04 {
    position: relative;
    margin: 0;
    padding: 10px 15px;
    background: #fee002;
    z-index: 0; }
    
.ttl-04 { font-size:3rem; text-align;center; margin-top:3rem; color: #22b573; }
.ttl-04::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #22b573; }
.ttl-04-sub { display: block;
    font-size: 1.2rem;
    font-weight: bold; }
.service-item {
    overflow: hidden;
    margin: 25px 0 0;
    padding: 40px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(2, 2, 2, .1); }
.service-item h3 {
    display: flex;
    align-items: center;
    line-height: 1.1;
    font-size: 1.5rem; }
.service-item h3 i {
    display: block;
    margin: 0 10px 0 0;
    color: #fee002;
    font-size: 2.8rem;
    font-style: normal;
    transform: scale(.9, 1);
    transform-origin: top left; }
.service-item h3 small { font-size: 14px; }
@media screen and (max-width: 768px) { 
.ttl-04 { font-size:1.1rem; }
.service-item { padding: 15px 0; }
.service-item h3  { font-size:1rem; }
.service-item h3 small {font-size:0.6rem;}
.service-item h3 i { font-size:2rem;}
}
/*--section-05--*/
.ttl-05 { font-size:2rem; text-align;center; margin-top:3rem; }
.ttl-05::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px; 
    background: #22b573; }
.ttl-05-sub { display: block;
    font-size: 1.8rem;
    font-weight: bold;
    background: #ff6c95;
    padding: 2rem;
    color: #fff;
    border-radius: 10px; }
    
table {
    border-top: 1px solid #b7b7b7;
    border-right: 1px solid #b7b7b7;
    background: #fff;
    border-spacing: 0;
    margin: 0 auto;
}
th, td {
    border-bottom: 1px solid #b7b7b7;
    border-left: 1px solid #b7b7b7;
    text-align: center;
    padding: 5px;
}
th { background-color: #22b573; color: #fff;}
@media screen and (max-width: 768px) { 
#achievement table { width: 100%; border:none; padding: 10px;}
#achievement thead { display: none;}
#achievement tr {
    border-top: 1px solid #4f4d47;
    display: block;
    margin-bottom: 20px;
}
#achievement td {
    border-right: 1px solid #4f4d47;
    border-bottom: none;
    display: block;
    padding: 0;
}
/* tdのデザイン */
#achievement td:last-child { border-bottom: 1px solid #4f4d47;}
     
/*td:beforeのデザイン*/
#achievement td:before { background-color: #61c5bb; color: #fff; display: block; }
/* contentでタイトルを追加 */
#achievement td:nth-of-type(1):before { content: "ご発注元";}
#achievement td:nth-of-type(2):before { content: "工事種別";}
#achievement td:nth-of-type(3):before { content: "対象物質";}
#achievement td:nth-of-type(4):before { content: "処理概要";}
#achievement tr:nth-of-type(1):before { content: "実績案no.01";}
#achievement tr:nth-of-type(2):before { content: "実績案no.02";}
#achievement tr:nth-of-type(3):before { content: "実績案no.03";}
#achievement tr:nth-of-type(4):before { content: "実績案no.04";}
#achievement tr:nth-of-type(5):before { content: "実績案no.05";}
#achievement tr:nth-of-type(6):before { content: "実績案no.06";}
#achievement tr:nth-of-type(7):before { content: "実績案no.07";}
#achievement tr:nth-of-type(8):before { content: "実績案no.08";}
#achievement tr:nth-of-type(9):before { content: "実績案no.09";}
.ttl-05-sub { font-size:1.2rem; padding:1.5rem;;}
}

/*--section-06--FAQ*/
#section-06 { 
    padding: 0 0 50px 0;
    display:-webkit-box;
    display:-ms-flexbox;display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center; 
    background-color: #edf3f9; }
.ttl-06 { font-size:2rem; text-align;center; margin-top:3rem; }
.ttl-06::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #22b573; }
.ttl-06-sub { display: block;
    font-size: 1.2rem;
    font-weight: bold; }
#section-06 .wrap { /*width: 970px*/; }
#section-06 h3 { 
    margin-bottom: 40px;
    text-align: center; }
#section-06 h4 { 
    background-color: #b6d8e6;
    padding: 10px 0 10px 20px;
    border-radius: 5px;
    color: #000;
    text-align: left;
    cursor: pointer;
    width: 100%;
    position: relative; }
#section-06 p { text-align:left; }
.accordion .accordion_li { width:100%; }
.accordion_li div { display:inline-block;}
.fa-chevron-circle-down { position: absolute; right:0px; }

/*--section-08--contact*/
#section-08 { background-color: #edf3f9; padding-bottom: 50px;}
.ttl-08 { text-align: center; }
.ttl-08::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #22b573; }
    
.ttl-08-sub { display: block;
    font-size: 1.2rem;
    font-weight: bold; 
    text-align: center; }

.txt-area, .select { width:100%; }
.required {
    background-color: #ffb471;
    color: #fff;
    padding: 5px;
    border-radius: 2px;
    line-height: 0.8em;
    text-align: center;
    font-size: 0.6rem; }
.btn {margin:10px auto;}
a.anchor {
    display: block;
    padding-top: 70px;
    margin-top: -70px; }

@media screen and (max-width: 768px) { 
#section-08 table { width: 95%; }
#section-08 th,#section-08 td { display:block; }
.ttl-08-sub { font-size:0.8rem;}
}

 /*-- section-video --*/  
#video { background-color: #cacaca; 
    padding:20px 0;}
.ttl-video { text-align: center; color:#ffffff;}
.ttl-video::after {
    content: "";
    display: block;
    width: 20%;
    height: 4px;
    margin: 15px auto 0;
    border-radius: 8px;
    background: #ffffff; }
.youtube { margin:5px; }
@media screen and (min-width: 768px) { 
#video .col-md-6 { -ms-flex: 0 0 48%;
flex: 0 0 48%;
max-width: 48%; }
}
@media screen and (max-width: 768px) { 
.youtube { margin: 5px 0; } 
}

#support h3 { 
color:#024ec6;
font-weight:bold;
border: solid 3px #024ec6;
border-radius: 5px;
background-color: #eefde4;
padding-top: 1.2rem;
padding-bottom: 1.2rem; }

#steps h3 { border: solid 1px #acdaf0;
border-radius: 5px;
background-color: #acdaf0;
padding-top: 1.2rem;
padding-bottom: 1.2rem; }

/*--フロー ----------------------------------------------------------- */
#flow { background-color:#ececec; width:100%;}
#flow h2 { 
    margin-bottom: 50px;
    text-align: center; }

.agreement { display: block; background: #ffffff; margin: 10px 0; padding: 1rem; }
.agreement > span { font-weight: bold; margin-bottom: 1.5rem; }
@media screen and (max-width: 768px) {
.agreement { width: 95%; display: block; margin: 1rem auto; }
}

/*--フッター ----------------------------------------------------------- */
#footer { background: #22b573; width:100%; letter-spacing: 0px; }
#footer h2 { font-size:1.5rem;}
#footer p { font-size: 1rem; text-align: center; line-height:1rem;}
#footer ul li { margin: 0 auto; padding: 0;}
#footer small {font-size:0.8rem;}
#footer a { text-decoration: none; opacity: 1.0; color:#fff; }
#footer a:hover { opacity: 0.7; }
#footer hr { background-color:#fff;}
.copyright { text-align: center; padding: 10px;  color: #fff;}

/*-- JS ----------------------------------------------------------- */
.fadein { opacity : 0; transform: translateY(20px); transition: all 1s; }
.wow { visibility: hidden; }  

/*--追跡 ----------------------------------------------------------- */
.gotop { position: fixed; bottom: 0; right: 0;}
.gotop a { width: 100%; height: 100%; display: block; }
@media screen and (max-width: 768px) { 
.sp-cta-btn { background-color: #333;
	position: fixed;
	bottom: 0px;
	padding-top: 2%;
	padding-bottom: 2%;
	padding-right: 2%;
	padding-left: 2%;
	background-color: rgba( 0, 0, 0, 0.8 );
	width: 100%;
	text-align: center;
	z-index: 10000; }
.sp-cta-txt { 
    display: inline-block;
    position: relative;
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 1.5; color:#fff; }
.sp-cta-txt::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: -10px;
    width: 1px;
    height: 16px;
    vertical-align: top;
    background: #fff;
    transform: translateY(-50%) rotate(-20deg); }
.sp-cta-txt::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -10px;
    width: 1px;
    height: 16px;
    vertical-align: top;
    background: #fff;
    transform: translateY(-50%) rotate(20deg); }
.mail { width: 49%; height: auto; float: left; }
.tel { width: 49%; height: auto; float: right; }
}


@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
h1 { font-size: 2.2rem; lline-height: 1.4;}
h2 { font-size: 1rem; }
p {font-size: 0.8rem; }
#logo { text-align:center; margin:0 auto; width: 65%; float: none;}
#footer { margin-bottom:100px;}
}