@charset "UTF-8";
/**************************************************/
/****** 共通設定 ******/
/* SP用CSS記述（767px以下） */
.sp {
  display: block;
}
.pc {
  display: none;
}
/* TB用CSS記述（768px以上） */
@media print, screen and (min-width:768px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
/**************************************************/
/****** body ******/
body {
  clear: both;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: #333;
  font-family: "游ゴシック", "游ゴシック体", YuGothic, Yu Gothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 100%;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%; /* iPhone版Safariの文字サイズ対応 */
}
/****** link ******/
a {
  background: none;
  text-decoration: none;
}
a:link, a:visited, a:active {
  color: #000;
}
a:hover {
  color: #39F;
}
/****** etc ******/
.red {
  color: #F00;
}
.blue {
  color: #39F;
}
.pink {
  color: #F39;
}
.small {
  font-size: small;
}
.large {
  font-size: large;
}
.clear {
  clear: both;
}
hr {
  border: 0;
  border-top: 1px solid #666;
  margin: 30px 0 60px;
  overflow: hidden;
}
hr.dot {
  border: 0;
  border-top: 1px dotted #666;
  margin: 30px 0;
  overflow: hidden;
}
hr.hr_yellow {
  border: 0;
  background-image: url("../img/line_yellow.jpg");
  background-size: 10px;
  height: 20px;
  margin: 10px 0;
  overflow: hidden;
}
.bottom10 {
  margin-bottom: 10px;
  overflow: hidden;
}
.bottom20 {
  margin-bottom: 20px;
  overflow: hidden;
}
.bottom30 {
  margin-bottom: 30px;
  overflow: hidden;
}
.bottom40 {
  margin-bottom: 40px;
  overflow: hidden;
}
.bottom50 {
  margin-bottom: 50px;
  overflow: hidden;
}
/**************************************************/
/****** main ******/
main {}
/****** content ******/
.content {
  clear: both;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
}
.content a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}
.content img {
  max-width: 100%;
}
p.btn_more {
  overflow: hidden;
  padding: 15px 20px;
}
p.btn_more a {
  margin-right: auto;
  margin-left: auto;
  border: 1px solid #222;
  background-color: #222;
  padding: 15px 50px;
  color: #fff;
  font-size: 100%;
  font-weight: bold;
}
p.btn_more a:hover {
  overflow: hidden;
  background-color: #fff;
  color: #222;
}
/**************************************************/
/****** キャッチ ******/
.catch {
  clear: both;
  overflow: hidden;
  margin: 0 auto;
}
h1.catch_image {
  margin-bottom: 20px;
}
p.catch_illust {
  max-width: 40%;
  margin: 0 auto 20px;
}
p.catch_txt {
  margin: 0 3% 20px;
  font-size: 110%;
  font-weight: bold;
  line-height: 1.7;
}
h2.catch_title {
  margin: 0 3% 20px;
}
ul.catch_step {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 3% 20px;
}
ul.catch_step li {
  display: block;
  width: 100%;
  margin-bottom: 2%;
  background-color: #ffc;
  padding: 3%;
}
ul.catch_step li h3 {
  max-width: 80%;
  margin: 0 auto 10px;
}
ul.catch_step li p {
  text-align: left;
  font-size: 100%;
}
ul.catch_which {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 3% 20px;
}
ul.catch_which li {
  display: block;
  width: 100%;
  margin-bottom: 2%;
}
ul.catch_which li h3 {
  background-color: #808080;
  border-radius: 30px;
  color: #fff;
  font-size: 100%;
  font-weight: bold;
  padding: 5px;
  margin: 0 auto 10px;
}
ul.catch_which li p {
  text-align: left;
  font-size: 100%;
}
/* PC用CSS記述（768px以上）*/
@media print, screen and (min-width:768px) {}
/* PC用CSS記述（1000px以上）*/
@media print, screen and (min-width:1000px) {
  .catch {
    max-width: 1000px;
  }
  p.catch_illust {
    max-width: 200px;
  }
  p.catch_txt {
    max-width: 800px;
    margin: 0 auto 20px;
  }
  h2.catch_title {
    max-width: 600px;
    margin: 0 auto 20px;
  }
  ul.catch_step {
    margin: 0 auto 20px;
  }
  ul.catch_step li {
    width: 28%;
    margin: 0 5px;
    padding: 20px;
  }
  ul.catch_step li h3 {
    max-width: 100%;
  }
  ul.catch_which {
    margin: 0 auto 20px;
  }
  ul.catch_which li {
    width: 48%;
    margin: 0 10px;
  }
}
/**************************************************/
/****** 支払い例 ******/
.payment {
  clear: both;
  overflow: hidden;
  margin: 0 auto;
}
h3.payment_title1 {
  clear: both;
  border: 2px solid #f39;
  border-radius: 30px;
  font-size: 100%;
  font-weight: bold;
  line-height: 1.5;
  padding: 10px 20px;
  margin: 0 3% 20px;
}
h3.payment_title2 {
  clear: both;
  border: 2px solid #f60;
  border-radius: 30px;
  font-size: 100%;
  font-weight: bold;
  line-height: 1.5;
  padding: 10px 20px;
  margin: 0 3% 20px;
}
p.payment_example {
  margin: 0 3% 20px;
}
ul.payment_monthly {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 3% 20px;
}
ul.payment_monthly li {
  display: block;
  width: 100%;
  margin-bottom: 2%;
  background-color: #ebfffe;
  padding: 3%;
}
ul.payment_monthly li h3 {
  max-width: 80%;
  margin: 0 auto 10px;
}
ul.payment_monthly li p {
  text-align: left;
  font-size: 90%;
}
h3.payment_house {
  font-size: 110%;
  margin: 0 3% 10px;
}
p.house_image {
  margin: 0 3% 10px;
}
p.house_title {
  background-color: #00a99d;
  border-radius: 30px;
  color: #fff;
  font-size: 110%;
  font-weight: bold;
  padding: 5px;
  margin: 0 3% 10px;
}
p.house_copy1 {
  color: #f39;
  text-align: left;
  font-size: 110%;
  font-weight: bold;
  margin: 0 3% 5px;
}
p.house_copy2 {
  color: #f60;
  text-align: left;
  font-size: 110%;
  font-weight: bold;
  margin: 0 3% 5px;
}
p.house_txt {
  text-align: left;
  font-size: 90%;
  margin: 0 3% 20px;
}
/* PC用CSS記述（768px以上）*/
@media print, screen and (min-width:768px) {}
/* PC用CSS記述（840px以上）*/
@media print, screen and (min-width:1000px) {
  .payment {
    max-width: 1000px;
  }
  h3.payment_title1, h3.payment_title2 {
    font-size: 120%;
    padding: 15px 20px;
    margin: 0 auto 20px;
  }
  p.payment_example {
    max-width: 500px;
    margin: 0 auto 20px;
  }
  ul.payment_monthly {
    margin: 0 auto 20px;
  }
  ul.payment_monthly li {
    width: 28%;
    margin: 0 5px;
    padding: 20px;
  }
  ul.payment_monthly li h3 {
    max-width: 100%;
  }
  h3.payment_house {
    font-size: 120%;
    margin: 0 auto 10px;
  }
  .house_box {
    max-width: 800px;
    margin: 0 auto 30px;
	overflow: hidden;
  }
  p.house_image {
    float: left;
    max-width: 400px;
    padding-right: 20px;
    margin: 0 auto;
  }
  .house_box2 {
    float: left;
    max-width: 380px;
  }
  p.house_title {
    margin: 0 auto 10px;
  }
  p.house_copy1, p.house_copy2 {
    margin: 0 auto 5px;
  }
  p.house_txt {
    margin: 0 auto 20px;
  }
}
/**************************************************/
/****** bukken ******/
.bukken {
  clear: both;
  margin: 0 auto 20px;
  background-color: #f2f2f2;
  padding: 20px 0;
}
.bukken img {
  max-width: 100%;
}
.bukken p.bukken_txt1 {
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 10px;
}
.bukken p.bukken_txt2 {
color: #f39;
  font-size: 100%;
  font-weight: bold;
  margin-bottom: 10px;
}
.bukken p.bukken_txt3 {
  font-size: 100%;
  font-weight: bold;
  margin-bottom: 20px;
}
.bukken ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 2%;
}
.bukken ul li {
  display: block;
  /*width: 60%;*/
  width: 45%;
  /*padding-right: 1px;*/
  padding-right: 5px;
  padding-bottom: 10px;
}
.bukken ul li span {
  display: block;
  width: 100%;
  /*background-color: #808080;*/
  padding: 5px 0;
  color: #fff;
  font-size: 60%;
  font-weight: bold;
}
.bukken_color {
background-color: #00a99d;
}

/* TB用CSS記述（768px以上） */
@media print, screen and (min-width:768px) {
  .bukken {
    padding: 30px 0;
  }
  .bukken ul {
    /*flex-wrap: nowrap;*/
    /*margin: 0 2%;*/
  }
  .bukken ul li {
    width: 30%;
    padding-right: 10px;
    padding-bottom: 10px;
  }
  .bukken ul li:last-child {
    /*padding-right: 0;*/
  }
}
/* TB用CSS記述（1000x以上） */
@media print, screen and (min-width:1000px) {
  .bukken ul {
    max-width: 1000px;
    margin: 0 auto;
  }
  .bukken ul li {
    width: 19%;
    /*width: 24%; 4列*/
    /*width: 32%;* 3列*/
  }
  .bukken ul li span {
    font-size: 65%;
  }
}
/****** banner ******/
.banner {
  clear: both;
  margin: 0 5% 10px;
}
.banner img {
  max-width: 100%;
}
/* PC用CSS記述（1000px以上）*/
@media print, screen and (min-width:1000px) {
  /****** banner ******/
  .banner {
    max-width: 800px;
    margin: 0 auto 20px;
  }
}
/**************************************************/
/****** .pagetop ******/
.pagetop {
  clear: both;
  margin: 0 5% 30px;
}
.pagetop a {
  font-size: 75%;
  font-weight: bold;
}
.pagetop a:hover {
  color: #39F;
}
.pagetop a i {
  padding-right: 2px;
}
/* TB用CSS記述（768px以上） */
@media print, screen and (min-width:768px) {
  .pagetop a {
    float: right;
  }
}
/* PC用CSS記述（1000px以上）*/
@media print, screen and (min-width:1000px) {
  .pagetop {
    max-width: 1000px;
    margin: 0 auto 50px;
  }
}
/****** footer ******/
footer {
  clear: both;
  overflow: hidden;
  border-top: 1px solid #CCC;
}
footer img {
  max-width: 100%;
}
footer div {
  max-width: 90%;
  margin: 15px auto;
}
footer h6 {
  width: 200px;
  margin: 0 auto 10px;
}
footer p {
  font-size: 75%;
}
/* TB用CSS記述（768px以上） */
@media print, screen and (min-width:768px) {
  footer {}
  footer div {
    display: flex;
    justify-content: center;
    margin: 20px auto;
  }
  footer h6 {
    margin: 0;
    padding-right: 20px;
  }
  footer p {
    text-align: left;
  }
}
/* PC用CSS記述（1000px以上）*/
@media print, screen and (min-width:1000px) {
  footer {}
  footer div {
    max-width: 800px;
    margin: 20px auto;
  }
}
/****** .copyright ******/
.copyright {
  clear: both;
  overflow: hidden;
  border-top: 1px solid #CCC;
  background-color: #EEE;
  padding: 20px 10px;
  color: #666;
  font-size: 80%;
}