@charset "utf-8";
.ajax-loader {
  display: none !important;
}
.sp-only {
  display: none !important;
}
body {
  min-width: 1220px;
  margin: auto;
  text-align: justify;
  text-justify: inter-ideograph;
}
.inner {
  width: 1200px;
  margin: auto;
}
.float-pc {
  overflow: hidden;
}
#splash {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 10000;
  pointer-events: none;
  transition: all 1s ease .5s;
}
#splash .loader {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#splash svg path, #splash svg rect {
  fill: #FF6700;
}
body.page__open #splash {
  opacity: 0;
}
#anchor-kengaku {
  padding: 80px 0 0;
  margin: -80px 0 0;
}
#first-movie {
  position: fixed;
  z-index: 100000;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: all 3s;
}
#first-movie video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
body.movie__end #first-movie {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
/* == parts ============================================== */
.btn_arrow {
  width: 180px;
  margin: 0 0 0 auto;
}
.btn_arrow a {
  display: block;
  position: relative;
  font-weight: 600;
  padding: 5px 0;
  overflow: hidden;
  transform-origin: right bottom;
}
.btn_arrow a::before {
  content: '';
  width: 60%;
  height: 1px;
  background: #231815;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all .2s ease .3s;
}
.btn_arrow a:hover::before {
  width: 100%;
  transition: all .4s;
}
.btn_arrow a::after {
  content: '';
  width: 0;
  height: 1px;
  background: #231815;
  position: absolute;
  right: 0;
  bottom: 0;
  transform-origin: right bottom;
  transform: rotateZ(45deg);
  transition: all .2s;
}
.btn_arrow a:hover::after {
  width: 30px;
  transition: all .4s ease .3s;
}
.btn_base {
  width: 300px;
  margin: 70px auto 0;
  border: solid 1px #231815;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  background: #fff;
}
.btn_base a {
  display: block;
  padding: 25px 0;
  line-height: 1;
  position: relative;
  font-weight: 600;
}
.btn_base a::before {
  content: '';
  width: 0%;
  height: 100%;
  background: #90ac5c;
  position: absolute;
  right: -20%;
  top: 0;
  transition: all .4s;
  transform: skewX(-45deg);
}
.btn_base.arrow2 a::before {
  background: #f39a59;
}
.btn_base a:hover::before {
  left: -20%;
  right: auto;
  width: 140%;
}
.btn_base a::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #90ac5c;
  transition: all .4s;
  z-index: 2;
}
.btn_base a.anchor::after {
  border-width: 10px 10px 0 10px;
  border-color: #90ac5c transparent transparent transparent;
}
.btn_base.arrow2 a::after {
  border-color: transparent transparent transparent #f39a59;
}
.btn_base a:hover::after {
  border-color: transparent transparent transparent #fff !important;
}
.btn_base a.anchor:hover::after {
  border-color: #fff transparent transparent transparent !important;
}
.btn_base span {
  position: relative;
  z-index: 2;
  transition: all .4s;
}
.btn_base a:hover span {
  color: #fff;
}
.btn_big {
  width: 400px;
  margin: 80px auto 10px;
  border: solid 1px #90ac5c;
  text-align: center;
  transition: all .3s;
  position: relative;
  border-radius: 10px;
  z-index: 5;
  -webkit-animation: fuwa 2s ease 0s infinite alternate;
  animation: fuwa 2s ease 0s infinite alternate;
  box-shadow: 0px 0px 5px 1px #bbb;
}
@-webkit-keyframes fuwa {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(10px);
  }
}
@keyframes fuwa {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(10px);
  }
}
.btn_big::after {
  content: "";
  width: 90%;
  height: 10px;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  margin: auto;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  z-index: 10;
  transition: .3s;
  -webkit-animation: fuwa2 2s ease 0s infinite alternate;
  animation: fuwa2 2s ease 0s infinite alternate;
}
@-webkit-keyframes fuwa2 {
  0% {
    transform: translateY(10px);
    width: 50%;
  }
  100% {
    transform: translateY(0px);
    width: 80%;
  }
}
@keyframes fuwa2 {
  0% {
    transform: translateY(10px);
    width: 50%;
  }
  100% {
    transform: translateY(0px);
    width: 80%;
  }
}
.btn_big a {
  display: block;
  font-weight: 600;
  padding: 15px 0;
  color: #fff;
  position: relative;
  transition: all .4s;
  background: #90ac5c;
  border-radius: 6px;
  font-size: 125%;
}
.btn_big a:hover {
  background: #f39a59;
}
.btn_big a::before {
  content: '';
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #fff;
  transition: all .4s;
  z-index: 2;
}
.title_center {
  text-align: center;
  font-size: 180%;
  font-weight: 600;
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho ProN', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', 'MS PMincho', serif;
  margin: 0 0 40px;
  position: relative;
  line-height: 2;
  letter-spacing: 3px;
}
.title_center.bg-ki {
  padding: 300px 0 0;
  background: url(../img/title-ki01.jpg) no-repeat center top 270px;
}
.title_center.bg-ki::before {
  content: '';
  width: 320px;
  height: 270px;
  background: url(../img/title-ki02.jpg) no-repeat center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  transform-origin: center bottom;
  margin: auto;
  -webkit-animation: ki 10s ease 0s infinite;
  animation: ki 10s ease 0s infinite;
}
.title_center.bg-ki-gif01::after {
  content: '';
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: auto;
  width: 480px;
  height: 270px;
  background: url("../img/gif/aoba001.gif") no-repeat;
  background-size: contain;
  z-index: 5;
}
.title_center.bg-ki-gif02::after {
  content: '';
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: auto;
  width: 480px;
  height: 270px;
  background: url("../img/gif/aoba002.gif") no-repeat;
  background-size: contain;
  z-index: 5;
}
.title_center.bg-ki-gif03::after {
  content: '';
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: auto;
  width: 480px;
  height: 270px;
  background: url("../img/gif/aoba003.gif") no-repeat;
  background-size: contain;
  z-index: 5;
}
.title_center.bg-ki-gif02::after {}
@-webkit-keyframes ki {
  0% {
    transform: rotateZ(3deg);
  }
  25% {
    transform: rotateZ(-3deg);
  }
  50% {
    transform: rotateZ(3deg);
  }
  75% {
    transform: rotateZ(-3deg);
  }
  100% {
    transform: rotateZ(3deg);
  }
}
@keyframes ki {
  0% {
    transform: rotateZ(3deg);
  }
  25% {
    transform: rotateZ(-3deg);
  }
  50% {
    transform: rotateZ(3deg);
  }
  75% {
    transform: rotateZ(-3deg);
  }
  100% {
    transform: rotateZ(3deg);
  }
}
.title_center span.en {
  display: block;
  font-size: 50%;
}
.title_center span.follow {
  font-size: 50%;
  position: absolute;
  top: 15px;
  margin: 0 0 0 50px;
}
.scroll_anime .title_center {
  opacity: 0;
  transform: translateY(-30px);
  transition: all 1.5s ease .2s;
  letter-spacing: -5px;
}
.scroll__start .title_center {
  opacity: 1;
  transform: translateY(0);
  letter-spacing: 2px;
}
.lead_center {
  text-align: center;
  font-size: 180%;
  font-weight: 600;
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho ProN', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', 'MS PMincho', serif;
  margin: 70px 0 50px;
}
.scroll_anime .lead_center {
  opacity: 0;
  transition: all 1.8s ease .4s;
  letter-spacing: -5px;
}
.scroll__start .lead_center {
  opacity: 1;
  letter-spacing: 0;
}
.bg-fixed {
  height: 550px;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}
.bg-fixed.fixed01 {
  background-image: url(../img/works-bg.jpg);
}
.btn_link {
  width: 360px;
  background: rgba(60, 86, 42, 0.8);
  text-align: center;
  border-radius: 6px;
  transition: all .3s;
}
.btn_link a {
  display: table;
  width: 100%;
  height: 95px;
  color: #fff;
  font-size: 125%;
  font-weight: 600;
  position: relative;
  line-height: 1.5;
}
.btn_link a::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #fff;
  transition: all .4s;
  z-index: 2;
}
.btn_link span {
  display: table-cell;
  vertical-align: middle;
}
.btn_link:hover {
  background: rgba(60, 86, 42, 1);
  box-shadow: 0 0 5px 0px #fff;
}
.btn_wrap {
  text-align: center;
}
.btn_wrap .btn_link {
  display: inline-block;
  margin: 0 20px;
}
.btn_wrap .btn_small {
  display: inline-block;
  margin: 0 20px;
}
/* == header ============================================== */
header .h-main {
  position: fixed;
  width: 100%;
  min-width: 1220px;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, .7);
  z-index: 1000;
  box-shadow: 0 3px 7px 1px #eee;
}
body.logged-in header .h-main {
  top: 32px;
}
header .inner::after {
  content: '';
  display: block;
  clear: both;
}
header .inner h1 {
  float: left;
  width: 226px;
  margin: 10px 0 0;
}
header .inner h1 img {
  vertical-align: top;
}
header .inner .list_main-nav {
  float: right;
}
.list_main-nav::after {
  content: '';
  display: block;
  clear: both;
}
.list_main-nav > li {
  float: left;
  position: relative;
}
.list_main-nav > li > a {
  display: block;
  line-height: 80px;
  padding: 0 20px;
  font-size: 94%;
  font-weight: 600;
  position: relative;
  cursor: pointer;
  transition: all .4s;
}
.list_main-nav > li > a:hover {
  color: #ff8c00;
}
.list_main-nav > li > a::after {
  content: '';
  width: 0px;
  height: 0px;
  background: #ff8c00;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  transition: all .4s;
  pointer-events: none;
}
.list_main-nav > li > a:hover::after, #page_concept .list_main-nav > li.list01 > a::after, #page_works .list_main-nav > li.list02 > a::after, #page_model-house .list_main-nav > li.list03 > a::after, #page_blog .list_main-nav > li.list04 > a::after, #page_company .list_main-nav > li.list05 > a::after, #page_contact .list_main-nav > li.list06 > a::after, #page_movie .list_main-nav > li.list07 > a::after, #page_realty .list_main-nav > li.list08 > a::after {
  width: 20px;
  height: 4px;
  bottom: 10px;
}
#page_concept .list_main-nav > li.list01 > a, #page_works .list_main-nav > li.list02 > a, #page_model-house .list_main-nav > li.list03 > a, #page_blog .list_main-nav > li.list04 > a, #page_company .list_main-nav > li.list05 > a, #page_contact .list_main-nav > li.list06 > a, #page_movie .list_main-nav > li.list07 > a, #page_realty .list_main-nav li.list08 > a {
  color: #ff8c00;
}
.list_sub-nav {
  position: absolute;
  left: 0;
  top: 100%;
  width: 200px;
  background: rgba(255, 255, 255, .8);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all .5s;
  transform: translateY(-10px);
  z-index: 10;
}
.list_main-nav > li:hover .list_sub-nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.list_sub-nav li + li {
  border-top: solid 1px #999;
}
.list_sub-nav a {
  display: block;
  font-size: 82%;
  font-weight: 600;
  padding: 12px;
  transition: all .3s;
}
.list_sub-nav a:hover {
  color: #ff8c00;
}
/**/
.list_h-side {
  position: fixed;
  right: 0;
  top: 20%;
  z-index: 999;
}
.list_h-side li {
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  transition: all .3s;
  border-right: none !important;
  position: relative;
}
.list_h-side li + li {
  margin: 5px 0 0;
}
.list_h-side li:nth-child(1) {
  background: #729b3c;
  border: solid 1px #729b3c;
}
.list_h-side li:nth-child(2) {
  background: #db7830;
  border: solid 1px #db7830;
}
.list_h-side li:nth-child(3) {
  background: #5c6c63;
  border: solid 1px #5c6c63;
}
.list_h-side li:hover {
  background: #fff;
}
.list_h-side li a {
  transition: all .3s;
  color: #fff;
}
.list_h-side li:nth-child(1):hover a {
  color: #729b3c;
}
.list_h-side li:nth-child(2):hover a {
  color: #db7830;
}
.list_h-side li:nth-child(3):hover a {
  color: #5c6c63;
}
.list_h-side a {
  display: block;
  padding: 30px 10px;
  font-size: 115%;
  font-weight: 600;
  position: relative;
}
/**/
.list_h-side #side_selectBtn {
  cursor: pointer;
}
.list_h-side li.select--active {
  transform: translateX(-250px);
}
.list_h-side .side_select {
  position: absolute;
  left: 100%;
  top: 0;
  -ms-writing-mode: horizontal-tb;
  writing-mode: horizontal-tb;
  width: 250px;
  height: 100%;
  box-sizing: border-box;
  padding: 10px 0;
  background: #FDFCE4;
  display: flex;
  align-items: center;
}
.list_h-side .side_select .selectWrap {
  width: 100%;
}
.list_h-side .side_select p + p {
  border-top: solid 1px #000;
}
.list_h-side .side_select a {
  padding: 15px;
  color: #000 !important;
}
.list_h-side .side_select a:hover {
  color: #729b3c !important;
}
/* == footer ============================================== */
footer {
  border-top: solid 1px #4c4948;
  padding: 100px 0 30px;
}
footer .inner {
  overflow: hidden;
  margin: 0 auto 30px;
}
footer .area_info {
  float: left;
  width: 450px;
  padding: 0 0 0 50px;
}
footer .area_info .logo-sns .logo {
  width: 226px;
  display: inline-block;
  vertical-align: middle;
}
footer .area_info .logo-sns .list_f-sns {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 20px;
}
footer .area_info .logo-sns .list_f-sns li {
  display: inline-block;
  vertical-align: bottom;
  margin: 0 10px 0 0;
  width: 50px;
}
footer .area_info address {
  font-size: 94%;
}
footer .area_nav {
  float: right;
  margin: 90px 0 0;
  width: calc(100% - 550px);
}
footer .area_nav {
  overflow: hidden;
}
footer .area_nav .list_f-nav {
  float: left;
  width: 33%;
}
footer .area_nav .list_f-nav li.margin {
  margin: 30px 0 0;
}
footer .area_nav .list_f-nav li.margin2 {
  margin: 10px 0 0;
}
footer .area_nav .list_f-nav a {
  display: block;
  padding: 3px 0 3px 15px;
  font-size: 88%;
  font-weight: 600;
  position: relative;
  transition: all .4s;
}
footer .area_nav .list_f-nav .small-link a {
  font-weight: 400;
}
footer .area_nav .list_f-nav a::after {
  content: '';
  width: 0;
  height: 0;
  border-radius: 50%;
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all .4s;
  background: #90ac5c;
}
footer .area_nav .list_f-nav a:hover {
  color: #90ac5c;
}
footer .area_nav .list_f-nav a:hover::after {
  left: 0;
  width: 8px;
  height: 8px;
}
footer .copyright {
  text-align: center;
  font-size: 75%;
}
#pagetop {
  width: 60px;
  height: 60px;
  background-color: #90ac5c;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
  cursor: pointer;
  transition: all .3s;
}
#pagetop:hover {
  opacity: .7;
}
#pagetop::before {
  content: '';
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: 0;
  top: 0;
  bottom: -10px;
  right: 0;
  margin: auto;
  transform: rotateZ(-45deg);
}
/* == frontpage ==============================================*/
main {
  overflow: hidden;
}
.block_front-top {
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.block_front-top .top-slide {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
/*
.block_front-top .top-slide::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    background: rgba(36, 26, 8, 0.65);
    z-index: 1;
}
*/
.block_front-top .top-slide .slick-list {
  pointer-events: none;
}
.block_front-top .top-slide .slide-contents {
  position: relative;
  height: 100vh;
}
.block_front-top .top-slide .slide-contents img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
}
.block_front-top .main-title {
  position: absolute;
  bottom: 0;
  top: 5%;
  right: 8%;
  margin: auto;
  z-index: 5;
  width: 240px;
  height: 560px;
}
@media all and (max-height:730px) {
  .block_front-top .main-title {
    width: 180px;
    height: 420px;
  }
}
/*----------------------------------------*/
.block_front-info {
  padding: 100px 0 200px;
  position: relative;
  z-index: 4;
}
.block_front-info::after {
  content: '';
  width: 311px;
  height: 220px;
  background: url(../img/ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 25%;
  bottom: 0;
}
.block_front-info .pen {
  position: absolute;
  left: 0;
  bottom: -90px;
  transform: translate3d(-100px, 0px, 0) rotateZ(-45deg);
  transition: all 2s ease .3s;
}
.block_front-info.scroll__start .pen {
  transform: translate3d(0, 0, 0) rotateZ(0);
}
.block_front-info .info-title {
  background: url(../img/info-title.png) no-repeat;
  background-size: 240px 95px;
  padding: 60px 0 0 150px;
  font-size: 115%;
  float: left;
  box-sizing: border-box;
  width: 250px;
  position: relative;
  overflow: hidden;
}
.block_front-info .info-title::before {
  content: '';
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 2s ease .3s;
}
.block_front-info.scroll__start .info-title::before {
  left: 100%;
}
.block_front-info .list_info {
  float: right;
  width: calc(100% - 600px);
  opacity: 0;
  transform: translateX(-50px);
  transition: all 2s ease 1s;
}
.block_front-info.scroll__start .list_info {
  opacity: 1;
  transform: translateX(0px);
}
.list_info a {
  display: block;
  overflow: hidden;
  padding: 5px 0;
}
.list_info span.date {
  float: left;
  width: 130px;
  font-size: 94%;
}
.list_info span.cat {
  float: left;
  width: 120px;
  color: #fff;
  text-align: center;
  background: #90ac5c;
  margin: 0 20px 0 0;
  font-size: 94%;
}
.list_info span.title {
  float: left;
  width: calc(100% - 270px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all .2s;
}
.list_info a:hover span.title {
  color: #ff8c00;
}
.block_front-info .btn_arrow {
  opacity: 0;
  transform: translateX(-50px);
  transition: all 2s ease 1.5s;
  padding: 0 30px 0 0;
  margin: 20px 0 0 auto;
}
.block_front-info.scroll__start .btn_arrow {
  opacity: 1;
  transform: translateX(0px);
}
/*----------------------------------------*/
.block_front-about {
  padding: 0 0 180px;
  position: relative;
  z-index: 3;
}
.block_front-about::after {
  content: '';
  width: 165px;
  height: 283px;
  background: url(../img/ha02.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 50px;
  top: 100px;
  opacity: 0;
  transform: translateY(-200px) skewY(45deg);
  transition: 4s ease-out .2s;
}
.block_front-about.scroll__start::after {
  transform: translateY(0);
  opacity: 1;
}
.block_front-about .about-bg {
  background: url(../img/about-bg.jpg) no-repeat center;
  overflow: hidden;
  height: 900px;
  position: relative;
  margin: 0 auto 100px;
}
.block_front-about .white-box {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, .6);
  padding: 60px 0;
  transform: translateY(100%);
  transition: all 2s ease-out .5s;
}
.block_front-about .about-bg.scroll__start .white-box {
  transform: translateY(0);
}
.block_front-about .white-box .inner {
  display: table;
}
.block_front-about .white-box .box-title {
  display: table-cell;
  vertical-align: middle;
  width: 60%;
  font-size: 180%;
  font-weight: 600;
  box-sizing: border-box;
  padding: 0 0 0 30px;
  opacity: 0;
  transform: skewX(10deg) rotateZ(15deg);
  transition: all 1.5s ease 1.5s;
  transform-origin: center;
  line-height: 2;
}
.block_front-about .about-bg.scroll__start .white-box .box-title {
  opacity: 1;
  transform: none;
}
.block_front-about .white-box .box-text {
  display: table-cell;
  vertical-align: middle;
  line-height: 2.5;
  opacity: 0;
  transform: skewX(-5deg) rotateZ(10deg);
  transition: all 1.5s ease 1.5s;
}
.block_front-about .about-bg.scroll__start .white-box .box-text {
  opacity: 1;
  transform: none;
}
/*----------------------------------------*/
.block_front-event {
  background: #f7f0ea;
  padding: 70px 0 80px;
  position: relative;
  z-index: 2;
  margin: 0 0 120px;
}
/*
.block_front-event::after {
    content: '';
    width: 225px;
    height: 110px;
    background: url(../img/dog.png) no-repeat;
    position: absolute;
    right: 5%;
    bottom: -30px;
    opacity: 0;
    transform: translateY(-50px) skewX(-15deg);
    transition: all 4s ease .3s;
}
*/
.block_front-event.scroll__start::after {
  opacity: 1;
  transform: translateY(0);
}
.block_front-event .event-slide {
  max-width: 1400px;
  margin: auto;
}
.block_front-event .event-slide .slick-list {
  max-width: 1200px;
  margin: auto;
}
.block_front-event .event-slide .slide-contents {
  width: 360px !important;
  margin: 0 20px;
}
.block_front-event .event-slide .slide-contents a {
  display: block;
}
.block_front-event .slide-contents .slide-title {
  font-size: 125%;
  font-weight: 600;
}
/*----------------------------------------*/
.block_front-works {
  margin: 0 0 160px;
  position: relative;
}
.block_front-works::before {
  content: '';
  width: 311px;
  height: 220px;
  background: url(../img/ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 2%;
  left: 5%;
  opacity: 0;
  transition: 4s ease-out .2s;
  transform: translateY(-200px) skewX(-45deg);
}
.block_front-works.scroll__start::before {
  opacity: 1;
  transform: translateY(00px);
}
.block_front-works .works-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.block_front-works .works-flex > div {
  width: 25%;
  opacity: 1 !important;
}
.block_front-works .works-flex > div.long {
  width: 50%;
}
.block_front-works .works-flex a {
  display: block;
  width: 100%;
  height: 0;
  padding: 100% 0 0;
  position: relative;
  overflow: hidden;
}
.block_front-works .works-flex .long a {
  padding: 50% 0 0;
}
.block_front-works .works-flex a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .6);
  width: 100%;
  height: 100%;
  transition: all .4s;
  opacity: 0;
  z-index: 2;
}
.block_front-works .works-flex > div > a > img {
  vertical-align: top;
  width: 150%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.block_front-works .works-flex > div.long > a > img {
  width: 100%;
}
.block_front-works .works-flex .text-box {
  position: absolute;
  width: 90%;
  left: 5%;
  bottom: 5%;
  color: #fff;
  font-weight: 600;
  opacity: 0;
  transform: translateY(30px);
  transition: all .7s;
  z-index: 5;
}
.block_front-works .works-flex a:hover::before {
  opacity: 1;
}
.block_front-works .works-flex a:hover .text-box {
  transform: translateY(0);
  opacity: 1;
}
.block_front-works .works-flex .text-box .case-number {
  font-size: 200%;
  font-weight: 400;
  vertical-align: middle;
}
.block_front-works .works-flex .text-box .works-title img {
  vertical-align: middle;
  margin: 0 8px 0 0;
}
/*----------------------------------------*/
.block_front-house {
  margin: 200px 0 150px;
  position: relative;
}
.block_front-house::before {
  content: '';
  width: 311px;
  height: 220px;
  background: url(../img/ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -8%;
  right: 5%;
  opacity: 0;
  transition: 4s ease-out .2s;
  transform: translateY(-200px) skewX(-45deg);
}
.block_front-house::after {
  content: '';
  width: 311px;
  height: 220px;
  background: url(../img/ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -15%;
  left: 3%;
  opacity: 0;
  transition: 4s ease-out .2s;
  transform: translateY(-200px) skewX(-45deg);
}
.block_front-house.scroll__start::before, .block_front-house.scroll__start::after {
  opacity: 1;
  transform: translateY(00px);
}
.block_front-house .house-bg {
  background: url(../img/house-img.jpg) no-repeat center;
  height: 760px;
  margin: 0 0 50px;
}
.block_front-house .house-text {
  text-align: center;
  line-height: 2;
}
/*----------------------------------------*/
.block_front-lineup {
  position: relative;
  padding: 50px 0 200px;
  overflow: hidden;
}
.block_front-lineup::before {
  content: '';
  width: 231px;
  height: 254px;
  background: url(../img/ha03.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 90px;
  bottom: 0;
  opacity: 0;
  transition: 4s ease-out .2s;
  transform: translateY(-200px) skewX(-45deg);
}
.block_front-lineup.scroll__start::before {
  opacity: 1;
  transform: translateY(00px);
}
.block_front-lineup::after {
  content: '';
  width: 311px;
  height: 220px;
  background: url(../img/ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 5%;
  bottom: 8%;
  opacity: 0;
  transition: 4s ease-out .2s;
  transform: translateY(-200px) skewX(-45deg);
}
.block_front-lineup.scroll__start::after {
  opacity: 1;
  transform: translateY(0);
}
.block_front-lineup .lineup_lead {
  text-align: center;
  font-size: 187.5%;
  font-weight: 700;
  margin: 0 0 180px;
}
.block_front-lineup .lineup_lead strong {
  font-size: 116.7%;
}
.block_front-lineup .lineup-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  position: relative;
  margin: 0 auto 100px;
}
.block_front-lineup .lineup-box::before {
  content: '';
  width: 1px;
  height: 100%;
  background: #231815;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.block_front-lineup .lineup-box::after {
  content: '';
  width: 15px;
  height: 15px;
  border-right: solid 1px #231815;
  border-bottom: solid 1px #231815;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transform: rotateZ(45deg);
  margin: auto;
}
.block_front-lineup .lineup-box .left, .block_front-lineup .lineup-box .right {
  width: 50%;
  text-align: center;
}
.block_front-lineup .lineup-box .lineup-img {
  text-align: center;
  position: relative;
  margin: 0 auto 40px;
  height: 90px;
  width: auto;
}
.block_front-lineup .lineup-box .lineup-img img {
  max-height: 100%;
  width: auto;
}
.block_front-lineup .lineup-box .lineup-name {
  font-size: 115%;
  font-weight: 600;
}
.block_front-lineup .lineup-box .btn_base {
  margin: 40px auto 0;
}
.block_front-lineup .lineup-link {
  width: 85%;
  margin: auto;
  overflow: hidden;
}
.block_front-lineup .lineup-link .link-text {
  float: left;
  width: calc(100% - 400px);
  font-size: 94%;
}
.block_front-lineup .lineup-link .btn_base {
  float: right;
  margin: 10px 0 0;
}
/*----------------------------------------*/
.block_front-sns {
  margin: 0 0 200px;
}
.list_sns {
  text-align: center;
  margin: 60px 0 60px;
}
.list_sns li {
  display: inline-block;
  margin: 0 100px;
  text-align: center;
}
.list_sns img {
  width: 100px;
}
.list_sns li span {
  display: block;
}
/*----------------------------------------*/
.block_contact {
  margin: 0 0 150px;
}
.block_contact .contact-lead {
  text-align: center;
  margin: 70px 0 50px;
}
.list_form {
  max-width: 950px;
  margin: 0 auto 40px;
  border: solid 1px #231815;
  box-sizing: border-box;
  padding: 0 !important;
}
.list_form li {
  display: table;
  width: 100%;
}
.list_form li + li {
  border-top: solid 1px #231815;
}
.list_form .area_label {
  display: table-cell;
  vertical-align: middle;
  width: 20%;
  background: #ebeaea;
  padding: 15px 20px;
  box-sizing: border-box;
  border-right: solid 1px #231815;
  font-weight: 600;
  position: relative;
}
.list_form .area_label.hissu::before {
  content: '※必須';
  position: absolute;
  right: 10px;
  bottom: 3px;
  color: #e60012;
  font-size: 75%;
}
.list_form .area_input {
  display: table-cell;
  vertical-align: middle;
  padding: 10px 25px;
  width: 80%;
  box-sizing: border-box;
}
.list_form .area_input.type-radio label, .list_form .area_input.type-radio .wpcf7-list-item {
  display: block;
  cursor: pointer;
}
.list_form .area_input.type-radio input {
  margin: 0 5px 0 0;
}
.list_form .area_input .date-select-box {
  overflow: hidden;
}
.list_form .area_input .date-select-box .date {
  width: 55%;
  float: left;
}
.list_form .area_input .date-select-box .time {
  width: 45%;
  float: left;
}
.list_form .area_input .date-select-box input, .list_form .area_input .date-select-box select {
  width: calc(100% - 6em);
}
.list_form .area_input .date-select-box span.kengaku-text {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px 0 0;
}
.list_form .att-text {
  font-size: 80%;
  margin: 5px 0 0;
}
.list_form input[type="text"], .form_base input[type="email"], .form_base input[type="tel"], .list_form textarea, .form_base select {
  width: 100%;
  background: #ebeaea;
  border: none;
  padding: 10px;
  vertical-align: top;
}
.form_base select {
  background-image: url("../img/arrow-select.png");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 25.5px 14px;
}
.list_form input.short {
  width: 40%;
  border: none;
  padding: 10px;
}
.list_form input.middle, .list_form select.middle {
  width: 70%;
  border: none;
  padding: 10px;
}
.list_form .radio-inline {
  overflow: hidden;
}
.list_form .radio-inline > span.left {
  display: block;
  float: left;
  width: 5em;
}
.list_form .radio-inline label {
  display: inline-block;
  margin: 0 30px 0 0;
  cursor: pointer;
}
.list_form .radio-inline label input {
  margin: 0 5px 0 0;
}
.form_base input[type="text"], .form_base input[type="email"], .form_base input[type="tel"], .form_base input[type="submit"], .form_base select, .form_base textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form_base .form-policy {
  text-align: center;
  margin: 0 0 40px;
}
.form_base .form-policy a {
  text-decoration: underline;
}
.form_base .form-policy a:hover {
  opacity: .7;
}
.form_base .area_submit {
  text-align: center;
}
.form_base .area_submit .btn {
  display: inline-block;
  width: 300px;
  border: solid 1px #231815;
  padding: 20px 0;
  background: #fff;
  cursor: pointer;
  font-size: 105%;
  font-weight: 600;
  transition: all .3s;
  border-radius: 6px;
  margin: 10px;
}
.form_base .area_submit .btn:hover {
  background: #90ac5c;
  color: #fff;
}
.form_base .area_submit .btn.back:hover {
  background: #999;
}
/* == underpage ============================================== */
.page-margin {
  margin: 0 0 200px;
}
.block_page-top {
  padding: 120px 0 0;
}
.block_page-top .page_title {
  text-align: center;
  padding: 80px 0 60px;
  margin: 0 0 80px;
  background: url(../img/ha09.png) no-repeat center;
  background-size: 454px 279px;
}
.block_page-top .page_title img {
  opacity: 0;
  transition: all 1.5s ease .7s;
  transform: scale(.9);
}
body.page__open .block_page-top .page_title img {
  opacity: 1;
  transform: scale(1);
}
.block_page-top .page_title.title-text {
  font-size: 185%;
  line-height: 1.5;
  position: relative;
  box-sizing: border-box;
  padding: 70px 230px 100px;
  margin: auto;
  background: none;
}
.block_page-top .page_title.title-text span.case-number {
  display: block;
  position: absolute;
  left: 70px;
  top: 40px;
  margin: auto;
  padding: 30px 45px 0 60px;
  background: url(../img/case02.png) no-repeat left top;
  background-size: 90px 40px;
  font-size: 150%;
  line-height: 1;
}
.block_page-top .page_title.title-text span.case-number::after {
  content: '';
  width: 35px;
  height: 1px;
  background: #231815;
  position: absolute;
  right: 0;
  bottom: 20px;
  margin: auto;
}
.block_page-top .list_page-nav {
  margin: 0 auto 70px;
}
.list_page-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-left: solid 1px #231815;
  border-right: solid 1px #231815;
  width: 950px;
  margin: auto;
  box-sizing: border-box;
}
.list_page-nav li {
  width: 100%;
  text-align: center;
}
.list_page-nav li + li {
  border-left: solid 1px #231815;
}
.list_page-nav a {
  display: block;
  font-size: 125%;
  font-weight: 600;
  padding: 5px 0;
  transition: all .3s;
  /*
    background: -moz-linear-gradient(left, #a2c975 0%, #a2c975 50%, #ffffff 100%);
    background: -webkit-linear-gradient(left, #a2c975 0%, #a2c975 50%, #ffffff 100%);
    background: linear-gradient(to right, #a2c975 0%, #a2c975 50%, #ffffff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a2c975', endColorstr='#a2c975', GradientType=1);
    */
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0;
}
.list_page-nav li.active a, .list_page-nav li a:hover {
  background-size: 95% auto;
  background: #a2c975;
}
.list_page-nav li a:hover {
  background: #a2c975;
  background-size: 80% auto;
}
/* ====================================
page-name #concept
====================================*/
.block_concept-top {
  position: relative;
  overflow: hidden;
}
.block_concept-top::before {
  content: '';
  width: 100%;
  height: 100%;
  background: url("../img/concept/main-bg.jpg") no-repeat center;
  background-size: cover;
  transition: all 4s;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transform: scale(1.1);
}
body.page__open .block_concept-top::before {
  transform: scale(1);
}
.block_concept-top .page_title {
  text-align: center;
  width: 480px;
  margin: auto;
  padding: 260px 0 120px;
  position: relative;
}
.block_concept-top .page_title img {
  position: relative;
  z-index: 2;
}
.block_concept-top .white-box {
  padding: 60px 0 40px;
  background: rgba(255, 255, 255, .6);
  text-align: center;
}
.block_concept-top .white-box .top-title {
  font-size: 175%;
  line-height: 2;
  margin: 0 0 40px;
  letter-spacing: 2px;
}
.block_concept-top .white-box .top-lead {
  line-height: 2.5;
  font-size: 115%;
}
.block_concept-top .white-box {
  opacity: 0;
  transform: translateY(100%);
  transition: all 2s ease 1s;
}
.block_concept-top .white-box .top-title, .block_concept-top .white-box .top-lead {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2s ease 2s;
}
.block_concept-top .white-box .top-lead {
  transition-delay: 2.2s;
}
body.page__open .block_concept-top .white-box {
  opacity: 1;
  transform: translateY(0);
}
body.page__open .block_concept-top .white-box .top-title, body.page__open .block_concept-top .white-box .top-lead {
  opacity: 1;
  transform: translateY(0);
}
/*------------------------------------------------------------*/
.block_concept-theme {
  /*background: url(../img/ki01.png) no-repeat right top;
    background-size: 313px 449px;
    */
  padding: 0 0 130px;
  position: relative;
  z-index: 2;
}
.block_concept-theme::before {
  content: "";
  width: 202px;
  height: 241px;
  background: url(../img/ha04.png) no-repeat;
  background-size: 202px 241px;
  position: absolute;
  left: 5%;
  bottom: -60px;
}
.block_concept-theme::after {
  content: "";
  width: 369px;
  height: 278px;
  background: url(../img/pen02.png) no-repeat;
  background-size: 369px 278px;
  position: absolute;
  right: 1%;
  bottom: -60px;
}
.block_concept-theme .area_top {
  position: relative;
  margin: 0 0 150px;
}
.block_concept-theme .area_top .pen {
  position: absolute;
  left: 0;
  bottom: 0;
}
.block_concept-theme .area_top .theme-title {
  text-align: center;
  font-size: 175%;
  padding: 300px 0;
  background: url(../img/ha04.png) no-repeat right 3% center;
  background-size: 202px 241px;
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
  position: relative;
}
.block_concept-theme .area_top .theme-title::before {
  content: '';
  z-index: -1;
  width: 640px;
  height: 620px;
  background: url("../img/title-ki.jpg") no-repeat;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  -webkit-animation: ki2 8s ease 0s infinite;
  animation: ki2 8s ease 0s infinite;
}
@-webkit-keyframes ki2 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(.95);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes ki2 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(.95);
  }
  100% {
    transform: scale(1);
  }
}
.block_concept-theme .area_top .theme-title::after {
  content: '';
  z-index: -1;
  width: 69px;
  height: 58px;
  background: url("../img/ha05.png") no-repeat;
  background-size: contain;
  position: absolute;
  left: 230px;
  bottom: 30px;
}
.block_concept-theme .area_top .theme-title .gif-anime {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  pointer-events: none;
}
.block_concept-theme .area_top .theme-title .gif-anime img {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 80px;
  width: 800px;
}
/*
.block_concept-theme .area_top .theme-title .gif-anime img:nth-child(1) {
    -webkit-animation: gif_anime1 9s linear 0s infinite;
}
.block_concept-theme .area_top .theme-title .gif-anime img:nth-child(2) {
    -webkit-animation: gif_anime2 10.2s linear 4s infinite;
}
.block_concept-theme .area_top .theme-title .gif-anime img:nth-child(3) {
   -webkit-animation: gif_anime2 10.2s linear 7.5s infinite;
}
*/
@-webkit-keyframes gif_anime1 {
  0% {
    opacity: 1;
  }
  5% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes gif_anime2 {
  0% {
    opacity: 1;
  }
  5% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.scroll-bar {
  position: relative;
}
.scroll-bar::after {
  content: '';
  width: 1px;
  height: 130px;
  background: #231815;
  -webkit-animation: bar 3s ease 0s infinite;
  animation: bar 3s ease 0s infinite;
  position: absolute;
  top: calc(100% - 130px);
  left: 0;
  right: 0;
  margin: auto;
}
@-webkit-keyframes bar {
  0% {
    height: 0px;
    top: calc(100% - 130px);
  }
  50% {
    height: 130px;
    top: calc(100% - 130px);
  }
  100% {
    height: 0px;
    top: 100%;
  }
}
@keyframes bar {
  0% {
    height: 0px;
    top: calc(100% - 130px);
  }
  50% {
    height: 130px;
    top: calc(100% - 130px);
  }
  100% {
    height: 0px;
    top: 100%;
  }
}
.block_concept-theme .theme-set {
  position: relative;
}
.block_concept-theme .theme-set.set01::before {
  content: '';
  width: 202px;
  height: 241px;
  background: url(../img/ha04.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 5%;
  bottom: 0;
}
.block_concept-theme .theme-set.set02::before {
  content: '';
  width: 311px;
  height: 220px;
  background: url(../img/ha01.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 5%;
  bottom: 0;
}
.block_concept-theme .theme-set .bg {
  padding: 45% 0 0;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  margin: 0 0 60px;
}
.block_concept-theme .theme-set .bg.bg01 {
  background-image: url("../img/concept/theme01.jpg");
}
.block_concept-theme .theme-set .bg.bg02 {
  background-image: url("../img/concept/theme02.jpg");
}
.block_concept-theme .theme-set .bg.bg03 {
  background-image: url("../img/concept/theme03.jpg");
}
.block_concept-theme .theme-set .title {
  position: absolute;
  left: -800px;
  right: 0;
  margin: auto;
  top: -70px;
  width: 136px;
  text-align: right;
  transition: all 1.5s ease 1s;
}
.block_concept-theme .theme-set .text {
  text-align: center;
  line-height: 2.3;
}
.block_concept-theme .theme-set .text p + p {
  margin: 30px 0 0;
}
.block_concept-theme .theme-set.scroll-bar {
  padding: 0 0 200px;
  margin: 0 0 150px;
}
/*------------------------------------------------------------*/
.block_concept-kihon {
  padding: 150px 0;
  background: #edf0e9;
  overflow: hidden;
}
.block_concept-kihon .kihon-lead {
  text-align: center;
  margin: 0 0 120px;
  opacity: 0;
  transition: all 1.5s ease .5s;
  transform: scale(.9);
}
.block_concept-kihon.scroll__start .kihon-lead {
  opacity: 1;
  transform: scale(1);
}
.block_concept-kihon .kihon-set {
  max-width: 1500px;
  margin: auto;
  min-height: 600px;
  transition: all 2s;
  position: relative;
}
.block_concept-kihon .kihon-set + .kihon-set {
  margin: 280px auto 0;
}
.block_concept-kihon .kihon-set .text-box {
  width: 520px;
  box-sizing: border-box;
  padding: 0 50px;
}
.block_concept-kihon .kihon-set .set-title {
  font-size: 150%;
  padding: 60px 0 30px 30px;
  margin: 0 0 30px;
  position: relative;
}
.block_concept-kihon .kihon-set .set-title::before {
  content: '';
  width: calc(100% - 80px);
  height: 1px;
  background: #231815;
  position: absolute;
  left: 0;
  bottom: 0;
}
.block_concept-kihon .kihon-set .set-title::after {
  content: '';
  width: 70px;
  height: 1px;
  background: #a4ba70;
  position: absolute;
  right: 0;
  bottom: 0;
}
.block_concept-kihon .kihon-set.set01 {
  background: url("../img/concept/kihon01.jpg") no-repeat left 660px top;
}
.block_concept-kihon .kihon-set.set01 .set-title {
  background: url("../img/concept/no01.png") no-repeat left 30px top;
  background-size: 55px 42px;
}
.block_concept-kihon .kihon-set.set02 .text-box {
  margin: 0 0 0 auto;
}
.block_concept-kihon .kihon-set.set02 {
  background: url("../img/concept/kihon02.jpg") no-repeat left top;
}
.block_concept-kihon .kihon-set.set02 .set-title {
  background: url("../img/concept/no02.png") no-repeat left 30px top;
  background-size: 56px 42px;
}
.block_concept-kihon .kihon-set.set03 {
  background: url("../img/concept/kihon03.jpg") no-repeat left 660px top;
}
.block_concept-kihon .kihon-set.set03 .set-title {
  background: url("../img/concept/no03.png") no-repeat left 30px top;
  background-size: 59px 41px;
  position: relative;
}
/*
.block_concept-kihon .kihon-set.set03 .set-title::after{
    content: '';
    width: 120px;
    height: 144px;
    background: url("../img/concept/rank04.png") no-repeat;
    background-size: contain;
    position: absolute;
    right:0;
    top:0;
}
*/
.block_concept-kihon .kihon-set.set03::before {
  content: '';
  width: 173px;
  height: 133px;
  background: url(../img/ha03.png) no-repeat;
  position: absolute;
  top: -200px;
  left: 30%;
}
.block_concept-kihon .kihon-set .set-text {
  margin: 0 25px;
  line-height: 2;
}
@media all and (max-width:1480px) {
  .block_concept-kihon .kihon-set.set01, .block_concept-kihon .kihon-set.set03 {
    background-position: right top;
  }
  .block_concept-kihon .kihon-set.set02 {
    background-position: left top;
  }
}
@media all and (max-width:1380px) {
  .block_concept-kihon .kihon-set.set01, .block_concept-kihon .kihon-set.set03 {
    background-position: right -100px top;
  }
  .block_concept-kihon .kihon-set.set02 {
    background-position: left -100px top;
  }
}
.block_concept-kihon .kihon-final {
  text-align: center;
  padding: 250px 0 200px;
  font-size: 270%;
  position: relative;
}
.block_concept-kihon .kihon-final span {
  position: relative;
  display: inline-block;
  padding: 10px 0;
  border-bottom: solid 1px #231815;
}
.block_concept-kihon .kihon-final::before {
  content: '';
  width: 344px;
  height: 241px;
  position: absolute;
  left: 5%;
  bottom: 10%;
  background: url(../img/ha07.png) no-repeat;
  background-size: contain;
}
.block_concept-kihon .kihon-final::after {
  content: '';
  width: 117px;
  height: 65px;
  position: absolute;
  right: 20%;
  top: 20%;
  background: url(../img/ha08.png) no-repeat;
  background-size: contain;
}
/*------------------------------------------------------------*/
.block_concept-links {
  background: url("../img/concept/links-bg.jpg") no-repeat center;
  background-size: cover;
  padding: 50px 0;
  margin: 0 0 280px;
}
.block_concept-links .links-text {
  text-align: center;
  font-size: 115%;
  font-weight: 600;
  color: #fff;
  line-height: 2;
  margin: 0 0 50px;
}
/*------------------------------------------------------------*/
.block_concept-suggestion {
  margin: 0 0 70px;
  padding: 0 0 130px;
  position: relative;
}
.block_concept-suggestion::before {
  content: '';
  width: 344px;
  height: 241px;
  position: absolute;
  right: 3%;
  bottom: 0;
  background: url(../img/ha07.png) no-repeat;
  background-size: contain;
}
.block_concept-suggestion .bg {
  background: url("../img/concept/suggestion-bg.jpg") no-repeat center;
  height: 700px;
  margin: 0 0 50px;
}
.block_concept-suggestion .suggestion-text {
  text-align: center;
  font-size: 105%;
  line-height: 2;
}
/* ====================================
page-name #concept - lineup -
====================================*/
.block_concept-lineup {
  padding: 220px 0;
}
.block_concept-lineup .area_case {
  position: relative;
}
.block_concept-lineup .case_title {
  text-align: center;
  font-size: 218.75%;
  font-weight: 700;
  margin: 0 0 50px;
}
.block_concept-lineup .case_lead {
  text-align: center;
  font-size: 150%;
  font-weight: 700;
  margin: 0 0 80px;
}
.block_concept-lineup .area_case::before {
  content: '';
  width: 344px;
  height: 241px;
  background: url(../img/ha07.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 5%;
  top: 2%;
}
.block_concept-lineup .area_aoba-base .bg {
  background: url(../img/concept/lineup-img02.jpg) no-repeat center;
  background-size: cover;
  height: 600px;
  margin: 0 0 10px;
}
.block_concept-lineup .area_aoba-base .ha {
  background: url(../img/ha12.png) no-repeat right 6% top 18%;
  background-size: 150px 229px;
}
.under-base .block_front-lineup {
  padding: 100px 0 0;
}
.under-base .block_front-lineup::before, .under-base .block_front-lineup::after {
  display: none;
}
.block_front-lineup .lineup-box .lineup-menu {
  font-size: 130%;
  font-weight: 700;
  margin: 0 0 20px;
}
.block_concept-lineup .plan-title {
  position: relative;
  background: url(../img/concept/lineup-img01.jpg) no-repeat center;
  height: 700px;
  background-attachment: fixed;
  background-size: cover;
}
.block_concept-lineup .plan-title .title {
  position: absolute;
  left: 3%;
  top: -90px;
}
.block_concept-lineup .aoba-att {
  text-align: right;
  font-size: 75%;
}
.block_concept-lineup .area_aoba-base .float-pc {
  text-align: center;
  margin: 0 0 3%;
}
.block_concept-lineup .area_aoba-base .float-pc .left {
  display: inline-block;
}
.block_concept-lineup .area_aoba-base .float-pc .right {
  display: inline-block;
}
.lead_center-small {
  text-align: center;
  margin: 0 0 80px;
}
.block_concept-lineup .area_aoba-base .aoba-price {
  text-align: center;
  margin: 120px 0 80px;
}
.block_concept-lineup .area_aoba-base .wrap-impact {
  background: #edf0e9;
  padding: 50px;
  border-radius: 10px;
}
.list_numbers {
  overflow: hidden;
  margin: 0 0 8%;
}
.list_numbers li {
  float: left;
  width: 50%;
  padding: 10px 0 10px 60px;
  box-sizing: border-box;
  position: relative;
  font-size: 180%;
  font-weight: 700;
}
.list_numbers li:nth-child(2n + 1) {
  clear: both;
}
.list_numbers li::before {
  content: '';
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  color: #fff;
  font-size: 135%;
  position: absolute;
  left: 0;
  top: 14px;
  margin: auto;
  background: #90ac5c;
  font-family: 'Times New Roman';
}
.list_numbers li:nth-child(1)::before {
  content: "1";
}
.list_numbers li:nth-child(2)::before {
  content: "2";
}
.list_numbers li:nth-child(3)::before {
  content: "3";
}
.list_numbers li:nth-child(4)::before {
  content: "4";
}
.list_numbers li:nth-child(5)::before {
  content: "5";
}
.list_numbers li:nth-child(6)::before {
  content: "6";
}
.list_numbers li:nth-child(7)::before {
  content: "7";
}
.list_numbers li:nth-child(8)::before {
  content: "8";
}
.list_numbers li:nth-child(9)::before {
  content: "9";
}
.list_numbers li:nth-child(10)::before {
  content: "10";
}
.list_numbers li small {
  display: block;
  font-size: 50%;
}
.list_point {
  text-align: center;
}
.list_point li {
  background: #90ac5c;
  color: #fff;
  font-size: 175%;
  font-weight: 700;
  display: inline-block;
  padding: 0 50px;
  margin: 0 10px;
}
sup {
  font-size: 50% !important;
}
.block_concept-lineup .area_case .title_center {
  padding: 180px 0;
  margin: 0 0 50px;
}
.block_concept-lineup .area_case .case-set {
  padding: 60px 0;
}
.block_concept-lineup .area_case .case-title {
  text-align: center;
  font-size: 180%;
  font-weight: 700;
  margin: 0 0 30px;
}
.block_concept-lineup .area_case .case-title span {
  display: inline-block;
  padding: 0 100px;
  background-position: left center;
  background-size: 75px;
  background-repeat: no-repeat;
  letter-spacing: 3px;
}
.block_concept-lineup .area_case .set01 .case-title span {
  background-image: url("../img/concept/no01a.png");
}
.block_concept-lineup .area_case .set02 .case-title span {
  background-image: url("../img/concept/no02a.png");
}
.block_concept-lineup .area_case .set03 .case-title span {
  background-image: url("../img/concept/no03a.png");
}
.dl_data {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 50px;
  position: relative;
  overflow: hidden;
  display: table;
  padding: 20px 0;
}
.dl_data dt {
  width: 30%;
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  box-sizing: border-box;
  padding: 0 6% 0 0;
  font-size: 170%;
  font-weight: 700;
}
.dl_data dd {
  width: 70%;
  display: table-cell;
  vertical-align: middle;
  font-size: 105%;
  font-weight: 700;
}
.dl_data dd .ua {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100px;
  height: 100px;
  display: table;
  text-align: center;
  border-radius: 50%;
  background: #f39a59;
  color: #fff;
  font-size: 200%;
  font-weight: 700;
  line-height: 1;
}
.dl_data dd .ua span {
  display: table-cell;
  vertical-align: middle;
}
.dl_data dd .ua small {
  font-size: 50%;
  display: block;
}
.block_concept-lineup .area_case .case-image {
  text-align: center;
  margin: 0 0 80px;
}
.block_concept-lineup .area_case .madori-wrap {
  text-align: center;
}
.block_concept-lineup .area_case .madori-wrap .left, .block_concept-lineup .area_case .madori-wrap .right {
  display: inline-block;
  margin: 0 20px;
}
/*--------------------------------------------------*/
.parts_planTitle {
  padding: 100px 0 0;
  margin: 0 0 180px;
  position: relative;
  background: url("../img/ha12.png") no-repeat left top, url("../img/ha04.png") no-repeat right top 150px;
  background-size: 150px auto, 202px auto;
}
.parts_planTitle .plan_lead {
  text-align: center;
  font-size: 218.75%;
  font-weight: 700;
  position: relative;
  padding: 0 0 120px;
}
.parts_planTitle .plan_lead::before {
  content: '';
  width: 1px;
  height: 56px;
  background: #231815;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 32px;
  margin: auto;
}
.block_freePlan .parts_planTitle .plan_name {
  width: 440px;
  margin: 0 auto 35px;
}
.block_simplePlan .parts_planTitle .plan_name {
  width: 542px;
  margin: 0 auto 35px;
}
.parts_planTitle .plan_text {
  text-align: center;
  font-size: 125%;
  font-weight: 700;
  margin: 0 0 100px;
}
.parts_planTitle .dl_planOsusume {
  display: flex;
  align-items: center;
  padding: 0 0 130px;
  background: url(../img/concept/arrow.svg) no-repeat center bottom;
  background-size: 22px auto;
}
.parts_planTitle .dl_planOsusume dt {
  width: 50%;
  text-align: center;
  font-size: 313.5%;
  font-weight: 700;
  line-height: 1.15;
}
.block_freePlan .parts_planTitle .dl_planOsusume dt img {
  width: 294px;
}
.block_simplePlan .parts_planTitle .dl_planOsusume dt img {
  width: 304px;
}
.parts_planTitle .dl_planOsusume dt span {
  font-size: 76.5%;
}
.parts_planTitle .dl_planOsusume dt strong {
  font-weight: 900;
}
.parts_planTitle .dl_planOsusume dd {
  width: 50%;
  font-weight: 700;
}
.parts_planTitle .dl_planOsusume ul li {
  font-size: 106.25%;
  background: url("../img/concept/plan_check.png") no-repeat left center;
  background-size: 67px auto;
  padding: 30px 0 30px 75px;
}
.parts_planTitle .plan_line {
  text-align: center;
  margin: 50px 0 0;
}
.parts_planTitle .plan_line p {
  display: inline;
  border-bottom: solid 1px #231815;
  font-size: 162.5%;
  font-weight: 700;
  padding: 10px;
}
/*--------------------------------------------------*/
.block_conceptDetail .area_ua {
  background: #f7f0ea;
  padding: 180px 0;
}
.block_conceptDetail .detail_title {
  text-align: center;
  font-size: 218.75%;
  margin: 0 0 100px;
}
.block_conceptDetail .ua_setTitle {
  text-align: center;
  font-size: 187.5%;
  font-weight: 700;
  margin: 0 0 70px;
  padding: 50px 0 0;
}
.block_conceptDetail .ua_set.set--01 .ua_setTitle {
  background: url("../img/concept/no01.svg") no-repeat center top;
  background-size: 44px auto;
}
.block_conceptDetail .ua_set.set--02 .ua_setTitle {
  background: url("../img/concept/no02.svg") no-repeat center top;
  background-size: 55px auto;
}
.block_conceptDetail .ua_set.set--03 .ua_setTitle {
  background: url("../img/concept/no03.svg") no-repeat center top;
  background-size: 54px auto;
}
.block_conceptDetail .ua_setTitle span {
  position: relative;
  display: inline-block;
}
.block_conceptDetail .ua_setTitle small {
  position: absolute;
  right: 0;
  bottom: -20px;
  font-size: 14px;
}
.block_conceptDetail .dl_white {
  background: #fff;
  max-width: 920px;
  margin: auto;
  box-sizing: border-box;
  padding: 40px 70px;
}
.block_conceptDetail .dl_white dt {
  text-align: center;
}
.block_conceptDetail .dl_white dt span {
  display: inline-block;
  font-size: 162.5%;
  font-weight: 700;
  border-bottom: solid 1px #231815;
  margin: 0 0 30px;
}
.block_conceptDetail .dl_white dd .white-lead {
  text-align: center;
  font-size: 143.75%;
  font-weight: 700;
}
.block_conceptDetail .ua_set.set--01 {
  margin: 0 0 180px;
}
.block_conceptDetail .ua_set.set--02 {
  margin: 0 0 260px;
}
.block_conceptDetail .mado_description {
  max-width: 920px;
  margin: 0 auto 130px;
  background: url(../img/concept/lineup-mado.jpg) no-repeat center;
  background-size: cover;
}
.block_conceptDetail .mado_description .mado_text {
  background: rgba(255, 255, 255, .7);
  width: 72%;
  box-sizing: border-box;
  padding: 35px;
}
.block_conceptDetail .mado_description .mado_text p + p {
  margin: 30px 0 0;
}
.block_conceptDetail .taikan_description .taikan_title {
  text-align: center;
  font-size: 187.5%;
  font-weight: 700;
  margin: 0 0 30px;
}
.block_conceptDetail .taikan_description .taikan_img {
  width: 1000px;
  margin: auto;
}
.block_conceptDetail .ua_setLead {
  text-align: center;
  margin: 0 0 100px;
}
.block_conceptDetail .set03_img01 {
  width: 1000px;
  margin: 0 auto 220px;
}
.block_conceptDetail .ua_lastTitle {
  text-align: center;
  font-size: 187.5%;
  font-weight: 700;
  margin: 0 0 40px;
}
.block_conceptDetail .set03_img02 {
  width: 781px;
  margin: auto;
}
/*--------------------------------------------------*/
.block_concept-lineup .area_ua {
  background: #f7f0ea;
  padding: 180px 0;
}
.block_concept-lineup .area_ua hr {
  margin: 100px 0;
}
.ua-desc.desc01 {
  padding: 0 0 0 600px;
  background: url("../img/concept/lineup-ua01.png") no-repeat left 20px center;
  background-size: 512px auto;
  margin: 100px 0 160px;
}
.ua-desc.desc02 {
  padding: 0 600px 0 0;
  background: url("../img/concept/lineup-ua02.png") no-repeat right 50px top;
  background-size: 559px 375px;
  min-height: 380px;
}
.ua-desc.desc03 {
  padding: 50px 0 0 650px;
  background: url("../img/concept/lineup-ua03.png") no-repeat left 100px top;
  background-size: 369px auto;
  min-height: 440px;
  margin: 50px 0 110px;
}
.ua-desc p.big {
  font-size: 140%;
  font-weight: 600;
  margin: 0 0 30px;
}
.ua-desc p + p {
  margin: 30px 0 0;
}
.scroll-padding {
  padding: 180px 0;
  margin: 0 0 80px;
}
.block_concept-lineup .area_plan {
  margin: 0 0 120px;
}
.block_concept-lineup .area_plan .logo {
  text-align: center;
  margin: 0 0 30px;
}
.block_concept-lineup .area_plan .plan-name {
  text-align: center;
  font-size: 180%;
  font-weight: 700;
  margin: 0 0 3%;
}
.block_concept-lineup .area_plan .plan-title-box {
  position: relative;
  height: 800px;
  margin: 0 0 4%;
}
.block_concept-lineup .area_plan .plan-aoba .plan-title-box {
  background: url("../img/concept/lineup-aoba-img00.jpg") no-repeat center;
  background-size: cover;
}
.block_concept-lineup .area_plan .plan-craft .plan-title-box {
  background: url("../img/concept/lineup-craft-img00.jpg") no-repeat center;
  background-size: cover;
}
.block_concept-lineup .area_plan .plan-title-box .title {
  position: absolute;
  right: 20%;
  top: -3%;
}
.block_concept-lineup .plan-img-text {
  overflow: hidden;
  min-height: 550px;
  margin: 120px 0 60px;
}
.block_concept-lineup .plan-img-text .inner {
  position: relative;
}
.block_concept-lineup .plan-img-text .text-box {
  padding: 80px 0 0 750px;
}
.block_concept-lineup .plan-img-text .text-box p + p {
  margin: 30px 0 0;
}
.block_concept-lineup .plan-img-text .img-box {
  position: absolute;
  left: -100px;
  top: 0;
  width: 820px;
  height: 550px;
}
.img-column3 {
  overflow: hidden;
}
.img-column3 > div {
  width: 32%;
  margin: 0 0 2% 2%;
  float: left;
}
.img-column3 > div:nth-child(3n + 1) {
  clear: both;
  margin: 0 0 2%;
}
.block_concept-lineup .img-column3 {
  margin: 0 0 100px;
}
.title_border {
  border-bottom: solid 1px #231815;
  font-size: 180%;
  margin: 0 0 20px;
}
.block_concept-lineup .area_plan .madori-wrap .float-pc {
  margin: 6% 0 0;
}
.block_concept-lineup .area_plan .left {
  float: left;
  width: 50%;
  box-sizing: border-box;
  padding: 0 3%;
}
.block_concept-lineup .area_plan .right {
  float: left;
  width: 50%;
  box-sizing: border-box;
  padding: 0 3%;
}
.block_concept-lineup .area_plan .right .title_border {
  margin: 40px 0 20px;
}
.block_concept-lineup .area_plan .plan-aoba .madori-wrap {
  padding: 0 0 180px;
  margin: 0 0 120px;
}
/*------------------------------------------------------------*/
.block_concept-lineup .plan_accordionWrap .accordion_title {
  background: #90ac5c;
  padding: 20px 0;
  text-align: center;
  color: #fff;
  font-size: 187.5%;
  font-weight: 700;
  margin: 0 0 1px;
  cursor: pointer;
  position: relative;
  transition: all .2s;
}
.block_concept-lineup .plan_accordionWrap .accordion_title:hover {
  opacity: .8;
}
.block_concept-lineup .plan_accordionWrap .accordion_title::before {
  content: '';
  width: 40px;
  height: 40px;
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/arrow.svg) no-repeat center;
  background-size: contain;
  transition: all .3s;
}
.block_concept-lineup .plan_accordionWrap .accordion_title.accordion__open::before {
  transform: rotateX(180deg);
}
/*------------------------------------------------------------*/
.block_concept-lineup .lineup-title {
  text-align: center;
  margin: 0 0 50px;
}
.block_concept-lineup .lineup-title span {
  display: block;
  margin: 10px 0 0;
}
.block_concept-lineup .area_ua .desc04 {
  background: url(../img/concept/lineup-mado.jpg) no-repeat center;
  background-size: cover;
}
.block_concept-lineup .area_ua .mado-title {
  text-align: center;
  font-size: 170%;
  font-weight: 600;
  margin: 0 0 50px;
}
.block_concept-lineup .area_ua .desc04 .text-box {
  background: rgba(255, 255, 255, .6);
  width: 65%;
  box-sizing: border-box;
  padding: 50px;
}
.block_concept-lineup .area_ua .desc04 .text-box p {
  line-height: 2;
}
.block_concept-lineup .area_ua .desc04 .text-box p + p {
  margin: 30px 0 0;
}
.block_concept-lineup .area_single-plan .title_center {
  padding: 120px 0 200px;
  margin: 0 0 100px;
  background: url(../img/ha02.png) no-repeat right 100px top 100px;
  background-size: 165px 283px;
}
.block_concept-lineup .area_single-plan .plan-detail {
  margin: 100px 0 200px;
  border-radius: 10px;
  overflow: hidden;
  background: #efefef;
}
.block_concept-lineup .area_single-plan .plan-detail .detail-title {
  text-align: center;
  background: #898989;
  padding: 10px 0;
  color: #fff;
  font-size: 250%;
  font-weight: 600;
  position: relative;
  cursor: pointer;
}
.block_concept-lineup .area_single-plan .plan-detail .detail-title::before {
  content: '';
  width: 26px;
  height: 26px;
  box-sizing: border-box;
  border-right: solid 3px #fff;
  border-bottom: solid 3px #fff;
  position: absolute;
  right: 30px;
  top: 0;
  bottom: -10px;
  margin: auto;
  transform: rotateZ(-135deg);
  transition: all .3s;
  transform-origin: center;
}
.block_concept-lineup .area_single-plan .plan-detail .detail-title.active::before {
  transform: rotateZ(45deg);
  bottom: 10px;
}
.block_concept-lineup .area_single-plan .plan-detail .detail-box {
  padding: 100px 60px 0;
}
.block_concept-lineup .area_single-plan .plan-detail .detail-box .text-att {
  margin: 10px 0 0 35px;
}
.list_plan-detail > li {
  padding: 0 0 140px;
  margin: 0 0 40px;
}
.list_plan-detail > li .plan-detail-title {
  text-align: center;
  font-size: 230%;
  font-weight: 600;
  margin: 0 0 50px;
}
.list_plan-detail > li .plan-detail-title span {
  display: block;
  font-size: 150%;
}
.list_plan-detail-merit {
  background: url(../img/concept/plan-detail-img03.png) no-repeat right 10% center;
  background-size: 282px 496px;
}
.list_plan-detail-merit > li {
  margin: 100px 0 0;
  font-size: 230%;
  padding: 0 0 0 35px;
  position: relative;
  font-weight: 600;
}
.list_plan-detail-merit > li::before {
  content: '';
  width: 54px;
  height: 47px;
  background: url(../img/concept/plan-detail-icon.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: -35px;
}
/*----------------------------------------------*/
.block_conceptExample .example_title {
  text-align: center;
  font-size: 218.75%;
  margin: 0 0 90px;
}
.list_conceptExample {
  display: flex;
  justify-content: center;
  margin: 0 0 100px;
}
.list_conceptExample li {
  width: 450px;
  margin: 0 50px;
}
.list_conceptExample .thumbnail {
  position: relative;
}
.list_conceptExample .thumbnail .cat_tag {
  position: absolute;
  left: 0;
  top: 0;
  width: 120px;
  padding: 3px 0;
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 87.5%;
  font-weight: 700;
}
.list_conceptExample .title {
  width: 90%;
  margin: 2% auto 4%;
}
.list_conceptExample .btn {
  width: 240px;
  margin: auto;
  background: #ad9987;
  text-align: center;
  transition: all .2s;
}
.list_conceptExample .btn a {
  display: block;
  padding: 3px 0;
  color: #fff;
  font-weight: 700;
}
.list_conceptExample .btn:hover {
  opacity: .7;
}
.block_conceptExample .area_message {
  color: #fff;
  text-align: center;
  height: 640px;
  background: url(../img/concept/exsample_bg.jpg) no-repeat center;
  background-size: cover;
  display: flex;
  align-items: center;
  margin: 0 0 250px;
}
.block_conceptExample .area_message p {
  width: 100%;
  font-size: 187.5%;
  font-weight: 700;
}
/*----------------------------------------------*/
.block_simplePlan .parts_planTitle .plan_line {
  padding: 220px 0 0;
  background: url(../img/concept/simple_illust01.svg) no-repeat center top;
  background-size: 184px auto;
}
.block_simplePlan .area_kaiketu {
  margin: 0 0 240px;
}
.block_simplePlan .kaiketu_title {
  width: 653px;
  margin: 0 auto 100px;
}
.list_simplePlan li {
  display: flex;
  align-items: center;
}
.list_simplePlan li:nth-child(even) {
  flex-direction: row-reverse;
}
.list_simplePlan li + li {
  margin: 120px 0 0;
}
.list_simplePlan .thumbnail {
  width: 588px;
}
.list_simplePlan .textBox {
  width: calc(100% - 588px);
  box-sizing: border-box;
  padding: 0 0 0 120px;
}
.list_simplePlan .textBox h4 {
  font-size: 137.5%;
  font-weight: 700;
  margin: 0 0 30px;
}
/*----------------------------------------------*/
.block_concept-nav .inner {
  max-width: 1000px;
  margin: 0 auto 100px;
  overflow: hidden;
}
.block_concept-nav .nav-btn {
  width: 49%;
  float: left;
  border-radius: 10px;
  text-align: center;
  overflow: hidden;
}
.block_concept-nav .nav-btn + .nav-btn {
  float: right;
}
.block_concept-nav .nav-btn a {
  display: block;
  color: #fff;
  font-size: 125%;
  font-weight: 600;
  line-height: 1.4;
  position: relative;
  padding: 40px 0 120px;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.block_concept-nav .nav-btn a::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, .7);
  z-index: -1;
  transition: all .5s;
}
.block_concept-nav .nav-btn a::after {
  content: '';
  width: 30px;
  height: 30px;
  position: absolute;
  bottom: 50px;
  left: 0;
  right: 0;
  margin: auto;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotateZ(45deg);
}
.block_concept-nav .nav-btn.btn-concept a {
  background-image: url("../img/concept/concept-nav01.jpg?1");
}
.block_concept-nav .nav-btn.btn-seinou a {
  background-image: url("../img/concept/concept-nav02.jpg?1");
}
.block_concept-nav .nav-btn.btn-lineup a {
  background-image: url("../img/concept/concept-nav03.jpg?1");
}
.block_concept-nav .nav-btn a:hover::before {
  background: rgba(0, 0, 0, .3);
}
/* ====================================
page-name #concept - performance -
====================================*/
.block_performance {
  margin: 0 0 100px;
}
.block_performance .area_rank {
  background: url("../img/concept/performance-img01.jpg") no-repeat center;
  background-size: cover;
  padding: 90px 0;
  position: relative;
  margin: 5% 0 0;
}
.block_performance .area_rank::before {
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .6);
  position: absolute;
  left: 0;
  top: 0;
}
.block_performance .area_rank .title_center {
  color: #fff;
  margin: 0 0 6%;
}
.list_rank {
  width: 94%;
  max-width: 1200px;
  overflow: hidden;
  margin: auto;
  position: relative;
  z-index: 2;
}
.list_rank li {
  float: left;
  width: 23.5%;
  margin: 0 0 0 2%;
}
.list_rank li:nth-child(4n + 1) {
  clear: both;
  margin: 0;
}
.list_rank li .rank-img {
  text-align: center;
  margin: 0 0 3%;
}
.list_rank li .rank-text {
  font-weight: 600;
  color: #fff;
}
.block_performance .area_rank .rank-att {
  color: #fff;
  font-size: 94%;
  font-weight: 600;
  margin: 20px auto 0;
  text-align: right;
  max-width: 1200px;
  width: 94%;
  position: relative;
  z-index: 5;
}
/*---------------------*/
.block_performance .area_merit {
  background: #595a4e;
  padding: 80px 0;
  margin: 0 0 120px;
}
.block_performance .area_merit .merit-title {
  text-align: center;
  font-size: 180%;
  color: #fff;
  font-weight: 600;
  margin: 0 0 50px;
  position: relative;
}
.block_performance .area_merit .merit-title::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #ffffff;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.block_performance .area_merit .merit-title span {
  display: inline-block;
  padding: 0 15px;
  background: #595a4e;
  position: relative;
  z-index: 5;
  letter-spacing: 3px;
}
.block_performance .area_merit .merit-lead {
  text-align: center;
  font-size: 125%;
  font-weight: 600;
  margin: 0 0 50px;
  color: #fff;
}
.block_performance .area_merit .merit-box {
  position: relative;
  overflow: hidden;
  max-width: 960px;
  margin: auto;
}
.block_performance .area_merit .merit-box .merit-tate {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 180%;
  font-weight: 700;
}
.block_performance .area_merit .merit-box .box-left {
  float: left;
  width: 421px;
}
.block_performance .area_merit .merit-box .box-right {
  float: right;
  width: 421px;
}
/*---------------------*/
.list_anchor {
  overflow: hidden;
  padding: 3% 0 15%;
}
.list_anchor li {
  float: left;
  width: 24.1%;
  margin: 0 0 1.2% 1.2%;
  box-sizing: border-box;
  border-radius: 10px;
  border: solid 1px #231815;
  text-align: center;
}
.list_anchor li:nth-child(4n + 1) {
  clear: both;
  margin: 0 0 1.2%;
}
.list_anchor a {
  display: flex;
	align-items: center;
  padding: .7em 0 .4em;
  font-size: 115%;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  transition: all .4s;
	line-height: 1.3;
	height: 2.6em;
}
.list_anchor a::before {
  content: '';
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #90ac5c transparent transparent transparent;
  transition: all .4s;
  z-index: 2;
}
.list_anchor a::after {
  content: '';
  width: 100%;
  height: 0%;
  background: #90ac5c;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all .4s;
}
.list_anchor a:hover {
  color: #fff;
}
.list_anchor a:hover::before {
  border-color: #fff transparent transparent transparent;
}
.list_anchor a:hover::after {
  top: 0;
  bottom: auto;
  height: 100%;
}
.list_anchor a span {
	display: block;
	width: 100%;
  position: relative;
  z-index: 2;
}
.list_column4 {
  overflow: hidden;
}
.list_column4 li {
  float: left;
  width: 22%;
  margin: 0 0 0 4%;
  position: relative;
}
.list_column4.arrow li + li::before {
  content: '';
  position: absolute;
  left: -11%;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #231815;
}
.list_column4 li:nth-child(4n + 1) {
  clear: both;
  margin: 0;
}
.list_column4 .big {
  font-size: 125%;
  font-weight: 600;
  margin: 5px 0;
}
.title_center-small {
  text-align: center;
  font-size: 150%;
  font-weight: 600;
  margin: 0 0 4%;
}
/*---------------------*/
.block_performance .area_detail {
  background: url("../img/ha11.png") no-repeat center bottom;
  background-size: 900px 181px;
}
.block_performance .area_detail .img-text-box {
  margin: 4% auto 6%;
}
.block_performance .area_detail .img-text-box p {
  line-height: 2;
  font-size: 105%;
}
.block_performance .area_detail p.title_big {
  font-size: 150%;
  font-weight: 600;
  margin: 0 0 5%;
  line-height: 1.7;
}
.block_performance .area_detail .img-text-box p small {
  font-size: 88%;
}
.block_performance .area_detail section.scroll-bar {
  padding: 80px 0 180px;
}
.list_column3 {
  overflow: hidden;
  max-width: 1000px;
  margin: auto;
}
.list_column3 li {
  float: left;
  width: 30%;
  margin: 0 0 0 5%;
}
.list_column3 li:nth-child(3n + 1) {
  clear: both;
  margin: 0;
}
.list_column3 p.big {
  font-size: 125%;
  font-weight: 600;
  margin: 0 0 6px;
}
.block_performance .area_detail .sec01 .img-text-box {
  padding: 0 0 0 570px;
  background: url(../img/concept/performance-sec01-img01.png) no-repeat left top;
  min-height: 405px;
  box-sizing: border-box;
  max-width: 960px;
}
.block_performance .area_detail .sec03 .img-text-box {
  padding: 0 0 0 640px;
  background: url(../img/concept/performance-sec03-img01.png) no-repeat left top;
  background-size: 540px 830px;
  min-height: 830px;
  box-sizing: border-box;
  max-width: 1060px;
}
.block_performance .area_detail .sec04 .img-text-box.box01 {
  padding: 0 0 0 690px;
  background: url(../img/concept/performance-sec04-img01.jpg) no-repeat left top;
  box-sizing: border-box;
  max-width: 1100px;
}
.block_performance .area_detail .sec04 .img-text-box.box02 {
  padding: 0 680px 0 0;
  background: url(../img/concept/performance-sec04-img03.jpg) no-repeat right top;
  min-height: 410px;
  box-sizing: border-box;
  max-width: 1100px;
  margin: 10% auto;
}
.block_performance .area_detail .wrap-green {
  background: #edf0e9;
  padding: 40px 40px;
  box-sizing: border-box;
  max-width: 1060px;
  margin: 0 auto 2%;
  font-size: 110%;
  border-radius: 10px;
}
.block_performance .area_detail .wrap-green + .wrap-green {
  margin: 4% auto 2%;
}
.block_performance .area_detail .wrap-green .green-title {
  text-align: center;
  font-size: 160%;
  color: #90ac5c;
  font-weight: 600;
  margin: 0 0 20px;
}
.block_performance .area_detail .wrap-green .color-text {
  color: #90ac5c;
  padding: 0 25px;
  font-size: 118.75%;
  font-weight: 700;
}
.block_performance .box-text .green-text {
  background: #edf0e9;
  padding: 10px 0;
  text-align: center;
  border-radius: 6px;
  font-size: 115%;
  color: #90ac5c;
  font-weight: 600;
  margin: 0 0 15px;
}
.list_maru li {
  position: relative;
  padding: 0 0 0 1.2em;
}
.list_maru li + li {
  margin: 5px 0 0;
}
.list_maru li::before {
  content: '●';
  position: absolute;
  left: 0;
  top: 0;
}
.block_performance .area_detail .list_maru {
  color: #90ac5c;
  font-weight: 400;
  background: url("../img/concept/performance-sec03-img02.jpg") no-repeat right top;
  background-size: 265px 175px;
}
.block_performance .area_detail .sec04 .list_maru {
  color: #231815;
  background: none;
}
.block_performance .area_detail .att-text {
  max-width: 1000px;
  margin: auto;
}
.block_performance .area_detail .plus-wrap {
  overflow: hidden;
}
.block_performance .area_detail .sec04 .title_center-small {
  margin: 10% 0 4%;
}
.dl_plus {
  background: #ad9987;
  padding: 20px 30px 30px;
  color: #fff;
  border-radius: 6px;
}
.dl_plus dt {
  text-align: center;
  font-size: 200%;
  font-weight: 600;
}
.plus-wrap {
  overflow: hidden;
  max-width: 1000px;
  margin: 0 auto 7%;
  position: relative;
}
.plus-wrap::before, .plus-wrap::after {
  content: '';
  position: absolute;
  background: #231815;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto
}
.plus-wrap::before {
  width: 90px;
  height: 1px;
}
.plus-wrap::after {
  width: 1px;
  height: 90px;
}
.plus-wrap .dl_plus {
  float: left;
  width: 40%;
  box-sizing: border-box;
}
.plus-wrap .dl_plus + .dl_plus {
  float: right;
}
.block_performance .area_detail .spot-brake {
  max-width: 1100px;
  margin: auto;
}
.block_performance .area_detail .spot-brake .big {
  font-size: 150%;
  font-weight: 600;
  margin: 0 0 30px;
}
.block_performance .area_detail .spot-brake p {
  padding: 0 750px 0 0;
  background: url("../img/concept/performance-sec04-img04.jpg") no-repeat right top;
  min-height: 350px;
}
.thumbnail-text-box {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  display: table;
}
.thumbnail-text-box + .thumbnail-text-box {
  margin: 60px auto 0;
}
.thumbnail-text-box .box-thumbnail {
  display: table-cell;
  vertical-align: middle;
  width: 590px;
}
.thumbnail-text-box .box-thumbnail img + img{
	margin: 40px 0 0;
}
.thumbnail-text-box .box-text {
  display: table-cell;
  vertical-align: middle;
  padding: 0 50px;
}
.thumbnail-text-box .box-text .title {
  font-size: 150%;
  font-weight: 600;
  margin: 0 0 3%;
}
.thumbnail-text-box .box-text .text {
  line-height: 2;
}
.thumbnail-text-box .box-text .img-center{
	margin: 20px auto 0;
}
.max-width {
  max-width: 1100px;
  margin: auto;
}
.block_performance .area_detail .sec06 .max-width {
  margin: 8% auto;
  border-radius: 10px;
  overflow: hidden;
}
.block_performance .area_detail .sec06 .max-width img {
  vertical-align: top;
}
.block_performance .area_detail .images-box {
  text-align: center;
  margin: 0 0 10%;
}
.block_performance .area_detail .images-box .box {
  margin: 0 40px;
  display: inline-block;
}
.block_performance .area_detail .images-box .title {
  margin: 0 0 15px;
}
.list_performance-point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1100px;
  margin: auto;
}
.list_performance-point li {
  width: 48%;
  background: #edf0e9;
  border-radius: 6px;
  padding: 30px 20px;
  box-sizing: border-box;
  margin: 0 0 4%;
}
.dl_point {
  width: 100%;
  height: 100%;
  display: table;
}
.dl_point dt {
  display: table-cell;
  vertical-align: middle;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  width: 25%;
  padding: 0 5% 0 0;
  font-size: 250%;
  font-weight: 600;
  color: #90ac5c;
  text-align: center;
  letter-spacing: 3px;
}
.dl_point dd {
  display: table-cell;
  vertical-align: middle;
  line-height: 2.3;
  font-size: 110%;
}
.block_performance .area_detail .border-wrap {
  position: relative;
  border: solid 1px #231815;
  padding: 80px 50px;
  box-sizing: border-box;
  margin: 0 auto 100px;
}
.block_performance .area_detail .border-wrap .title_center {
  position: absolute;
  width: 100%;
  top: -1em;
}
.block_performance .area_detail .border-wrap .title_center span {
  display: inline-block;
  background: #fff;
  padding: 0 30px;
}
.block_performance .area_detail .border-wrap .title_center small {
  display: block;
  font-size: 40%;
  line-height: 1;
}
.block_performance .area_detail .border-wrap .float-pc {
  margin: 0 0 80px;
}
.block_performance .area_detail .border-wrap .right {
  width: 360px;
  float: right;
  line-height: 2;
}
.block_performance .area_detail .border-wrap .left {
  width: calc(100% - 360px);
  float: left;
}
.block_performance .area_detail .border-wrap .left .images {
  display: inline-block;
  text-align: center;
}
.block_performance .area_detail .border-wrap .left .images + .images {
  margin: 0 0 0 30px;
}
.block_performance .area_detail .border-wrap .border-title-img {
  text-align: center;
  margin: 0 0 60px;
}
.block_performance .area_detail .border-wrap .border-att-text {
  background: #edf0e9;
  border-radius: 10px;
  font-size: 150%;
  font-weight: 600;
  padding: 30px;
  width: 800px;
  box-sizing: border-box;
  margin: 0 auto 20px;
  text-align: center;
}
/* ====================================
page-name #works
====================================*/
#page_works .block_page-top {
  background: url(../img/title-ki.jpg) no-repeat right -30px top 120px;
  background-size: 320px 310px;
  position: relative;
}
#page_works.single .block_page-top {
  background: url(../img/ha10.png) no-repeat right 100px top 140px;
  background-size: 191px 145px;
}
#page_works .block_blog {
  position: relative;
  padding: 0 0 300px;
  background: url(../img/title-ki.jpg) no-repeat right -100px bottom 0px;
  background-size: 480px 465px;
}
#page_works .block_blog::before {
  content: '';
  width: 344px;
  height: 241px;
  background: url(../img/ha07.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 100px;
  bottom: 30px;
}
.list_works {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1420px;
  margin: auto;
}
.list_works::after {
  display: block;
  content: "";
  width: 32%;
  pointer-events: none;
}
.list_works li {
  width: 32%;
  margin: 0 0 4% 2%;
}
.list_works li:nth-child(3n + 1) {
  margin: 0 0 4%;
}
.list_works a {
  display: block;
}
.list_works .thumbnail {
  position: relative;
  overflow: hidden;
  height: 0;
  padding: 66.66% 0 0;
}
.list_works .thumbnail::before {
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: all .3s;
  z-index: 2;
}
.list_works a:hover .thumbnail::before {
  opacity: 1;
}
.list_works .thumbnail .cat-tag {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  background: #231815;
  color: #fff;
  font-size: 88%;
  font-weight: 600;
  padding: 8px 40px;
  line-height: 1;
  letter-spacing: 3px;
  z-index: 5;
}
.list_works .thumbnail img {
  vertical-align: top;
  max-height: 100%;
  width: auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_works .text-box {
  padding: 10px 30px;
}
.list_works .text-box span.movie-release {
  display: block;
  font-size: 94%;
  margin: 0 0 1px;
}
/*--------------------*/
.block_works_single {
  position: relative;
  padding: 0 0 200px;
  background: url(../img/title-ki.jpg) no-repeat right -100px bottom 0px;
  background-size: 480px 465px;
}
.block_works_single .area_works-slide {
  max-width: 1000px;
  margin: 0 auto 100px;
}
.block_works_single .area_works-slide img {
  vertical-align: top;
}
.block_works_single .area_works-slide #jq_works-slide {
  margin: 0 0 10px;
}
.block_works_single .area_works-slide #jq_works-slide .slide-content {
  text-align: center;
}
.block_works_single .area_works-slide #jq_works-slide .slide-content img {
  max-height: 100%;
  width: auto;
}
.block_works_single .area_works-slide #jq_works-thumb .slick-slide {
  margin: 0 2px;
}
.block_works_single .area_works-slide #jq_works-thumb .slide-content {
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.block_works_single .area_works-slide #jq_works-thumb .slick-current .slide-content::before {
  content: '';
  width: 100%;
  height: 100%;
  border: solid 2px #ff8c00;
  position: absolute;
  box-sizing: border-box;
  left: 0;
  top: 0;
}
.block_works_single .area_works-data {
  overflow: hidden;
}
.block_works_single .area_works-data .data-title {
  float: left;
  width: 200px;
  font-size: 250%;
}
.block_works_single .area_works-data .data-box {
  float: left;
  width: calc(100% - 200px);
  overflow: hidden;
}
.block_works_single .area_works-data .data-box dl {
  float: left;
  width: 50%;
  padding: 5px 0;
  overflow: hidden;
  font-weight: 600;
}
.block_works_single .area_works-data .data-box dt {
  float: left;
  width: 140px;
}
.block_works_single .area_works-data .data-box dd {
  float: left;
  width: calc(100% - 140px);
}
.block_works_single .area_works-data {
  max-width: 900px;
  margin: 0 auto 80px;
}
.block_works_single .wp-editor {
  max-width: 900px;
  margin: 0 auto 120px;
}
.block_works_single .area_works-data.data--realty .data-box {
  float: none;
  width: 100%;
}
.block_works_single .area_works-data.data--realty .data-box dl {
  padding: 5px 15px 5px 0;
  box-sizing: border-box;
}
.block_works_single .area_works-data.data--realty .data-box dt {
  width: 120px;
}
.block_works_single .area_works-data.data--realty .data-box dd {
  width: calc(100% - 120px);
}
/* ====================================
page-name #blog
====================================*/
#page_blog .block_page-top {
  background: url(../img/pen03.png) no-repeat left 8% top 60%;
  background-size: 352px 266px;
}
/* ====================================
page-name #company
====================================*/
#page_company .block_page-top {
  position: relative;
}
#page_company .block_page-top::before {
  content: '';
  background: url("../img/pen.png") no-repeat center;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: -100px;
  width: 296px;
  height: 270px;
}
.block_company .dl_base {
  max-width: 750px;
  margin: auto;
}
.dl_base {
  overflow: hidden;
  padding: 5px 0;
  font-size: 108%;
}
.dl_base dt {
  float: left;
  width: 32%;
}
.dl_base dd {
  float: left;
  width: 68%;
}
.block_company .area_company-info {
  margin: 0 0 100px;
}
.map-wrap {
  max-width: 750px;
  height: 0;
  padding: 40% 0 0;
  margin: auto;
  position: relative;
}
.map-wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#page_company .block_front-house {
  margin: 150px 0 150px;
}
.block_zero {
  padding: 120px 0 80px;
  background: url("../img/zero-bg.jpg") no-repeat center;
  background-size: cover;
}
.block_zero .zero-title {
  text-align: center;
}
.block_zero .zero-text {
  text-align: center;
  color: #fff;
  font-size: 108%;
  margin: 10px 0 80px;
}
.btn_long-link {
  text-align: center;
}
.btn_long-link a {
  display: inline-block;
  background: rgba(0, 0, 0, .4);
  padding: 10px 25px;
  border-radius: 6px;
  color: #fff;
  border: solid 1px #fff;
  font-size: 125%;
  font-weight: 600;
  transition: all .3s;
}
.btn_long-link a:hover {
  background: #fff;
  color: #333;
}
/* ====================================
page-name #model-house
====================================*/
.block_model .tohunomori {
  text-align: center;
  margin: 0 0 100px;
}
.block_model .bg01 {
  background: url(../img/model-house/bg01.jpg) no-repeat center;
  height: 700px;
  margin: 0 auto 80px;
}
.block_model .bg02 {
  background: url(../img/model-house/bg02.jpg) no-repeat center;
  background-size: cover;
  height: 700px;
  margin: 0 auto 160px;
}
.block_model .model-lead {
  margin: 0 0 80px;
}
.block_model .model-lead p {
  text-align: center;
  margin: 30px 0 0;
}
.block_model .area_model-set {
  margin: 0 0 80px;
}
.block_model .area_model-set .set {
  position: relative;
}
.block_model .area_model-set .set + .set {
  margin: 200px auto 0;
}
.block_model .area_model-set .set-title {
  position: absolute;
  left: 100px;
  top: -40px;
}
.block_model .area_model-set .set.scroll_anime .set-title {
  opacity: 0;
  transform: translateY(-30px);
  transition: all 1.5s ease .1s;
  z-index: 5;
}
.block_model .area_model-set .set.scroll__start .set-title {
  opacity: 1;
  transform: translateY(0);
}
.block_model .area_model-set .set-image {
  text-align: center;
  margin: 0 0 30px;
  pointer-events: none;
}
.block_model .area_model-set .set.scroll_anime .set-image {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1.5s ease .3s;
}
.block_model .area_model-set .set.scroll__start .set-image {
  opacity: 1;
  transform: translateY(0);
}
.block_model .area_model-set .set-text {
  text-align: center;
  line-height: 2;
}
.block_model .area_model-set .set.scroll_anime .set-text {
  opacity: 0;
  transform: scale(.9);
  transition: all 1.5s ease .5s;
}
.block_model .area_model-set .set.scroll__start .set-text {
  opacity: 1;
  transform: scale(1);
}
.block_model .area_madori {
  margin: 0 0 40px;
}
.block_model .area_madori .inner {
  padding: 0 0 90px;
}
.block_model .area_madori .float-pc {
  margin: 60px 0 30px;
}
.block_model .area_madori .left {
  float: left;
  width: 60%;
  text-align: center;
}
.block_model .area_madori .right {
  float: right;
  width: 40%;
  text-align: center;
}
.list_madori-info {
  text-align: center;
}
.list_madori-info li {
  display: inline-block;
  font-size: 125%;
  font-weight: 700;
}
.list_madori-info li:nth-child(2) {
  margin: 0 35px;
}
.dl_info {
  display: table;
  width: 100%;
  max-width: 60%;
  margin: auto;
  font-weight: 700;
}
.dl_info dt {
  width: 40%;
  display: table-cell;
  vertical-align: middle;
  font-size: 125%;
}
.dl_info dd {
  width: 60%;
  display: table-cell;
  vertical-align: middle;
}
.dl_info dd span.name {
  width: 7em;
  display: inline-block;
}
.dl_info dd span.text {
  display: inline-block;
}
.block_model .area_detail {
  padding: 80px 0 0;
  border-top: solid 1px #231815;
  margin: 0 auto 130px;
  max-width: 1050px;
}
.block_model .area_detail .inner {
  width: 100%;
}
.block_model .area_detail .detail-img-text {
  max-width: 1050px;
  margin: 100px auto 0;
  box-sizing: border-box;
  padding: 80px 50px 80px 600px;
  background: url("../img/model-house/detail01.jpg") no-repeat left 60px top 80px;
  min-height: 310px;
  position: relative;
  border-top: solid 1px #231815;
  /* border-bottom: solid 1px #231815;*/
}
.block_model .area_detail .detail-img-text .zero-info {
  display: block;
  margin: 100px 0 0;
  box-sizing: border-box;
  padding: 0 0 0 130px;
  right: 0;
  bottom: 0;
  background: url("../img/model-house/zero.png") no-repeat left top;
  background-size: 112px 123px;
  font-size: 88%;
}
/*------------------------------------------------------------*/
.section-covid .inner {
  background: #edf0e9;
  padding: 60px 150px;
  box-sizing: border-box;
  margin: 120px auto;
  border-radius: 10px;
}
.section-covid .title_center {
  font-weight: 700;
  font-size: 160%;
}
.section-covid .covid-title {
  font-size: 180%;
  font-weight: 600;
  margin: 0 0 10px;
}
.section-covid .list_disc + .covid-title {
  margin: 40px 0 10px;
}
.list_disc li {
  list-style: disc;
  margin: 0 0 0 1em;
  padding: 3px 0;
}
.btn_small {
  width: 240px;
  margin: 50px auto 0;
}
.btn_small a {
  display: block;
  background: #90ac5c;
  color: #fff;
  font-size: 115%;
  border: solid 1px #90ac5c;
  font-weight: 600;
  padding: 10px 35px 10px 15px;
  transition: all .4s;
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}
.btn_small a:hover {
  background: #fff;
  color: #90ac5c;
}
.btn_small a::after {
  content: '';
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #fff;
  transition: all .4s;
  z-index: 2;
}
.btn_small a:hover::after {
  border-color: transparent transparent transparent #90ac5c;
}
.btn_small.btn--pdf a::after {
  display: none;
}
.btn_small.btn--pdf a::before {
  content: '';
  width: 26px;
  height: 26px;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("../img/icon_pdf01.svg");
  transition: all .3s;
}
.btn_small.btn--pdf a:hover::before {
  background-image: url("../img/icon_pdf02.svg");
}
/*------------------------------------------------------------*/
.block_kengaku-form {
  margin: 0 0 150px;
}
.block_kengaku-form .kengaku-form-lead {
  text-align: center;
}
.block_kengaku-form .form-title {
  text-align: center;
  font-size: 150%;
  padding: 80px 0 0;
  margin: 0 0 30px;
}
/*------------------------------------------------------------*/
.block_thanks .thanks-text {
  text-align: center;
  line-height: 2;
}
#sbi_images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#sbi_images .sbi_item {
  width: 100%;
}
/*------------------------------------------------------------*/
#page_concept .block_front-lineup::before, #page_concept .block_front-lineup::after {
  display: none;
  padding: 50px 0 100px;
}
#page_concept .block_front-house::before, #page_concept .block_front-house::after {
  display: none;
}
.title_inline-center {
  text-align: center;
  padding: 50px 0 100px;
  background: url("../img/ha07.png") no-repeat left 5% center;
  background-size: 344px 241px;
}
.title_inline-center span {
  display: inline-block;
  font-size: 230%;
  font-weight: 600;
  letter-spacing: 3px;
}
.title_inline-center small {
  font-size: 30%;
  display: block;
  text-align: right;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
#jq_plan-slide {
  max-width: 1440px;
  margin: auto;
}
#jq_plan-slide img {
  vertical-align: top;
}
#jq_plan-thumb {
  max-width: 960px;
  margin: auto;
}
#jq_plan-thumb img {
  vertical-align: top;
}
#jq_plan-thumb .slick-slide {
  margin: 20px;
  cursor: pointer;
}
.img-center {
  text-align: center;
  margin: 0 0 50px;
}
/*------------------------------------------------------------*/
.block_single {
  padding: 150px 0 0;
  background: url(../img/ha10.png) no-repeat right 5% top 2%;
  background-size: 191px 145px;
  margin: 0 0 100px;
}
.block_single .inner {
  max-width: 1000px;
}
.block_single .cat-tag {
  margin: 0 0 10px;
}
.block_single .cat-tag span {
  display: inline-block;
  background: #333;
  min-width: 160px;
  text-align: center;
  padding: 2px 10px;
  color: #fff;
  font-weight: 600;
  box-sizing: border-box;
}
.block_single .single-title {
  font-size: 200%;
  margin: 0 0 10px;
}
.block_single time {
  display: block;
  text-align: right;
}
#page_blog .block_kengaku-form {
  background: url(../img/ha10.png) no-repeat right 5% top;
  background-size: 191px 145px;
  padding: 0;
}
/**/
.parts-other-article {
  padding: 100px 0;
  border-top: solid 1px #333;
}
.list_news-others {
  overflow: hidden;
  max-width: 800px;
  margin: auto;
}
.list_news-others li + li {
  margin: 40px 0 0;
}
.list_news-others a {
  display: block;
  overflow: hidden;
}
.list_news-others .other-thumbnail {
  width: 35%;
  margin: 0 5% 0 0;
  float: left;
}
.list_news-others .text-box {
  float: left;
  width: 60%;
}
.list_news-others .cat-tag {
  margin: 0 0 10px;
}
.list_news-others .cat-tag span {
  display: inline-block;
  background: #333;
  min-width: 160px;
  text-align: center;
  padding: 2px 10px;
  color: #fff;
  font-weight: 600;
  box-sizing: border-box;
}
.list_news-others .other-title {
  font-size: 150%;
  margin: 5px 0 0;
}
/*add 20211029*/
.block_concept-lineup .lineup-pop {
  text-align: right;
  transition: all .3s;
}
.block_concept-lineup .area_aoba-base .lineup-pop {
  margin: 0 0 -90px;
  position: relative;
  z-index: 5;
}
#page_concept .lity {
  background: rgba(255, 255, 255, .3);
}
#page_concept .lity-container {
  min-width: 1200px;
  background: #fff;
}
#page_concept .lity-content {
  background: rgba(255, 255, 255, .9);
  box-sizing: border-box;
  padding: 30px;
}
#page_concept .lity-content .pop-title {
  text-align: center;
  font-size: 175%;
  font-weight: 600;
  margin: 0 0 10px;
  letter-spacing: .1em;
}
#page_concept .lity-content .float-box {
  overflow: hidden;
}
#page_concept .lity-content .pop-text .pop-text-big {
  font-size: 113%;
  font-weight: 600;
}
#page_concept .lity-content .pop-text .pop-text-big + .pop-text-big {
  margin: 1% 0 0;
}
#page_concept .lity-content .pop-text .pop-text-big strong {
  color: darkorange;
}
#page_concept .lity-content .pop-image {
  margin: 0 0 1%;
  text-align: center;
}
#page_concept .lity-content .pop-image img {
  vertical-align: top;
}
#page_concept .lity-close {
  position: absolute;
  color: #000;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-shadow: inherit;
  font-size: 300%;
  font-weight: 400;
}
.block_concept-lineup .pop-wrap {
  position: relative;
}
.block_concept-lineup .pop-wrap .lineup-pop {
  position: absolute;
  right: 0;
  top: 0;
}
.block_concept-lineup .lineup-pop a {
  display: inline-block;
  transition: all .2s;
}
.block_concept-lineup .pop-wrap .dl_data {
  max-width: 1000px;
  padding: 70px 0;
}
.block_concept-lineup .pop-wrap .dl_data dt {
  text-align: left;
  width: 11%;
}
.block_concept-lineup .pop-wrap .dl_data dd {
  font-size: 88%;
}
.block_concept-lineup .pop-wrap .dl_data dd .ua {
  display: none;
}
.block_concept-lineup .pop-wrap .dl_data dd small {
  font-size: 88%;
}
#page_concept .lineup-pop .btn_bg {
  text-align: center;
  background: url(../img/concept/pop/btn_bg.png) no-repeat center;
  line-height: 50px;
  color: #000;
  margin: 20px 0 0 auto;
  width: 500px;
  font-weight: 600;
  transition: all .2s;
}
.block_concept-lineup .lineup-pop a:hover {
  opacity: .7;
}
#page_concept .lineup-pop a:hover .btn_bg {
  color: #729b3c;
}
@media all and (max-height:700px) {
  #page_concept .lity-content {
    padding: 15px 20px 15px 30px;
  }
  #page_concept .lity-container {
    min-width: 850px;
    width: 850px;
    font-size: 74%;
  }
  #page_concept .lity-content .pop-text .pop-message {
    line-height: 1.5;
  }
}
/* ====================================
page-name #youtube
====================================*/
.block_youtube {
  margin: 0 0 200px;
}
.block_youtube .inner {
  overflow: hidden;
  position: relative;
}
.block_youtube .inner .btn_arrow {
  position: absolute;
  right: 0;
  bottom: 0;
}
.block_youtube .youtube-set .youtube-wrap {
  position: relative;
  padding: 56.25% 0 0;
  margin: 0 0 10px;
}
.block_youtube .youtube-set .youtube-wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.block_youtube .youtube-set p {
  font-size: 94%;
  font-weight: 600;
}
.block_youtube .youtube-main {
  float: left;
  width: 42%;
}
.block_youtube .youtube-saisin {
  float: right;
  width: 56%;
}
.list_youtube {
  overflow: hidden;
}
.list_youtube li {
  float: left;
  width: 48%;
}
.list_youtube li + li {
  margin: 0 0 0 4%;
}
/* ====================================
page-name #movie
====================================*/
#page_movie .block_page-top {
  background: url(../img/title-ki.jpg) no-repeat right bottom;
  background-size: 320px auto;
}
.block_single .movie-title-box {
  width: 80%;
  margin: 0 auto 10px;
}
.block_single .movie-wrap {
  position: relative;
  height: 0;
  padding: 56.25% 0 0;
  overflow: hidden;
}
.block_single .movie-wrap iframe, .block_single .movie-wrap video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.block_movie .list_works .thumbnail {
  height: 0;
  padding: 56.25% 0 0;
  margin: 0 0 20px;
}
.block_movie .list_works .thumbnail::before {
  z-index: 5;
}
.block_movie .list_works .thumbnail::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 75px;
  height: 75px;
  pointer-events: none;
  background: url("../img/icon-youtube.png") no-repeat;
  background-size: contain;
  z-index: 6;
}
.block_movie .list_works .thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
  bottom: auto;
}
/* ====================================
add 202209
====================================*/
.block_company .area_rinen {
  margin: 50px 0 0;
  padding: 150px 0 0;
}
.block_company .area_rinen .inner {
  width: 1000px;
}
.block_company .area_rinen ul {
  display: flex;
  justify-content: space-between;
  margin: auto;
}
.block_company .area_rinen ul li {
  width: 30%;
  text-align: center;
}
.block_company .area_rinen .dl_rinen dt {
  background: url("../img/title-ki.jpg") no-repeat center;
  background-size: cover;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 125%;
  font-weight: 700;
  padding: 100px 135px 100px 120px;
  text-shadow: 0 0 #fff, 0 0 #fff, 0 0 #fff, 0 0 #fff;
}
.block_company .area_rinen .dl_rinen dd {
  font-size: 112.5%;
}
.block_company .area_teigi {
  margin: 50px 0 0;
  padding: 150px 0 0;
}
.block_company .area_teigi .teigi-text {
  text-align: center;
  font-size: 312.5%;
  font-weight: 700;
  padding: 70px 0 150px;
  background: url("../img/ha13.png") no-repeat center;
  background-size: contain;
}
.block_company .area_president {
  padding: 150px 0 0;
}
.block_company .area_president .inner {
  width: 800px;
}
.block_company .area_president figure {
  width: 500px;
  margin: 0 auto 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.block_company .area_president figure .image {
  width: 200px;
}
.block_company .area_president figure figcaption {
  width: 300px;
  box-sizing: border-box;
  padding: 0 0 0 50px;
  font-size: 106.25%;
  font-weight: 700;
}
.block_company .area_president figure figcaption span {
  display: inline-block;
  margin: 0 35px 0 0;
}
.block_company .area_president figure figcaption strong {
  font-size: 130%;
}
.block_company .area_president .president_text {
  font-size: 106.25%;
}
.block_company .area_president .president_text p + p {
  margin: 40px 0 0;
}
.block_company .area_company-info {
  padding: 150px 0 0;
  margin: 100px 0 0;
  background: url("../img/ha14.png") no-repeat right 10% top;
  background-size: 281px auto;
}
.block_company .area_company-access {
  padding: 150px 0 0;
  margin: 50px 0 0;
  background: url("../img/ha14.png") no-repeat left 10% top;
  background-size: 160px auto;
}
/*---------------------------------------------------------*/
.block_companyRecruit {
  margin: 0 0 150px;
}
.block_companyRecruit .recruit_title {
  border: solid 1px #231815;
  font-size: 187.5%;
  line-height: 79px;
  text-align: center;
  position: relative;
  cursor: pointer;
}
.block_companyRecruit .recruit_title::before {
  content: '';
  width: 80px;
  height: 80px;
  background: #595a4e;
  position: absolute;
  right: 0;
  top: 0;
}
.block_companyRecruit .recruit_title::after {
  content: '';
  width: 50px;
  height: 50px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/company/arrow.svg) no-repeat center;
  background-size: contain;
  transition: all .5s;
}
.block_companyRecruit .recruit_title.accordion__open::after {
  transform: rotateX(180deg);
}
.block_companyRecruit .accordion_wrap {
  border: solid 1px #231815;
  border-top: none;
}
.block_companyRecruit .recruit_subTitle {
  font-size: 156.25%;
  padding: 25px 0;
  text-align: center;
}
.list_recruit {
  width: 90%;
  margin: auto;
}
.list_recruit > li {
  border-top: solid 1px #231815;
}
.list_recruit dl {
  display: flex;
  align-items: center;
  padding: 25px 0;
}
.list_recruit dt {
  width: 40%;
  text-align: center;
  font-size: 125%;
}
.list_recruit dd {
  width: 46%;
  font-size: 106.25%;
  line-height: 2;
}
.list_recruit dd small {
  font-size: 86%;
}
.list_recruit ol li + li {
  position: relative;
  padding: 30px 0 0;
}
.list_recruit ol li + li::before {
  content: '';
  width: 10px;
  height: 10px;
  border-bottom: solid 1px #231815;
  border-right: solid 1px #231815;
  transform: rotateZ(45deg);
  position: absolute;
  top: 7px;
  left: 95px;
  margin: auto;
}
/*---------------------------------------------------------*/
.block_companySdgs {
  margin: 0 0 190px;
}
.block_companySdgs .sdgs_title {
  text-align: center;
  font-size: 187.5%;
  margin: 0 0 60px;
}
.block_companySdgs .sdgs_img01 {
  width: 499px;
  margin: 0 auto 60px;
}
.block_companySdgs .sdgs_lead {
  font-size: 125%;
  text-align: center;
  margin: 0 0 30px;
}
.block_companySdgs .sdgs_img02 {
  width: 665px;
  margin: 0 auto;
}
/*---------------------------------------------------------*/
.block_realty .list_works {
  max-width: 1200px;
  margin: auto;
}
.pdf_wrap {
  text-align: center;
  margin: 0 0 30px;
}
#page_realty #jq_works-slide .slick-prev {
  left: -50px;
}
#page_realty #jq_works-slide .slick-next {
  right: -50px;
}
.block_model .upbottomBorder {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  padding: 75px 0;
  max-width: 1050px;
  margin: 0 auto 130px;
}
.block_model .model-lead p.toptext {
  font-size: 23px;
}
.block_model-house2 .align-left {
  text-align: left !important;
}
.block_model-house2 .align-left img {
  width: 1050px;
}
.bnt_insta {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 20px;
}
.instagram_box {
  display: flex;
  justify-content: center;
}
.instagram_box li {
  width: calc(100% / 6);
}
/*-------------  modelhouse2↓ ---------------*/
.block_model-house2 .model_title {
  max-width: 1440px;
  height: 765px;
  position: relative;
  background: url(../img/model-house2/main.webp) no-repeat center;
  background-size: 1440px auto;
  margin: auto;
}
.block_model-house2 .model_title h2 {
  position: absolute;
  right: 110px;
  top: 50px;
  white-space: nowrap;
  font-size: 256.25%;
  font-weight: 700;
  text-shadow: 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: .05em;
}
.block_model-house2 .section_passive .passive_text p {
  text-align: left;
  padding: 50px 0 0 120px;
  background-size: 170px;
  background-repeat: no-repeat;
  background-position: right 200px top;
  font-size: 17px;
  margin: 0 0 40px;
  position: relative;
}
.block_model-house2 .section_passive .passive_text p::before {
  content: '';
  width: 170px;
  height: 255px;
  background: url(../img/model-house2/passive_img02.webp);
  background-size: contain;
  position: absolute;
  right: 340px;
  top: -15px;
}
.block_model-house2 .section_passive .passive_img01 {
  width: 730px;
  margin: 0 0 20px 120px;
}
.block_model-house2 .section_passive .passive_img02 {
  max-width: 1089px;
  margin: auto;
}
.block_model-house2 .section_passive .passive_layout01 {
  position: absolute;
  width: 223px;
  right: 80px;
  top: 60px;
}
.block_model-house2 .section_material .sozaitext {
  padding: 50px 0 20px 120px;
  text-align: left;
  font-size: 17px;
}
.block_model-house2 .section_material .set-image {
  width: 950px;
  margin: auto;
}
.block_model-house2 .section_space .sozaitext {
  padding: 50px 0 20px 120px;
  text-align: left;
  font-size: 17px;
}
.block_model-house2 .section_space .set-image {
  width: 950px;
  margin: auto;
}
.block_model-house2 .section_performance .sozaitext {
  padding: 50px 0 20px 120px;
  text-align: left;
  font-size: 17px;
}
.block_model-house2 .section_performance .seinoutext {
  background-image: url(../img/model-house2/seinou_bg.webp);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 443px auto;
  margin: 0 0 40px;
  padding: 50px 0 20px 120px;
  font-size: 17px;
}
.block_model-house2 .section_performance .set-image {
  width: 887px;
  margin: 0 0 0 120px;
}
.block_model .section_sale .hanbaitext {
  padding: 50px 0 0 120px;
  text-align: left;
  background-image: url(../img/model-house2/hanabai_bg.webp);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 298px auto;
}
.block_model .section_sale .hanbaitext h4 {
  font-size: 38px;
}
.block_model ul.hanbaitext___data {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: calc(1080px - 320px);
  font-size: 22px;
  margin: 10px 0 30px;
}
.block_model ul.hanbaitext__stores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: calc(1080px - 320px);
  font-size: 18px;
}
/*-----------------------------*/
.block_pageTitle {
  padding: 200px 0 100px;
}
.block_pageTitle .pageTitle {
  text-align: center;
  font-size: 200%;
  font-weight: 700;
}
.block_base {
  margin: 0 0 100px;
}
.block_base .base_lead {
  margin: 0 0 30px;
}
.block_base p + p {
  margin: 15px 0 0;
}
.block_base p.small {
  font-size: 88%;
}
.list_policy {
  max-width: 1100px;
  margin: auto;
  font-size: 87.5%;
}
.list_policy > li + li {
  margin: 30px 0 0;
}
.list_policy dl dt {
  font-size: 114%;
  font-weight: 700;
  margin: 0 0 10px;
}
p + .list_subList {
  margin: 15px 0 0;
}
.list_subList > li + li {
  margin: 20px 0 0;
}


/*----20250414----*/
.sec04_set.set01 .set_image{
	max-width:975px;
	margin: auto;
}
.sec04_set.set02 .set_image{
	max-width:720px;
	margin: auto;
}
.sec04_set.set02 .att_text{
	text-align: center;
	margin: 1em 0 0;
}
/*----202509----*/
.aobacoBnr{
    margin: 3em 0 0;
    text-align: center;
}
.aobacoBnr a{
    transition: all .3s;
}
.aobacoBnr a:hover{
    opacity: .7;
}

