@charset "UTF-8";
/*=====================

	トップページのCSSです

=====================*/
/*=====================
	スタイル設定まとめ
=====================*/
/*角丸*/
/*線・パディング込のボックスサイズ*/
.box-border-box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/*ゆっくり変わる*/
/*flexbox*/
.disp-flex {
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -o-flexbox;
  display: flexbox;
  display: -webkit-box;
  display: flex;
}
/*明朝文字スタイル*/
.font-mincho {
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*背景cover*/
.bg-cover {
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-position: center;
}
/*=====================
	   トップページ
=====================*/
.top-news {
  margin-bottom: 30px;
}
.top-news a {
  display: flex;
  width: 100%;
  border: 1px solid #8b8b8b;
}
.top-news a p {
  background-color: #18499d;
  font-family: "Noto Serif", "游明朝体", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  border-right: 1px solid #8b8b8b;
  padding: 20px;
  font-size: 140%;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .top-news a p {
    padding: 10px;
  }
}
.top-news a dl {
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 20px;
}
@media screen and (max-width: 1000px) {
  .top-news a dl {
    -webkit-flex-flow: column wrap;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .top-news a dl {
    padding: 10px;
  }
}
.top-news a dl dt {
  color: #8b8b8b;
  padding-right: 10px;
}
@media screen and (max-width: 1000px) {
  .top-news a dl dt {
    padding-bottom: 5px;
  }
}
.top-news a dl dd {
  color: #1cafdd;
  font-weight: bold;
  font-size: 120%;
  line-height: 1.6em;
}
.service-list {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .service-list {
    margin-bottom: 15px;
  }
}
.service-list ul {
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .service-list ul {
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
  }
}
.service-list ul li {
  width: 24%;
}
@media screen and (max-width: 640px) {
  .service-list ul li {
    width: 49%;
    margin-bottom: 10px;
  }
}
.service-list ul li a {
  background-color: #dcecf0;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border: 2px solid #1cafdd;
  padding: 20px 0;
  text-align: center;
  display: block;
}
@media screen and (max-width: 640px) {
  .service-list ul li a {
    padding: 10px 0;
  }
}
@media screen and (max-width: 640px) {
  .service-list ul li a img {
    max-width: 60%;
  }
}
.service-list ul li a div {
  background-color: #18499d;
  color: #fff;
  font-weight: bold;
  padding: 15px 0;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  height: 4em;
  font-size: 120%;
  line-height: 1.6em;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .service-list ul li a div {
    font-size: 100%;
  }
}
.service-list ul li a div:after {
  content: "〉";
  font-size: 130%;
  font-weight: bold;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
}
.trouble-list {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .trouble-list {
    margin-bottom: 15px;
  }
}
.trouble-list ul {
  display: flex;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.trouble-list ul li {
  width: 49%;
  border: 1px solid #8b8b8b;
  margin-bottom: 15px;
}
@media screen and (max-width: 640px) {
  .trouble-list ul li {
    width: 100%;
    margin-bottom: 10px;
  }
}
.trouble-list ul li h3 {
  background-color: #18499d;
  color: #fff;
  font-size: 130%;
  font-weight: bold;
  padding: 10px;
  display: flex;
  align-items: center;
}
.trouble-list ul li a {
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 10px 25px 10px 10px;
  border-bottom: 1px solid #8b8b8b;
  line-height: 1.3em;
  font-size: 110%;
  position: relative;
}
.trouble-list ul li a:last-child {
  border-bottom: 0;
}
.trouble-list ul li a img {
  min-width: 65px;
  width: 65px;
  height: 65px;
  margin-right: 10px;
}
.trouble-list ul li a:after {
  content: "〉";
  font-weight: bold;
  color: #69d126;
  font-size: 150%;
  position: absolute;
  right: 0;
}
i.huyohin-icon {
  background-image: url(../img/disused-icon.png);
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-position: center;
  display: inline-block;
  width: 35px;
  height: 35px;
  margin-right: 5px;
}
i.garbage-icon {
  background-image: url(../img/garbage-icon.png);
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-position: center;
  display: inline-block;
  width: 35px;
  height: 35px;
  margin-right: 5px;
}
i.memento-icon {
  background-image: url(../img/memento-icon.png);
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-position: center;
  display: inline-block;
  width: 35px;
  height: 35px;
  margin-right: 5px;
}
i.cleaning-icon {
  background-image: url(../img/cleaning-icon.png);
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  -ms-background-size: cover;
  background-position: center;
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 5px;
}
.top-voice {
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
  .top-voice {
    margin-bottom: 15px;
  }
}
.top-voice li {
  border: 2px solid #1cafdd;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  margin-bottom: 10px;
}
.top-voice li a {
  padding: 10px;
  display: flex;
  background-color: #fff;
}
@media screen and (max-width: 640px) {
  .top-voice li a {
    padding: 5px;
  }
}
.top-voice li a .thumbnail {
  width: 40%;
  min-height: 230px;
  max-height: 230px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  display: block;
  flex-shrink: 0;
}
@media screen and (max-width: 1000px) {
  .top-voice li a .thumbnail {
    min-height: 130px;
    max-height: 130px;
  }
}
.top-voice li a dl {
  width: 60%;
  padding: 5px 5px 5px 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .top-voice li a dl {
    padding: 5px 5px 5px 10px;
  }
}
.top-voice li a dl dt p {
  color: #8b8b8b;
  font-size: 110%;
  padding-bottom: 5px;
}
.top-voice li a dl dt h3 {
  font-size: 150%;
  color: #18499d;
  margin-bottom: 10px;
  line-height: 1.6em;
}
@media screen and (max-width: 640px) {
  .top-voice li a dl dt h3 {
    font-size: 130%;
  }
}
.top-voice li a dl dd p {
  font-size: 120%;
  line-height: 1.6em;
  margin-bottom: 5px;
}
@media screen and (max-width: 1000px) {
  .top-voice li a dl dd p {
    font-size: 100%;
  }
}
@media screen and (max-width: 640px) {
  .top-voice li a dl dd p {
    display: none;
  }
}
.top-voice li a dl dd .more {
  text-align: right;
}
.top-voice li a dl dd .more p {
  width: 50%;
  background-color: #69d126;
  border: 1px solid #399100;
  color: #fff;
  position: relative;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  text-align: center;
  font-weight: bold;
  padding: 10px 30px 10px 10px;
  margin: 0;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .top-voice li a dl dd .more p {
    width: 100%;
    padding: 5px 20px 5px 10px;
  }
}
.top-voice li a dl dd .more p:after {
  content: "〉";
  position: absolute;
  height: 1em;
  line-height: 1em;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
/*=====================
	中央下コンテンツ
=====================*/
.promise {
  background-color: #18499d;
  padding: 40px 20px;
}
.promise .main-contents {
  width: 1200px;
  max-width: 95%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .promise {
    padding: 20px 10px 10px;
  }
}
.promise .promise-title {
  text-align: center;
  font-weight: bold;
  font-size: 180%;
  color: #fff;
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .promise .promise-title {
    font-size: 140%;
  }
}
.promise .promise-title h2 {
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.promise .promise-title span {
  font-size: 130%;
  color: #69d126;
  border-bottom: 5px solid #fff;
  padding-bottom: 5px;
  position: relative;
}
.promise .promise-title span:after {
  content: url(../img/subtitle-check.png);
  position: absolute;
  top: -25px;
  right: -10px;
}
.promise .promise-title img {
  padding-left: 5px;
}
@media screen and (max-width: 640px) {
  .promise .promise-title img {
    width: 40px;
  }
}
.promise ul {
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding-top: 10px;
}
.promise ul li {
  width: 49%;
  padding: 5px;
  background-color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .promise ul li {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .promise ul li {
    margin-bottom: 10px;
  }
}
.promise .promise-set {
  border: 10px solid #dcecf0;
  padding: 10px;
  min-height: 100%;
}
@media screen and (max-width: 640px) {
  .promise .promise-set {
    border: 5px solid #dcecf0;
    padding: 5px;
  }
}
.promise .promise-set .promise-subtitle {
  margin-bottom: 10px;
}
@media screen and (max-width: 640px) {
  .promise .promise-set .promise-subtitle {
    margin-bottom: 5px;
  }
}
.promise .promise-set .promise-subtitle:before,
.promise .promise-set .promise-subtitle:after {
  content: "";
  width: 100%;
  height: 10px;
  background-image: url(../img/promise-h3.png);
  display: block;
}
.promise .promise-set .promise-subtitle:before {
  margin-bottom: 5px;
}
.promise .promise-set .promise-subtitle:after {
  margin-top: 5px;
}
.promise .promise-set h3 {
  font-size: 150%;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  line-height: 1em;
}
@media screen and (max-width: 1000px) {
  .promise .promise-set h3 {
    font-size: 130%;
  }
}
.promise .promise-set h3 span {
  display: flex;
  color: #fff;
  background-color: #fd9d27;
  width: 1.3em;
  height: 1.3em;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 130%;
  margin: 0 1.5px;
}
.promise .promise-set dl {
  display: flex;
}
.promise .promise-set dl dt {
  width: 35%;
  min-height: 150px;
}
.promise .promise-set dl dt.thumbnail {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  display: block;
  max-height: 150px;
  height: 150px;
  flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .promise .promise-set dl dt {
    min-height: 100px;
  }
  .promise .promise-set dl dt.thumbnail {
    max-height: 100px;
    height: 100px;
  }
}
.promise .promise-set dl dd {
  width: 65%;
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 110%;
  line-height: 1.6em;
}
@media screen and (max-width: 640px) {
  .promise .promise-set dl dd {
    font-size: 100%;
  }
}
.top-about {
  background-color: #dcecf0;
  padding: 40px 20px;
}
.top-about .main-contents {
  width: 1200px;
  max-width: 95%;
  margin: 0 auto;
}
.promise.media-area .main-contents {
  width: 1200px;
  max-width: 95%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .top-about {
    padding: 20px 10px;
  }
}
.top-about .title {
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .top-about .title h2 {
    text-align: center;
  }
}
.top-about .title h2 strong {
  color: #000;
}
@media screen and (max-width: 640px) {
  .top-about .title h2 strong {
    display: block;
  }
}
.top-about .title h2 strong:first-child {
  padding-bottom: 5px;
}
.top-about .title h2 span:after {
  display: none;
}
.top-about .top-about-inner {
  border: 1px solid #8b8b8b;
  padding: 10px 20px;
  background-color: #fff;
  height: 350px;
  overflow: scroll;
}
.top-about .top-about-inner h3 {
  color: #18499d;
  font-size: 130%;
  margin: 1em 0 0.5em;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #18499d;
  line-height: 1.3em;
}
.top-about .top-about-inner p {
  line-height: 1.3em;
  padding: 0.3em 0;
}
.foot-service {
  padding: 30px 20px 0;
  display: flex;
  flex-flow: row wrap;
}
@media screen and (max-width: 640px) {
  .foot-service {
    padding: 10px 10px 0;
  }
}
.foot-service .service-list {
  width: 70%;
  padding-right: 2.5%;
}
@media screen and (max-width: 900px) {
  .foot-service .service-list {
    width: 100%;
    padding-right: 0;
  }
}
@media screen and (max-width: 640px) {
  .foot-service .service-list {
    margin-bottom: 0;
  }
}
.foot-service .sublink {
  width: 30%;
}
@media screen and (max-width: 900px) {
  .foot-service .sublink {
    width: 100%;
  }
}
@media screen and (max-width: 900px) {
  .foot-service .sublink ul {
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.foot-service .sublink ul li {
  margin-bottom: 10px;
}
@media screen and (max-width: 900px) {
  .foot-service .sublink ul li {
    width: 49%;
  }
}
@media screen and (max-width: 640px) {
  .foot-service .sublink ul li {
    width: 100%;
  }
}
.foot-service .sublink ul li a {
  display: flex;
  border: 2px solid #18499d;
  padding: 10px;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  position: relative;
  -webkit-align-items: center;
  align-items: center;
}
.foot-service .sublink ul li a:after {
  content: "〉";
  color: #18499d;
  font-size: 150%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  line-height: 1em;
  height: 1em;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .foot-service .sublink ul li a img {
    width: 50px;
    height: 50px;
  }
}
.foot-service .sublink ul li p {
  color: #1cafdd;
  font-size: 150%;
  font-weight: bold;
  padding-left: 10px;
}
@media screen and (max-width: 1000px) {
  .foot-service .sublink ul li p {
    font-size: 130%;
  }
}
.area {
  display: flex;
  flex-flow: row wrap;
}
.area .title {
  -webkit-justify-content: center;
  justify-content: center;
}
.area-map {
  width: 50%;
  text-align: center;
  background-color: #fffee3;
  padding: 40px 20px;
}
@media screen and (max-width: 850px) {
  .area-map {
    width: 100%;
    padding: 20px 10px;
  }
}
.area-map p {
  font-size: 140%;
  font-weight: bold;
  line-height: 1.4em;
  margin-top: 10px;
}
@media screen and (max-width: 1000px) {
  .area-map p {
    font-size: 120%;
  }
}
.area-other {
  width: 50%;
  background-color: #dcecf0;
  padding: 40px 20px;
}
@media screen and (max-width: 850px) {
  .area-other {
    width: 100%;
    padding: 20px 10px 10px;
  }
}
.area-other .top-voice-desc {
  font-size: 120%;
  font-weight: bold;
  line-height: 1.4em;
  margin: 5px auto 10px;
  text-align: center;
}
@media screen and (max-width: 1000px) {
  .area-other .top-voice-desc {
    font-size: 90%;
  }
}
.area-other .top-voice {
  width: 600px;
  margin: 0 auto;
}
@media screen and (max-width: 1300px) {
  .area-other .top-voice {
    width: 100%;
  }
}
@media screen and (max-width: 850px) {
  .area-other .top-voice {
    font-size: 110%;
  }
}
.area-other .top-voice .thumbnail {
  min-height: 150px;
  max-height: 150px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 850px) {
  .area-other .top-voice .thumbnail {
    min-height: 130px;
    max-height: 130px;
  }
}
.area-other .top-voice a {
  font-size: 90%;
}
@media screen and (max-width: 1200px) {
  .area-other .top-voice a .more p {
    width: 70%;
  }
}
@media screen and (max-width: 850px) {
  .area-other .top-voice a .more p {
    width: 100%;
  }
}
