@charset "UTF-8";



/* /service/
-------------------------------------------------*/
.serviceTop {
    padding-bottom: 3em;
}
.serviceTop table {
    width: 100%;
    margin-top: 40px;
}
.serviceTop table th {
    background-color: #2059a7;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    border-bottom: 2px solid #fff;
    width: 90px;
    padding: 1em 0;
    line-height: 1.2;
}
.serviceTop table th span {
    display: block;
    padding-top: 3.8em;
}
.serviceTop table .icon01 span {
    background: url("../service/img/icon01.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon02 span {
    background: url("../service/img/icon02.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon03 span {
    background: url("../service/img/icon03.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon04 span {
    background: url("../service/img/icon04.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon05 span {
    background: url("../service/img/icon05.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon06 span {
    background: url("../service/img/icon06.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon07 span {
    background: url("../service/img/icon07.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon08 span {
    background: url("../service/img/icon08.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table .icon09 span {
    background: url("../service/img/icon09.png") center top no-repeat #2059a7;
    background-size: 4em auto;
}
.serviceTop table td {
    vertical-align: top;
    padding-left: 30px;
}
.serviceTop table td ul li {
    border-bottom: 1px dashed #9d9d9d;
    display: table;
    width: 100%;
}
.serviceTop table td ul li.fi {
    border-top: 1px dashed #9d9d9d;
}
.serviceTop table td ul li h2 {
    display: table-cell;
    font-size: 1.2857em;
    font-weight: normal;
    color: #2059a7;
    width: 200px;
    padding: 15px 0;
    line-height: 1.45;
}
.serviceTop table td ul li p {
    display: table-cell;
    padding: 15px 0 15px 30px;
}
@media only screen and (min-width:751px) and (max-width:1280px){
.serviceTop table {
    margin-top: 3.125vw;
}
.serviceTop table th {
    font-size: 0.859vw;
    width: 7vw;
}
.serviceTop table td {
    padding-left: 2.343vw;
}
.serviceTop table td ul li h2 {
    font-size: 1.406vw;
    width: 16vw;
    padding: 1.17vw 0;
}
.serviceTop table td ul li p {
    padding: 1.17vw 0 1.17vw 2.343vw;
}
}
@media only screen and (max-width:750px){
.serviceTop {
    padding-bottom: 0;
}
.serviceTop table {
    margin-top: 0;
}
.serviceTop table th {
    font-size: 3vw;
    width: 24vw;
}
.serviceTop table td {
    padding-left: 3vw;
}
.serviceTop table td ul li h2 {
    display: block;
    font-size: 4.6vw;
    width: 100%;
    padding: 4vw 0 2vw;
}
.serviceTop table td ul li p {
    display: block;
    padding: 0 0 4vw;
}
}


/* common
-------------------------------------------------*/
.serviceBox1 {
    margin-bottom: 50px;
}
.serviceBox1 .box01 {
    width: 980px;
    margin: 0 0 0 20px;
    position: relative;
}
.serviceBox1 .box02 {
    padding-bottom: 2em;
}
.serviceBox1 .box_waku01 {
    border: 1px solid #d0d0d0;
    padding: 1em 1.5em;
    margin: 1.5em 0 2.5em;
}
.serviceBox1 .smellTxt1 {
    font-size: 1.1428em;
    padding-bottom: 1em;
}
.serviceBox1 .smellTxt1 span {
    font-size: 1em;
    padding-left: 1em;
    display: inline-block;
}
.serviceBox1 .smellTxt2 {
    font-size: 0.9285em;
    padding: 0 0 1em 1em;
    text-indent: -1em;
}
.serviceBox1 .soilimg1 img {
    width: auto;
}
.serviceBox1 .drinkTxt1 {
    padding-bottom: 1em;
}
.serviceBox1 .flow1,
.serviceBox1 .flow2 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding-top: 1.5em;
}
.serviceBox1 .flow1 li,
.serviceBox1 .flow2 li {
    width: 13%;
    height: 65px;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.8571em;
    background-color: #2059a7;
    position: relative;
}
.serviceBox1 .flow1 li::after,
.serviceBox1 .flow2 li::after {
    content: '▶︎';
    color: #7a7a7a;
    position: absolute;
    right: -28px;
    top: 20px;
    font-size: 1.1428em;
}
.serviceBox1 .flow1 li:last-child::after,
.serviceBox1 .flow2 li:last-child::after {
    content: '';
}
.serviceBox1 .flow2 li {
    width: 15%;
}
.serviceBox1 .flow2 li::after {
    right: -40px;
}
.serviceBox1 .flow3 {
    display: table;
    padding-bottom: 30px;
    background: url("../common/img/icon8.png") 52px 80% no-repeat;
    background-size: 20px auto;
}
.serviceBox1 .flow3.last {
    background: none;
}
.serviceBox1 .flow3 dt {
    display: table-cell;
    width: 125px;
    height: 40px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    background-color: #2059a7;
}
.serviceBox1 .flow3 dd {
     display: table-cell;
    vertical-align: middle;
    padding-left: 1.5em;
}
@media only screen and (min-width:751px) and (max-width:1280px){
.serviceBox1 {
    margin-bottom: 4vw;
}
.serviceBox1 .box01 {
    width: 76.5625vw;
    margin: 0 0 0 1.5625vw;
}
.serviceBox1 .smellTxt1 {
    font-size: 1.25vw;
}
.serviceBox1 .smellTxt1 span {
    font-size: 1.09375vw;
}
.serviceBox1 .smellTxt2 {
    font-size: 1.0156vw;
}
.serviceBox1 .soilimg1 img {
    width: 45vw;
}
.serviceBox1 .flow1 li,
.serviceBox1 .flow2 li {
    height: 5.078vw;
    font-size: 0.9375vw;
}
.serviceBox1 .flow1 li::after,
.serviceBox1 .flow2 li::after {
    right: -2.1875vw;
    top: 1.5625vw;
    font-size: 1.25vw;
}
.serviceBox1 .flow2 li::after {
    right: -3.125vw;
}
.serviceBox1 .flow3 {
    padding-bottom: 2.343vw;
    background: url("../common/img/icon8.png") 4.0625vw 80% no-repeat;
    background-size: 1.5625vw auto;
}
.serviceBox1 .flow3 dt {
    display: table-cell;
    width: 9.765vw;
    height: 3.125vw;
}
}
@media only screen and (max-width:750px){
.serviceBox1 {
    margin-bottom: 10vw;
}
.serviceBox1 .box01 {
    width: 100%;
    margin: 0;
}
.serviceBox1 .box02 {
    width: 100%;
    margin: 0;
}
.serviceBox1 .smellTxt1 {
    font-size: 4.2vw;
}
.serviceBox1 .smellTxt1 span {
    font-size: 3.8vw;
    padding-left: 0;
}
.serviceBox1 .smellTxt2 {
    font-size: 3.8vw;
}
.serviceBox1 .soilimg1 img {
    width: 100%;
}
.serviceBox1 .flow1,
.serviceBox1 .flow2 {
    display: list-item;
}
.serviceBox1 .flow1 li,
.serviceBox1 .flow2 li {
    width: 100%;
    height: auto;
    display: list-item;
    font-size: 4vw;
    margin-bottom: 8vw;
    padding: 0.2em 0;
}
.serviceBox1 .flow1 li::after,
.serviceBox1 .flow2 li::after {
    content: '';
    background: url("../common/img/icon8.png") center top no-repeat;
    background-size: 6vw auto;
    width: 6vw;
    height: 3vw;
    margin-left: -3vw;
    bottom: -5.5vw;
    left: 50%;
    top: inherit;
}
.serviceBox1 .flow1 li:last-child::after,
.serviceBox1 .flow2 li:last-child::after {
    background: none;
}
.serviceBox1 .flow2 li {
    width: 100%;
}
.serviceBox1 .flow2 li::after {
    right: -40px;
}
.serviceBox1 .flow3 {
    display: table;
    padding-bottom: 8vw;
    background: url("../common/img/icon8.png") 13vw 84% no-repeat;
    background-size: 6vw auto;
}
.serviceBox1 .flow3 dt {
    width: 32vw;
    height: 13vw;
}
.serviceBox1 .flow3 dd {
    padding-left: 1em;
}
}


/* box
-------------------------------------------------*/
.serviceBox1 .box1 {
    width: 710px;
    margin: 0 auto 50px;
    position: relative;
}
.serviceBox1 .box1::after {
    content: '';
    background: url("../common/img/icon8.png") center top no-repeat;
    background-size: 20px auto;
    width: 20px;
    height: 10px;
    position: absolute;
    left: 50%;
    margin-left: -10px;
    bottom: -25px;
}
.serviceBox1 .box1.noar::after {
    content: '';
    background: none;
}
.serviceBox1 .box1 ul,
.serviceBox1 .box1 p {
    padding: 0 30px;
}
.serviceBox1 .box1 ol {
    padding: 0 30px 0 50px;
}
.serviceBox1 .box2 {
    width: 890px;
    margin: 0 auto 40px;
}
.serviceBox1 .box2 .flex2 img {
    width: 220px;
    float: left;
    margin-right: 25px;
}
.serviceBox1 .box2 .flex2 p {
    margin: 5px 0;
}
.serviceBox1 .box2 .txt1 {
    font-size: 0.8571em;
    margin-bottom: 10px;
}
.serviceBox1 .dot2.flex3 {
    margin-bottom: 30px;
}
.serviceBox1 .dot2.flex3 li {
    box-sizing: border-box;
    margin-bottom: 0.5%;    
}
.serviceBox1 .link1 .floatR {
    margin-top: -2em;
}
.serviceBox1 .link1 .floatR p {
    font-size: 0.8571em;
    padding: 5px 0 0 1.5em;
}
.serviceBox1 .ind1 {
    margin: 1.5em 0;
}
@media only screen and (min-width:751px) and (max-width:1280px){
.serviceBox1 .box1 {
    width: 55.46875vw;
    margin: 0 auto 4vw;
}
.serviceBox1 .box1::after {
    content: '';
    background-size: 1.5625vw auto;
    width: 1.5625vw;
    height: 0.78125vw;
    margin-left: -0.78125vw;
    bottom: -1.953vw;
}
.serviceBox1 .box1 ul,
.serviceBox1 .box1 p {
    padding: 0 2.5vw;
}
.serviceBox1 .box1 ol {
    padding: 0 2.5vw 0 4vw;
}
.serviceBox1 .box2 {
    width: 69.531vw;
    margin: 0 auto 3vw;
}
.serviceBox1 .box2 .flex2 img {
    width: 17.1875vw;
    margin-right: 2vw;
}
.serviceBox1 .box2 .flex2 p {
    margin: 0.39vw 0;
}
.serviceBox1 .box2 .txt1 {
    font-size: 0.9375vw;
    margin-bottom: 0.78125vw;
}
.serviceBox1 .flex3 li img {
    margin-bottom: 0.39vw;
}
.serviceBox1 .dot2.flex3 {
    margin-bottom: 2.5vw;
}
.serviceBox1 .link1 .floatR p {
    font-size: 0.9375vw;
    padding: 0.39vw 0 0 1.5em;
}
.serviceBox1 .txt2 p {
    width: 17.96875vw;
    padding: 0.39vw 0 0 1.25vw;
}
}
@media only screen and (max-width:750px){
.serviceBox1 .box1 {
    width: 100%;
    margin: 0 auto 10vw;
}
.serviceBox1 .box1::after {
    content: '';
    background-size: 6vw auto;
    width: 6vw;
    height: 3vw;
    margin-left: -3vw;
    bottom: -6vw;
}
.serviceBox1 .box1.noar::after {
    content: '';
    background: none;
}
.serviceBox1 .box1 ul,
.serviceBox1 .box1 p {
    padding: 0 2vw
}
.serviceBox1 .box1 ol {
    padding: 0 2vw 0 6vw;
}
.serviceBox1 .box2 {
    width: 100%;
    margin: 0 auto 4.5vw;
}
.serviceBox1 .box2 .flex2 img {
    width: 100%;
    float: none;
    margin: 0 0 3vw;
}
.serviceBox1 .box2 .flex2 p {
    margin: 1vw 0;
}
.serviceBox1 .box2 .txt1 {
    font-size: 3.6vw;
    margin-bottom: 2vw;
}
.serviceBox1 .flex3 li img {
    margin-bottom: 1vw;
}
.serviceBox1 .dot2.flex3 {
    margin-bottom: 4vw;
}
.serviceBox1 .link1 .floatR {
    float: none;
    padding-bottom: 2vw;
}
.serviceBox1 .link1 .floatR p {
    font-size: 3.2vw;
    padding: 1vw 0 2vw 5vw;
}
.serviceBox1 .txt2 p {
    width: 100%;
    padding: 1vw 0 0 5vw;
}
.serviceBox1 .ind1 {
    margin: 4vw 0;
}
}