@charset "UTF-8";

/* CSS Document */
body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 180%;
  color: #555555;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
}
a {
  color: #06F;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
}
table {
  width: 100%;
  border-collapse: collapse;
}
.red {
  color: #F84447;
}
.clear {
  clear: both;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.m0 {
  margin: 0;
}
.mb {
  margin-bottom: 6.3em;
}
.mb-4 {
  margin-bottom: 4em;
}
.pc {
  display: inherit;
}
.smp {
  display: none;
}
.pc-center { /* PC時のみセンタリング */
  text-align: center;
}
.smp-center {
  text-align: left;
}
.xsmall {
  font-size: 0.5em;
}
.small {
  font-size: 0.8em;
  line-height: 140%;
}
.large {
  font-size: 1.4em;
}
/*flex*/
.flex {
  overflow: auto;
  display: flex;
  flex-wrap: wrap;
}
.flex .col-2, .flex .col-3, .flex .col-4, .flex .col-5, .flex .col-6, .flex .col-7, .flex .col-8, .flex .col-9, .flex .col-10 {
  box-sizing: border-box;
}
.flex .col-12 {
  box-sizing: border-box;
  padding: 0 0.5em;
  margin-bottom: 2em;
}
.flex .col-2 { /*5分割*/
  width: 16.6%;
}
.flex .col-3 { /*4分割*/
  width: 25%;
}
.flex .col-4 { /*3分割*/
  width: 33%;
}
.flex .col-5 {
  width: 41%;
}
.flex .col-6 { /*2分割*/
  width: 49.9%;
}
.flex .col-7 {
  width: 59%;
}
.flex .col-8 {
  width: 67%;
}
.flex .col-9 {
  width: 75%;
  float: left;
}
.flex .col-10 {
  width: 83%;
}
.flex .col-12 {
  margin-bottom: 0;
  width: 100%;
}
.flexbetween {
  justify-content: space-between;
}
.flexend {
  justify-content: flex-end;
}
/*img*/
img {
  border: none;
  vertical-align: bottom;
}
.imgtxt {
  text-indent: -9999px;
}
.img-responsive {
  max-width: 100%;
  height: auto;
}
/* 個別設定 */
main {
  background-color: #f3efe1;
  padding-bottom: 1px;
}
header {
  background-color: #fff;
}
header .contents {
  width: 1100px;
  margin: 0 auto;
  color: #5689bf;
}
header .contents .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .contents #gnav {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: -1.3em;
}
header .contents #gnav ul {
  list-style-type: none;
  padding: 0;
}
header .contents #gnav ul li {
  border-right: 1px solid #555555;
}
header .contents #gnav ul li:last-child {
  border-right: none;
}
header .contents #gnav ul li a {
  color: #555555;
  font-weight: bold;
  display: block;
  padding: 0 0.6em;
}
header .contents #gnav .btn a {
  background-color: #0065bd;
  color: #fff;
  text-align: center;
  display: block;
  width: 15em;
  padding: 0.6em 0;
}
#mainvis {
  background-image: url("../img/vis.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  height: 480px;
  color: #fff;
  text-align: center;
  padding-top: 10%;
}
#mainvis .contents p.type1 {
  font-size: 2.5em;
  text-shadow: 2px 2px 1px rgba(42, 42, 42, 0.3);
  margin: 0;
}
#mainvis .contents p.type2 {
  text-shadow: 2px 2px 1px rgba(42, 42, 42, 0.3);
}
.contents {
  width: 950px;
  margin: 0 auto;
}
#kasai-index {
  padding-top: 6.3em;
  background: url("../img/bg.png") no-repeat;
  background-size: contain;
}
#kasai-index .contents {
  padding: 2.5em;
  background: url("../img/bg-kasai.jpg") no-repeat #fff;
  background-size: contain;
  border-radius: 20px;
}
#kasai-index .contents h3.type1 {
  background: url("../img/img01.png") no-repeat top center;
  height: 377px;
}
#kasai-index .contents h2 {
  background: url("../img/img02.png") no-repeat top center;
  height: 281px;
}
#kasai-index .contents .box {
  background: url("../img/img03.png") no-repeat #fcf3f2 left bottom;
  padding: 0.5em 0 0 35%;
  height: 490px;
}
#kasai-index .contents .box p {
  margin: 0;
}
.txt-type1 {
  color: #f09400;
  font-size: 1.1em;
  font-weight: bold;
}
#kasai-index .contents h3.type2, #kasai .contents h4.type2 {
  background-color: #1ea839;
  color: #fff;
  width: 10em;
  padding: 0.5em;
  text-align: center;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  margin: 4em 0 0 0;
}
#kasai-index .contents .btn {
  margin-bottom: 4em;
}
#kasai-index .contents .btn a {
  color: #fff;
  padding: 0.5em 2em;
  display: block;
  width: 16em;
  margin: 0 auto;
  font-weight: bold;
  background: #1ea839 url("../img/icon-btn.png") no-repeat right 1em center;
  border-radius: 35px;
}
#message {
  background-color: #fff;
  padding: 6.3em 0;
  margin: 6.3em 0 5px 0;
  box-shadow: 0px 5px 5px rgba(42, 42, 42, 0.3);
}
#message .contents h2 {
  text-align: center;
  background: url("../img/icon-h.png") no-repeat bottom center;
  padding: 0 0 1.5em 0;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  color: #856f1f;
  font-size: 2em;
  letter-spacing: 0.2em;
  margin: 0;
}
/*ここまでtoppage*/
.vis {
  background-size: cover;
  height: 170px;
  color: #fff;
  padding: 4em 0 0 0;
  box-sizing: border-box;
}
.vis h2 {
  font-size: 2.2em;
  background: url("../img/kasai/icon.png") no-repeat center left;
  padding: 0 0 0 1.5em;
  margin: 0;
  text-shadow: 2px 2px 1px rgba(42, 42, 42, 0.3);
}
.vis p {
  padding: 0 0 0 3.5em;
  margin: 0.7em 0;
}
.whitebox {
  background-color: #fff;
  padding: 6.3em 0;
  margin: 6.3em 0;
  box-shadow: 0px 5px 5px rgba(42, 42, 42, 0.3);
}
#kasai .contents h3, #mansion .contents h3, #reform .contents h3, #company .contents h3, #privacy .whitebox-type3 h3, #contact .whitebox-type3 h3 {
  text-align: center;
  background: url("../img/icon-h.png") no-repeat bottom center;
  padding: 0 0 1.3em 0;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  color: #856f1f;
  font-size: 2em;
  letter-spacing: 0.1em;
  margin: 0 0 1.5em 0;
}
#kasai .vis {
  background-image: url("../img/kasai/vis.jpg");
}
#kasai .box {
  background: url("../img/kasai/bg.jpg") no-repeat;
  background-size: contain;
  padding-top: 6.3em;
}
#kasai .box h3 {
  background: url("../img/kasai/img01.png") no-repeat top center;
  height: 137px;
  padding: 0;
}
#kasai .box h4 {
  background: url("../img/kasai/img02.png") no-repeat top center;
  height: 372px;
}
#kasai .flow ol {
  list-style-type: none;
  padding: 0;
}
#kasai .flow ol li {
  margin-bottom: 1.5em;
  background-color: #fff;
  background-repeat: no-repeat;
  padding: 0.8em 0 0 10em;
  height: 55px;
  box-sizing: border-box;
  position: relative;
}
#kasai .flow ol li:before {
  content: url("../img/kasai/icon-flow.png");
  display: block;
  position: absolute;
  left: 50%;
  top: 100%;
}
#kasai .flow ol li:last-child:before {
  display: none;
}
#kasai .flow ol li.type1 {
  background-image: url("../img/kasai/step1.png");
}
#kasai .flow ol li.type2 {
  background-image: url("../img/kasai/step2.png");
}
#kasai .flow ol li.type3 {
  background-image: url("../img/kasai/step3.png");
}
#kasai .flow ol li.type4 {
  background-image: url("../img/kasai/step4.png");
}
#kasai .flow ol li.type5 {
  background-image: url("../img/kasai/step5.png");
}
#kasai .flow ol li.type6 {
  background-image: url("../img/kasai/step6.png");
}
#kasai .flow ol li.type7 {
  background-image: url("../img/kasai/step7.png");
}
#kasai #work {}
#kasai #work h4 {
  background: url("../img/kasai/img05.png") no-repeat center center;
  height: 178px;
  margin: 2em 0 0 0;
}
#kasai #work h5 {
  color: #1EA839;
  background-color: #d3edd8;
  border-bottom: 2px solid #1EA839;
  text-align: center;
  font-size: 1.6em;
  padding: 0.5em;
  margin: 2em 0;
}
#kasai #work .btn a {
  color: #fff;
  padding: 1em 2em;
  display: block;
  width: 16em;
  margin: 1em auto;
  font-weight: bold;
  background: #1ea839 url("../img/icon-btn.png") no-repeat right 1em center;
  border-radius: 35px;
}
#kasai #voice {
  color: #1ea839;
  padding-bottom: 4em;
}
#kasai #voice .items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#kasai #voice .item {
  width: 48%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dashed #1ea839;
  margin: 1em 0;
  padding: 1em 0;
}
#kasai #voice .items .item h4 {
  font-size: 1.2em;
  margin: 0.5em 0 0 0.5em;
}
#kasai #voice .items .item p {
  margin: 0 0 0 0.5em;
}
#senior .contents{
  background-color: #fff;
  border-radius: 15px;
    padding: 2em;
    text-align: center;
    margin: 2em auto;
}
.box-bg {
  background: url("../img/mansion/bg.jpg") no-repeat top center;
  padding-top: 6.3em;
  background-size: contain;
	    margin-top: -2px;
}
.whitebox-type2 {
  width: 950px;
  margin: 0 auto;
  background-color: #fff;
  border: 2px solid #0088cf;
  border-radius: 15px;
  padding: 2em;
  box-sizing: border-box;
}
.whitebox-type2 h3.type2 {
  font-size: 2.3em;
  color: #0088cf;
  text-align: center;
  border-bottom: 2px solid #0088cf;
  width: 13em;
  margin: 0 auto 1em auto;
  padding: 0 0 0.5em 0;
  text-shadow: 2px 2px 1px rgba(42, 42, 42, 0.2);
  line-height: 150%;
  font-family: 'M PLUS Rounded 1c', sans-serif;
}
#mansion .vis, #reform .vis {
  background-image: url("../img/mansion/vis.jpg");
}
#mansion .flow {
  padding-bottom: 6.3em;
}
#mansion .flow .mawarikomi {
  float: right;
  margin: 0 1em;
}
#mansion .flow ol {
  list-style-type: none;
  padding: 0;
}
#mansion .flow ol li {
  margin-bottom: 1.5em;
  background-color: #fff;
  background-repeat: no-repeat;
  padding: 0.8em 0 0 10em;
  box-sizing: border-box;
  position: relative;
}
#mansion .flow ol li:before {
  content: url("../img/mansion/icon-flow.png");
  display: block;
  position: absolute;
  left: 50%;
  top: 100%;
}
#mansion .flow ol li:last-child:before {
  display: none;
}
#mansion .flow ol li.type1 {
  background-image: url("../img/mansion/step1.png");
  height: 199px;
}
#mansion .flow ol li.type2 {
  background-image: url("../img/mansion/step2.png");
  height: 156px;
}
#mansion .flow ol li.type3 {
  background-image: url("../img/mansion/step3.png");
  height: 56px;
}
#mansion .flow ol li.type4 {
  background-image: url("../img/mansion/step4.png");
  height: 106px;
}
#mansion .flow ol li.type5 {
  background-image: url("../img/mansion/step5.png");
  height: 75px;
}
#reform .whitebox-type2 h4 {
  font-size: 1.5em;
  text-shadow: 2px 2px 1px rgba(42, 42, 42, 0.2);
  color: #fff;
  background: linear-gradient(to bottom, #0088cf 50%, #0075bd 53%);
  font-weight: normal;
  text-align: center;
  padding: 0.5em;
  border-radius: 25px;
  margin: 1.5em 0 0 0;
}
#reform .contents .type1 {
  font-size: 1.5em;
  color: #0088cf;
  background: url("../img/reform/line.png") no-repeat bottom left;
  padding: 0 0 1em 0;
  line-height: 150%;
}
#reform .whitebox .contents .box, #reform .contents .box {
  padding: 8em 2em 2em 2em;
  margin: 4em 0 0 0;
}
#reform .whitebox .contents .box {
  background: url("../img/reform/img03.jpg") no-repeat #eef9f3;
}
#reform .whitebox .contents .box h4.type2 {
  color: #7daa1b;
  font-size: 1.5em;
  background: url("../img/icon-h.png") no-repeat bottom 0.2em left;
  padding: 1em 0 0 2em;
  border-top: 1px dashed #7daa1b;
  margin: 1em 0 0 0;
}
#reform .whitebox .contents .box h4.type2:first-child {
  border-top: none;
}
#reform .reformbox {
  padding-bottom: 6.3em;
}
#reform .contents .box {
  background: url("../img/reform/img05.jpg") no-repeat #eef9f3;
}
#reform .contents .box h4.type3 {
  background-color: #92b840;
  color: #fff;
  text-align: center;
  font-size: 1.3em;
  padding: 0.3em;
  margin-bottom: 0;
}
#reform .contents .box .items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#reform .contents .box .item {
  width: 48%;
}
#company .vis, #privacy .vis, #contact .vis {
  background-image: url("../img/company/vis.jpg");
}
#company .about {
  padding: 6.3em 0;
}
#company .contents table {
  width: 60%;
  margin: 0 auto;
}
#company .contents table tr {
  border-bottom: 1px solid #fff;
}
#company .contents table th, #company .contents table td {
  padding: 1.5em;
}
#company .contents table th {
  width: 40%;
  color: #856f1f;
  text-align: left;
  padding-left: 6em;
}
.whitebox-type3 {
  width: 950px;
  margin: 6.3em auto;
  background-color: #fff;
  border-radius: 15px;
  padding: 3em 2em;
  box-sizing: border-box;
}
#privacy, #contact {
  padding-bottom: 6.3em;
}
#privacy .whitebox-type3 ol li {
  margin: 1.5em 0 0 0;
}
#contact .whitebox-type3 table {
  width: 80%;
  margin: 0 auto;
}
#contact .whitebox-type3 table tr {
  border-bottom: 1px solid #eae6d9;
}
#contact .whitebox-type3 table tr:last-child {
  border-bottom: none;
}
#contact .whitebox-type3 table th, #contact .whitebox-type3 table td {
  padding: 1.5em;
}
#contact .whitebox-type3 table th {
  width: 35%;
  color: #856f1f;
  text-align: left;
  padding-left: 3em;
}
#contact .whitebox-type3 table input, #contact .whitebox-type3 table textarea {
  width: 90%;
  padding: 1em;
  border: 1px solid #dbdbdb;
}
#contact .whitebox-type3 table #submit {
  background-color: #0065bd;
  color: #fff;
  border-radius: 28px;
  font-size: 1em;
  width: 35%;
  margin-left: 30%;
}
footer {
  background: url("../img/bg-footer.png") no-repeat bottom #fff;
  background-size: contain;
  padding: 0 0 2em 0;
}
footer .contents .pagetop {
  width: 3em;
  text-align: center;
    margin: 0.5em 0 0.5em auto;
}
footer .contents .pagetop a {
  color: #297fca;
  line-height: 110%;
  background: url("../img/icon-pagetop.png") no-repeat top center;
  padding: 1em 0 0 0;
  display: block;
}
footer .contents ul {
  list-style-type: none;
  flex-wrap: wrap;
  padding: 0;
}
footer .contents ul li {
  width: 48%;
  margin: 0;
}
footer .contents ul li a {
  background: url("../img/icon-sitemap.png") no-repeat left center;
  padding: 0 0 0 0.7em;
  color: #555555;
}
footer .contents .btn a {
  background-color: #0065bd;
  color: #fff;
  text-align: center;
  display: block;
  width: 18em;
  padding: 0.7em 0;
  font-weight: bold;
  border-radius: 25px;
}
footer .contents .address {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1em 0 2em 0;
}
footer .contents .logo {
  margin: 1em 2em 1em 0;
}
footer .contents .address .type1 {
  font-size: 1.3em;
  color: #856f1f;
  border-left: 8px solid #856f1f;
  text-indent: 10px;
  margin: 0;
}
footer .contents .address .type2 {
  font-size: 1.3em;
  color: #856f1f;
}
