@charset "UTF-8";

/*!  02_base
================================================ */
html {
  overflow: auto;
}

body {
  min-width: 320px;
  overflow: hidden;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.4rem;
  color: #000;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

a {
  text-decoration: none;
}

.textLink {
  color: #2f72ac;
  text-decoration: underline;
}

.cf:after {
  content: " ";
  display: block;
  clear: both;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.viewPc {
  display: none !important;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="text"],
input[type="tel"],
textarea {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="text"]::-webkit-search-decoration,
input[type="tel"]::-webkit-search-decoration,
textarea::-webkit-search-decoration {
  display: none;
}

input[type="text"]:focus,
input[type="tel"]:focus,
textarea:focus {
  outline-offset: -2px;
}

/* layout
-------------------------------------------------*/
#wrapper {
  position: relative;
}

.sectionIn {
  padding-right: 15px;
  padding-left: 15px;
}

.sectionIn02 {
  padding-right: 15px;
  padding-left: 15px;
}

@media print, screen and (min-width: 521px) {
  body {
    width: 100%;
    font-size: 1.4rem;
  }

  a:hover {
    text-decoration: none;
  }

  a[href^="tel:"] {
    pointer-events: none;
  }

  .alpha a {
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
  }

  .alpha a:hover {
    opacity: .7;
  }

  img {
    width: auto;
  }

  .viewSp {
    display: none !important;
  }

  .viewPc {
    display: block !important;
  }

  /* layout
  -------------------------------------------------*/
  .sectionIn {
    width: 100%;
    max-width: 1100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
  }

  .sectionIn02 {
    width: 100%;
    max-width: 1000px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
  }
}

/*!  #header
================================================ */
header {
  background-color: #0097e0;
}

header .sectionIn {
  padding: 15px 15px;
}

header .site_tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

header .site_tit .logo {
  width: 13.4%;
  max-width: 50px;
  margin-right: 9px;
}

header .site_tit .txt {
  width: calc(100% - 13.4% - 9px);
}

header .site_tit .lead {
  font-size: 10px;
  font-size: 2.6666666667vw;
  color: #fff;
}

header .site_tit .co {
  width: 78%;
  height: 0;
  padding-top: 10.25%;
  background: url(../images/txt_logo.png) 0 50%/100% auto no-repeat;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}

header .reception {
  margin-top: 10px;
  padding: 8px 10px;
  background-color: #fff;
  border-radius: 50px;
}

header .reception .lead {
  font-size: 15px;
  font-size: 4vw;
  font-weight: bold;
  color: #ff0000;
  line-height: 1.125;
  text-align: center;
}

header .reception .tel {
  position: relative;
  width: 75%;
  margin: 5px auto 0;
  padding-left: 48px;
  font-size: 29px;
  font-size: 7.7333333333vw;
  font-weight: bold;
  line-height: 1.25;
}

header .reception .tel a {
  color: #000;
}

header .reception .tel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 10.39%;
  max-width: 37px;
  height: 0;
  padding-top: 13%;
  background: url(../images/icon_tel.png) 0 0/100% auto no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

header .reception .hours {
  font-size: 14px;
  font-size: 3.7333333333vw;
  line-height: 1.214;
  text-align: center;
  color: #231815;
}
@media print, screen and (min-width: 521px) {
  header .reception {
    border-radius: 100px;
  }
}

@media print, screen and (min-width: 769px) {
  header .sectionIn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 19px 0 20px;
  }

  header .site_tit {
    width: 36.3%;
    max-width: 400px;
  }

  header .site_tit .logo {
    width: 13.4%;
    max-width: 50px;
  }

  header .site_tit .lead {
    font-size: 1.2rem;
  }

  header .site_tit .co {
    width: 93%;
    max-width: 362px;
  }

  header .reception {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 60.18%;
    max-width: 662px;
    margin-top: 0;
    padding: 0 10px;
  }

  header .reception .lead {
    font-size: 1.1rem;
    text-align: left;
  }

  header .reception .tel {
    width: auto;
    margin: 0 12px 0 12px;
    padding-left: 40px;
    font-size: 13px;
    font-size: 3.4666666667vw;
  }

  header .reception .tel::before {
    top: calc(50% - 2.5%);
    max-width: 35px;
    padding-top: 10.39%;
  }

  header .reception .hours {
    font-size: 1rem;
  }
}

@media print, screen and (min-width: 1000px) {
  header .reception .lead {
    font-size: 1.6rem;
  }

  header .reception .tel {
    margin: 0 12px 0 15px;
    padding-left: 48px;
    font-size: 3.4rem;
  }

  header .reception .hours {
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 1100px) {
  header .reception .tel {
    font-size: 3.7rem;
  }
}

/*!  footer
================================================ */
footer {
  padding: 10px 15px 12px;
  border-top: 1px solid #fff;
  background-color: #0097e0;
}

footer .copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

footer .copyright .logo {
  width: 14.6%;
  max-width: 58px;
  margin-right: 10px;
}

footer .copyright small {
  width: calc(80% - 14.6% - 10px);
  height: 0;
  padding-top: 10.25%;
  background: url(../images/txt_logo.png) 0 50%/100% auto no-repeat;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}

footer .copyright .plumber {
  width: 100%;
  margin: -7px 10% 5px;
  font-size: 11px;
  font-size: 2.9333333333vw;
  color: #fff;
  text-align: right;
}

footer address {
  text-align: center;
}

footer address p {
  font-size: 14px;
  font-size: 3.7333333333vw;
  color: #fff;
  line-height: 1.375;
}

footer address a {
  color: #fff;
}

@media print, screen and (min-width: 521px) {
  footer {
    padding: 22px 0 26px;
  }

  footer .sectionIn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 760px;
  }

  footer .copyright {
    width: 52.3%;
    max-width: 398px;
    margin-right: 24px;
    /*.logo {
        	width: 14.6%;
        	max-width: 58px;
        	margin-right: 10px;
        }*/
  }

  footer .copyright small {
    width: calc(100% - 14.6% - 10px);
    max-width: 328px;
    /*height: 0;
          padding-top: 10.25%;
          background: url(../images/txt_logo.png) 0 50% /100% auto no-repeat;
          text-indent: 100%;
          overflow: hidden;
          white-space: nowrap;*/
  }

  footer .copyright .plumber {
    margin: -11px 0 0;
    font-size: 1.6rem;
  }

  footer address {
    text-align: left;
  }

  footer address p {
    font-size: 1.6rem;
  }
}

/*
 .main_img
-------------------------------------------------------------*/
.main_img {
  background: url(../images/bg_mainvis.jpg) 50% 0/cover no-repeat;
}

.main_img .img {
  padding: 20px 0 20px;
}

.main_img .scroll {
  background-color: #01499e;
}

/*
 .sec01
-------------------------------------------------------------*/
.sec01 {
  margin-top: 25px;
}

.sec01 .tit {
  width: 100%;
  padding: 10px 0 8px;
  background-color: #0097e0;
  font-size: 20px;
  font-size: 5.3333333333vw;
  color: #ffff00;
  text-align: center;
}

.sec01 .tit span {
  position: relative;
  display: inline-block;
  padding-left: 16%;
  text-align: left;
}

.sec01 .tit span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 15%;
  height: 0;
  padding-top: 16%;
  background: url(../images/icon_sec01.png) 0 0/100% auto no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.sec01 .txt {
  background: url(../images/bg_sec01.png) right 7% bottom 0/30% auto no-repeat;
  padding: 12px 5% 15px;
  border: 5px solid #0097e0;
  border-top: none;
}

.sec01 .source {
  display: inline;
  font-size: 20px;
  font-size: 5.3333333333vw;
  font-weight: bold;
  line-height: 1.5;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffff01));
  background: -webkit-linear-gradient(transparent 70%, #ffff01 70%);
  background: -o-linear-gradient(transparent 70%, #ffff01 70%);
  background: linear-gradient(transparent 70%, #ffff01 70%);
}

.sec01 .source span {
  color: #00499f;
}

.sec01 .balloon {
  position: relative;
  display: inline-block;
  margin: 15px 7.6% 0;
  padding: 3px 15px;
  background-color: #ef4572;
  font-size: 14px;
  font-size: 3.7333333333vw;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.sec01 .balloon::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 10px 0 10px;
  border-color: #ef4572 transparent transparent transparent;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.sec01 .accident {
  margin-top: 20px;
  font-size: 18px;
  font-size: 4.8vw;
  font-weight: bold;
  color: #ef4572;
  text-align: left;
}

.sec01 .accident li {
  position: relative;
  padding-left: 10%;
  text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, #fff -1px 1px 0, #fff 1px -1px 0, #fff 0px 1px 0, #fff -1px 0, #fff -1px 0 0, #fff 1px 0 0;
  /*上、下*/
}

.sec01 .accident li+li {
  margin-top: 5px;
}

.sec01 .accident li::before {
  content: "";
  position: absolute;
  top: calc(50% + (5px / 2));
  left: 0;
  display: block;
  width: 8%;
  height: 0;
  padding-top: 9.5%;
  background: url(../images/icon_check.png) 0 0/100% auto no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.sec01 .scroll {
  margin-top: 20px;
  background-color: #ef4572;
}

/*
 .sec02
-------------------------------------------------------------*/
.sec02 {
  padding: 25px 0 0;
  background: url(../images/bg_sec02.png) 50% 0/cover no-repeat;
}

.sec02 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.sec02 .img {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  width: 75%;
  margin: 15px auto 15px;
}

.sec02 .balloon {
  position: relative;
  padding: 2px 15px;
  background-color: #ffff00;
  border-radius: 30px;
  font-size: 20px;
  font-size: 5.3333333333vw;
  font-weight: bold;
  text-align: center;
}

.sec02 .balloon::after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 7px 0 7px;
  border-color: #ffff00 transparent transparent transparent;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.sec02 .tit {
  width: 100%;
  height: 0;
  margin: 25px 0 0;
  padding-top: 40.6%;
  background: url(../images/txt_sec02.png) 0 0/100% auto no-repeat;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.sec02 .txt {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.sec02 .area {
  margin-top: 15px;
  padding: 3px 5px 2px;
  border: 1px solid #000;
  background-color: #fff;
  font-size: 18px;
  font-size: 4.8vw;
  font-weight: bold;
  text-align: center;
}

.sec02 .area dt {
  white-space: nowrap;
}

.sec02 .area dt::after {
  content: "：";
}

.sec02 .tel {
  position: relative;
  margin-top: 10px;
  padding-left: 13%;
  font-size: 37px;
  font-size: 9.8666666667vw;
  font-weight: bold;
  line-height: 1.2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.sec02 .tel a {
  color: #000;
}

.sec02 .tel::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 0;
  display: block;
  width: 10.6%;
  height: 0;
  padding-top: 13%;
  background: url(../images/icon_tel.png) 0 0/100% auto no-repeat;
}

.sec02 .reception {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 0;
  padding-bottom: 15px;
  font-size: 14px;
  font-size: 3.7333333333vw;
  line-height: 1.1;
}

.sec02 .reception dt::after {
  content: "▶";
}

/*
 .solve
-------------------------------------------------------------*/
.solve {
  padding: 25px 0;
  background: url(../images/bg_solve.png) 0 0/cover no-repeat;
}

.solve .sectionIn02 {
  margin: 0 10px;
  padding: 15px 15px;
  background-color: #fff;
}

.solve .co {
  width: 100%;
  height: 0;
  padding-top: 14.4%;
  margin: 0 auto;
  background: url(../images/txt_solve01.png) 0 0/100% auto no-repeat;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.solve .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5px;
}

.solve .box .img {
  width: 33.8%;
  margin-right: 15px;
}

.solve .box .txt {
  width: calc(100% - 33.8% - 15px);
}

.solve .txt02 {
  width: 100%;
  height: 0;
  padding-top: 20.5%;
  margin: 10px auto 0;
  background: url(../images/txt_solve02.png) 0 0/100% auto no-repeat;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

/*
 .sec03
-------------------------------------------------------------*/
.sec03 {
  padding: 25px 0 0;
}

.sec03 .scroll {
  background-color: #ef4572;
}

.sec03 h2 {
  margin: 0 20px;
  border-bottom: 1px solid #00499f;
  font-size: 14px;
  font-size: 3.7333333333vw;
  font-weight: normal;
  text-align: center;
}

.sec03 h2 span {
  display: block;
  font-size: 26px;
  font-size: 6.9333333333vw;
  font-weight: bold;
  color: #00499f;
}

.sec03 .selected {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 15px 0 40px;
}

.sec03 .selected li {
  width: calc(100% / 2);
}

.sec03 .selected li figure {
  display: block;
  width: 80%;
  margin: 0 auto;
}

.sec03 .selected li:nth-of-type(n+4) {
  margin-top: 8px;
}

.sec03 .selected li:nth-of-type(5) figure, .sec03 .selected li:nth-of-type(8) figure {
  width: 97.5%;
}

.sec03 .selected li:nth-of-type(6) figure, .sec03 .selected li:nth-of-type(7) figure {
  width: 87.5%;
}

.sec03 .selected li p {
  margin-top: 5px;
  font-size: 11px;
  font-size: 2.9333333333vw;
  text-align: center;
}



/*
 .scroll
-------------------------------------------------------------*/
.scroll {
  background-color: #01499e;
}

.scroll p {
  position: relative;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}

.scroll p::before, .scroll p::after {
  content: "";
  position: absolute;
  top: 10px;
  width: calc(50% + 1px);
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.scroll p::before {
  left: 1px;
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.scroll p::after {
  right: 1px;
  -webkit-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  transform: rotate(-30deg);
}

.scroll p:hover::before, .scroll p:hover::after {
  opacity: 0.7;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.scroll p:hover a::before, .scroll p:hover a::after {
  opacity: 0.7;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.scroll a {
  display: block;
}

.scroll a::before, .scroll a::after {
  content: "";
  position: absolute;
  bottom: 10px;
  width: calc(50% + 1px);
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.scroll a::before {
  left: 1px;
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.scroll a::after {
  right: 1px;
  -webkit-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  transform: rotate(-30deg);
}

/*
 .contact_info
-------------------------------------------------------------*/
.contact_info {
  padding: 20px 0 30px;
  background-color: #0097e0;
  border-bottom: 1px solid #fff;
}

.contact_info .balloon {
  position: relative;
  margin-bottom: 25px;
  padding: 2px 15px;
  background-color: #ffff00;
  border-radius: 30px;
  font-size: 20px;
  font-size: 5.3333333333vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.25;
}

.contact_info .balloon::after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 7px 0 7px;
  border-color: #ffff00 transparent transparent transparent;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.contact_info .box {
  background-color: #fff;
  padding: 12px 25px 0;
}

.contact_info .co {
  width: 100%;
  height: 0;
  padding-top: 14.4%;
  background: url(../images/txt_logo02.png) 0 0/100% auto no-repeat;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.contact_info .plumber {
  margin-top: -4px;
  font-size: 11px;
  font-size: 2.9333333333vw;
  text-align: right;
}

.contact_info .area {
  margin-top: 5px;
  padding: 3px 5px 2px;
  border: 1px solid #000;
  background-color: #fff;
  font-size: 16px;
  font-size: 4.2666666667vw;
  font-weight: bold;
  text-align: center;
}

.contact_info .area dt::after {
  content: "：";
}

.contact_info .tel {
  position: relative;
  margin-top: 10px;
  padding-left: 13%;
  font-size: 31.5px;
  font-size: 8.4vw;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.contact_info .tel a {
  color: #000;
}

.contact_info .tel::before {
  content: "";
  position: absolute;
  top: 0.15rem;
  left: 0;
  display: block;
  width: 10.6%;
  height: 0;
  padding-top: 13%;
  background: url(../images/icon_tel.png) 0 0/100% auto no-repeat;
}

.contact_info .reception {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: 15px;
  font-size: 14px;
  font-size: 3.7333333333vw;
  line-height: 1.1;
}

.contact_info .reception dt::after {
  content: "▶";
}

/*
 .contact
-------------------------------------------------------------*/
.contact {
  padding: 30px 0 40px;
  background-color: #0097e0;
}

.contact h3 {
  padding-bottom: 12px;
  border-bottom: 1px solid #ffff00;
  font-size: 20px;
  font-size: 5.3333333333vw;
  color: #ffff00;
  line-height: 1.07;
  text-align: center;
}

.contact .mailbox {
  margin-top: 10px;
  padding: 20px 5% 25px;
}

.contact .mailbox {
  background-color: #fff;
}

.contact .form_item+.form_item {
  margin-top: 17px;
}

.contact .form_item label {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
  font-size: 3.7333333333vw;
}

.contact .form_item .required {
  font-size: 10px;
  font-size: 2.6666666667vw;
  color: #ef4572;
  vertical-align: text-top;
}

.contact .form_item input, .contact .form_item textarea {
  width: 100%;
  border: 1px solid #b1b1b1;
  padding: 12px 10px;
  font-size: 14px;
  font-size: 3.7333333333vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media print, screen and (min-width: 521px) {
  /*
   .main_img
  -------------------------------------------------------------*/
  .main_img {
    padding: 43px 0 0;
  }

  .main_img .img {
    padding: 0 0 50px 30px;
    width: 45.81%;
    max-width: 504px;
  }

  /*
   .sec01
  -------------------------------------------------------------*/
  .sec01 {
    margin-top: 56px;
  }

  .sec01 .tit {
    padding: 26px 0 12px;
    font-size: 3.5rem;
  }

  .sec01 .tit span {
    padding-left: 63px;
  }

  .sec01 .tit span::before {
    top: calc(50% - 0.5rem);
    width: 53px;
    padding-top: 47px;
    background: url(../images/icon_sec01.png) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .sec01 .txt {
    background: url(../images/bg_sec01.png) right 7% bottom 0/22.1% auto no-repeat;
    padding: 36px 10% 35px 9.6%;
  }

  .sec01 .source {
    font-size: 3.5rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, #ffff01));
    background: -webkit-linear-gradient(transparent 65%, #ffff01 65%);
    background: -o-linear-gradient(transparent 65%, #ffff01 65%);
    background: linear-gradient(transparent 65%, #ffff01 65%);
  }

  .sec01 .balloon {
    margin: 26px 18% 0;
    padding: 2px 15px;
    font-size: 2.4rem;
  }

  .sec01 .balloon::after {
    bottom: -18px;
    border-width: 18px 15px 0 15px;
  }

  .sec01 .accident {
    margin: 38px 0 0 8.5%;
    font-size: 3.5rem;
  }

  .sec01 .accident li {
    padding-left: 45px;
  }

  .sec01 .accident li+li {
    margin-top: 8px;
  }

  .sec01 .accident li::before {
    top: calc(50% - (5px / 2));
    width: 36px;
    padding-top: 33px;
  }

  .sec01 .scroll {
    margin-top: 37px;
  }

  /*
   .sec02
  -------------------------------------------------------------*/
  .sec02 {
    padding: 65px 0 0;
  }

  .sec02 .box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
  }

  .sec02 .img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 34.5%;
    max-width: 345px;
    margin: 3px 3px 0 8px;
  }

  .sec02 .balloon {
    margin-top: 8px;
    padding: 12px 15px 11px;
    font-size: 3.5rem;
    line-height: 1.25;
  }

  .sec02 .balloon::after {
    bottom: -30px;
    border-width: 30px 15px 0 15px;
  }

  .sec02 .txt {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 55.8%;
    max-width: 558px;
    padding-top: 10px;
  }

  .sec02 .tit {
    width: calc(100% - 16px);
    margin: 50px 8px 0;
    padding-top: 39%;
  }

  .sec02 .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 66%;
    max-width: 660px;
    margin: 33px auto 0;
    padding: 0;
    font-size: 2.6rem;
  }

  .sec02 .tel {
    width: 66%;
    max-width: 660px;
    margin: 10px auto 0;
    padding-left: 8.6%;
    font-size: 27px;
    font-size: 7.2vw;
    text-align: center;
  }

  .sec02 .tel::before {
    top: 0.5rem;
    padding-top: 10.6%;
  }

  .sec02 .reception {
    padding-bottom: 40px;
    font-size: 1.9rem;
  }

  /*
   .solve
  -------------------------------------------------------------*/
  .solve {
    padding: 35px 0 50px;
  }

  .solve .sectionIn02 {
    margin: 0 auto;
    padding: 38px 0 50px;
  }

  .solve .co {
    width: 66.8%;
    max-width: 668px;
    height: 0;
    padding-top: 9.6%;
    margin: 0 auto;
    background: url(../images/txt_solve01.png) 0 0/100% auto no-repeat;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }

  .solve .box {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 60%;
    max-width: 600px;
    margin: 10px auto 0;
  }

  .solve .box .img {
    width: 33.8%;
    max-width: 204px;
    margin-right: 30px;
  }

  .solve .box .txt {
    width: calc(100% - 33.8% - 30px);
    font-size: 2rem;
  }

  .solve .txt02 {
    width: 71.9%;
    max-width: 719px;
    padding-top: 14.7%;
    margin: 20px auto 0;
  }

  /*
   .sec03
  -------------------------------------------------------------*/
  .sec03 {
    padding: 55px 0 0;
  }

  .sec03 h2 {
    margin: 0 0;
    padding-bottom: 7px;
    font-size: 2rem;
  }

  .sec03 h2 span {
    font-size: 4rem;
  }

  .sec03 .selected {
    margin: 20px 50px 80px 50px;
  }

  .sec03 .selected li {
    width: calc(100% / 3);
  }

  .sec03 .selected li:nth-of-type(n+4) {
    margin-top: 23px;
  }

  .sec03 .selected li p {
    margin-top: 3px;
    font-size: 2rem;
  }

  /*
   .scroll
  -------------------------------------------------------------*/
  .scroll {
    padding: 4px 0 5px;
  }

  .scroll p {
    width: 60px;
    height: 30px;
    margin: 0 auto;
  }

  .scroll p::before, .scroll p::after {
    content: "";
    position: absolute;
    top: 27%;
    width: calc(50% + 2px);
    height: 3px;
    background-color: #fff;
  }

  .scroll p::before {
    left: 1px;
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
  }

  .scroll p::after {
    right: 1px;
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
  }

  .scroll a {
    display: block;
  }

  .scroll a::before, .scroll a::after {
    content: "";
    position: absolute;
    bottom: 24%;
    width: calc(50% + 2px);
    height: 3px;
    background-color: #fff;
  }

  .scroll a::before {
    left: 1px;
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
  }

  .scroll a::after {
    right: 1px;
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
  }

  /*
   .contact_info
  -------------------------------------------------------------*/
  .contact_info {
    padding: 40px 0 60px;
  }

  .contact_info .sectionIn {
    max-width: 776px;
  }

  .contact_info .balloon {
    position: relative;
    width: 72.1%;
    max-width: 560px;
    margin: 0 auto 52px;
    padding: 16px 15px 6px;
    background-color: #ffff00;
    border-radius: 30px;
    font-size: 3.7rem;
    font-weight: bold;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .contact_info .balloon::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 15px 0 15px;
    border-color: #ffff00 transparent transparent transparent;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .contact_info .box {
    padding: 15px 58px 0;
  }

  .contact_info .co {
    width: 95.4%;
    height: 0;
    padding-top: 14.4%;
    margin: auto;
    max-width: 630px;
    background: url(../images/txt_logo02.png) 0 0/100% auto no-repeat;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }

  .contact_info .plumber {
    width: 95.4%;
    margin: -18px auto 0;
    font-size: 1.7rem;
    text-align: right;
  }

  .contact_info .area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 8px auto 0;
    font-size: 2.6rem;
  }

  .contact_info .area dt {
    white-space: nowrap;
  }

  .contact_info .tel {
    margin: 10px auto 0;
    padding-left: 13%;
    font-size: 31px;
    font-size: 8.2666666667vw;
  }

  .contact_info .tel::before {
    top: 0.5rem;
    width: 10.6%;
    padding-top: 10.6%;
  }

  .contact_info .reception {
    padding-bottom: 20px;
    font-size: 1.9rem;
  }

  /*
   .contact
  -------------------------------------------------------------*/
  .contact {
    padding: 60px 0 95px;
  }

  .contact h3 {
    padding-bottom: 28px;
    font-size: 4rem;
  }

  .contact .mailbox {
    margin-top: 20px;
    padding: 40px 4.5% 45px;
  }

  .contact .form_item+.form_item {
    margin-top: 18px;
  }

  .contact .form_item label {
    font-size: 1.6rem;
  }

  .contact .form_item .required {
    font-size: 1.2rem;
  }

  .contact .form_item input, .contact .form_item textarea {
    font-size: 1.6rem;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }

  .contact .form_item input:focus, .contact .form_item textarea:focus {
    border-color: #0097e0;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }

  .contact .form_item textarea {
    height: 11rem;
  }
}

@media print, screen and (min-width: 769px) {
  /*
   .sec02
  -------------------------------------------------------------*/
  .sec02 .tel {
    font-size: 24px;
    font-size: 6.4vw;
  }

  /*
   .contact_info
  -------------------------------------------------------------*/
  .contact_info .tel {
    font-size: 7.2rem;
  }

  /*
   .contact
  -------------------------------------------------------------*/
  .contact .mailbox {
    padding: 40px 45px 45px;
  }
}

@media print, screen and (min-width: 1000px) {
  /*
   .sec02
  -------------------------------------------------------------*/
  .sec02 .tel {
    font-size: 6.5rem;
  }

  /*
   .contact_info
  -------------------------------------------------------------*/
  .contact_info .tel {
    font-size: 6.5rem;
  }
}



.form_btn{ display:block; padding:5px 0; width:50%; background-color:#1899dd; text-align:center; font-size:18px; font-weight:bold; color:#ffffff; margin:15px auto}


	.banner{
		text-align: center;
		padding: 7px 0 30px 0;
	}
	
	.banner img{
		margin: 0;
	}
.banner { display:flex; justify-content:space-between; padding-bottom:25px}
.banner a{ width:32%}
.banner a img{ width:100%}

.ifsp{display:none;}
@media print, screen and (max-width: 600px) {
.ifpc{display:none;}
.ifsp{display:block;}
}