@charset "UTF-8";
/* CSS Document */
/* Scss Document */
/* Scss Document */
/* アニメーション記述用 */
@keyframes headerFixed {
  0% {
    transform: translateY(-90px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateY(-90px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.pa-02 {
  padding: 0 2%;
}

.btn a {
  max-width: none;
}

.slick-dots {
  bottom: -20px !important;
}
.slick-dots li {
  width: auto !important;
  height: auto !important;
}
.slick-dots li button {
  padding: 0 !important;
  width: 65px !important;
  height: 2px !important;
  background: #fff !important;
}
.slick-dots li button::before {
  display: none;
}
.slick-dots li.slick-active button {
  background: #F69320 !important;
}

.mainimg {
  margin-bottom: 60px;
}
.mainimg .mainimg__wp {
  position: relative;
}
.mainimg .mainimg__irst {
  position: absolute;
  bottom: 0;
}
.mainimg .mainimg__irst.irst-1 {
  bottom: -10px;
  left: 0;
  width: 22%;
  max-width: 260px;
}
.mainimg .mainimg__irst.irst-2 {
  right: 0;
  width: 29%;
  max-width: 275px;
}
.mainimg .mainimg__main-ttl {
  font-size: 1.7rem;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  color: #fff;
  text-align: center;
  transform: translate(-50%, -50%);
}
@media (min-width: 769px) {
  .mainimg .mainimg__main-ttl {
    font-size: calc(1.7rem + (1vw - 7.69px) * 3.7037037037);
  }
}
@media (min-width: 1120px) {
  .mainimg .mainimg__main-ttl {
    font-size: 3rem;
  }
}

.main-txt {
  margin-bottom: 80px;
}
.main-txt .main-txt__wp {
  position: relative;
  margin-bottom: 95px;
  /*.main-txt__txt{
  	@include font(1.2rem,1.4rem,769px,1120px);
  	text-align: center;
  	p{
  		position: relative;
  		z-index: 1;
  	}
  }*/
}
.main-txt .main-txt__wp .main-txt__main-wp figure {
  margin: 0 auto 30px;
  width: 30%;
  max-width: 115px;
}
.main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp {
  margin: 0 auto 35px;
  text-align: center;
}
.main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp h3 {
  font-size: 2rem;
  margin-bottom: 15px;
  color: #F69320;
}
@media (min-width: 769px) {
  .main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp h3 {
    font-size: calc(2rem + (1vw - 7.69px) * 2.849002849);
  }
}
@media (min-width: 1120px) {
  .main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp h3 {
    font-size: 3rem;
  }
}
.main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp p {
  font-size: 1.5rem;
}
@media (min-width: 769px) {
  .main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp p {
    font-size: calc(1.5rem + (1vw - 7.69px) * 0.8547008547);
  }
}
@media (min-width: 1120px) {
  .main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp p {
    font-size: 1.8rem;
  }
}
.main-txt .main-txt__wp .main-txt__bk-img {
  position: absolute;
  bottom: -70px;
  right: 0;
  width: 50%;
  max-width: 155px;
}

.works {
  margin-bottom: 40px;
  position: relative;
  background: #fff;
  padding: 80px 0 23px;
}
.works .works__wp {
  padding-top: 20px;
}
.works .works__wp li {
  margin-bottom: 20px;
}
.works .works__wp li a figure {
  position: relative;
  margin-bottom: 10px;
}
.works .works__wp li a figure .more_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, -50%);
  text-decoration: underline;
  transition: 0.3s;
}
.works .works__wp li a figure::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: 0.4s;
}
.works .works__wp li a .works__txt-wp .time {
  font-size: 1.4rem;
}
.works .works__wp li a .works__txt-wp .works__ttl {
  font-size: 1.4rem;
}
@media (min-width: 769px) {
  .works .works__wp li a .works__txt-wp .works__ttl {
    font-size: calc(1.4rem + (1vw - 7.69px) * 0.2849002849);
  }
}
@media (min-width: 1120px) {
  .works .works__wp li a .works__txt-wp .works__ttl {
    font-size: 1.5rem;
  }
}
.works .works__wp li:last-child {
  margin-bottom: 30px;
}

.design_casa {
  margin-bottom: 68px;
}
.design_casa .l-inner {
  padding: 0 5.334%;
}
.design_casa .design_casa-img {
  margin-bottom: 3.12rem;
}
.design_casa .design_casa-about .design_casa-logo {
  margin: 0 auto 3rem;
  width: 69.853%;
}
.design_casa .design_casa-about .design_casa-ttl {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #F69320;
}
@media (min-width: 375px) {
  .design_casa .design_casa-about .design_casa-ttl {
    font-size: calc(1.6rem + (1vw - 3.75px) * 0.4419889503);
  }
}
@media (min-width: 1280px) {
  .design_casa .design_casa-about .design_casa-ttl {
    font-size: 2rem;
  }
}
.design_casa .design_casa-about .design_casa-txt {
  font-size: 1.2rem;
  margin-bottom: 3rem;
  line-height: 1.5em;
  letter-spacing: 0;
  text-align: center;
}
@media (min-width: 375px) {
  .design_casa .design_casa-about .design_casa-txt {
    font-size: calc(1.2rem + (1vw - 3.75px) * 0.3314917127);
  }
}
@media (min-width: 1280px) {
  .design_casa .design_casa-about .design_casa-txt {
    font-size: 1.5rem;
  }
}

.about {
  position: relative;
  margin-bottom: 60px;
}
.about .about__img-wp {
  background: url("/img/home/bk_about.jpg") center/cover no-repeat;
  height: 20vh;
  max-height: 130px;
}
.about .ttl-wp h2 {
  color: #fff;
}
.about .ttl-wp p {
  color: #fff;
}
.about .about__list-wp {
  margin-top: -25px;
}
.about .about__list-wp li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
  padding: 20px 15px;
  background: #fff;
  text-align: center;
  box-sizing: border-box;
  border-radius: 15px;
}
.about .about__list-wp li .about__list-img {
  flex: 0 1 52%;
  width: 52%;
  max-width: 52%;
}
.about .about__list-wp li .about__list-tt-wp {
  flex: 0 1 45%;
  width: 45%;
  max-width: 45%;
}
.about .about__list-wp li .about__list-tt-wp .about__ttl {
  font-size: 1.3rem;
}
@media (min-width: 769px) {
  .about .about__list-wp li .about__list-tt-wp .about__ttl {
    font-size: calc(1.3rem + (1vw - 7.69px) * 0.8547008547);
  }
}
@media (min-width: 1120px) {
  .about .about__list-wp li .about__list-tt-wp .about__ttl {
    font-size: 1.6rem;
  }
}
.about .about__list-wp li .about__list-tt-wp .about__txt {
  font-size: 1.2rem;
  margin-bottom: 10px;
  color: #F69320;
}
@media (min-width: 769px) {
  .about .about__list-wp li .about__list-tt-wp .about__txt {
    font-size: calc(1.2rem + (1vw - 7.69px) * 0.2849002849);
  }
}
@media (min-width: 1120px) {
  .about .about__list-wp li .about__list-tt-wp .about__txt {
    font-size: 1.3rem;
  }
}
.about .about__list-wp li .about__list-tt-wp .btn a {
  padding: 5px;
}
.about .about__list-wp li:last-child {
  margin-bottom: 0;
}

.info {
  position: relative;
  margin-bottom: 40px;
}
.info .info_wp {
  margin-bottom: 40px;
  padding-top: 120px;
}
.info .info_wp li a {
  position: relative;
  display: block;
  border-top: solid 1px #707070;
  padding: 15px 20px;
}
.info .info_wp li a .info__time {
  margin-bottom: 5px;
  font-size: 1.4rem;
  color: #F69320;
}
.info .info_wp li a .info__ttl {
  font-size: 1.3rem;
}
@media (min-width: 769px) {
  .info .info_wp li a .info__ttl {
    font-size: calc(1.3rem + (1vw - 7.69px) * 0.2849002849);
  }
}
@media (min-width: 1120px) {
  .info .info_wp li a .info__ttl {
    font-size: 1.4rem;
  }
}
.info .info_wp li a i {
  position: absolute;
  top: 50%;
  right: 15px;
  color: #F69320;
  font-size: 1.5rem;
  font-family: "Font Awesome 5 Free";
  transform: translate(0, -50%);
}
.info .info_wp li:last-child a {
  border-bottom: solid 1px #707070;
}

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) {
  .btn a {
    max-width: 270px;
  }
  .slick-dots li button {
    width: 100px !important;
  }
  .mainimg {
    margin-bottom: 120px;
  }
  .mainimg .mainimg__irst.irst-1 {
    bottom: -20px;
  }
  .mainimg .contact__wp {
    position: absolute;
    right: 30px;
    bottom: 130px;
    width: 120px;
    height: 120px;
  }
  .mainimg .contact__wp a {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    color: #F69320;
    text-align: center;
    background: #fff;
    transform: translate(-50%, -50%);
    border-radius: 50%;
  }
  .mainimg .contact__wp a .i-mail {
    margin: 20px auto -3px;
  }
  .mainimg .contact__wp a .i-mail i {
    text-align: center;
    font-size: 3.2rem;
  }
  .mainimg .contact__wp a .mail_txt {
    font-size: 1.5rem;
  }
  .mainimg .contact__wp a .mail_txt-en {
    font-size: 1.2rem;
  }
  .mainimg .contact__wp a::after {
    position: absolute;
    content: "";
    bottom: -10px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 12.5px 0 12.5px;
    border-color: #ffffff transparent transparent transparent;
    transform: translate(-50%, 0);
    transition: 0.4s;
  }
  .mainimg .contact__wp a:hover {
    opacity: 1;
    color: #fff;
    background: #F69320;
  }
  .mainimg .contact__wp a:hover::after {
    transition: 0.4s;
    border-color: #F69320 transparent transparent transparent;
  }
  .main-txt {
    margin-bottom: 120px;
  }
  .main-txt .main-txt__wp {
    margin-bottom: 90px;
    /*.main-txt__txt{
    	@include flex_box(50%);
    	text-align: left;
    }*/
  }
  .main-txt .main-txt__wp .main-txt__main-wp figure {
    margin: 0 auto 35px;
  }
  .main-txt .main-txt__wp .main-txt__main-wp .main-txt__ttl-wp {
    position: relative;
    margin: 0 auto 0;
    z-index: 1;
  }
  .main-txt .main-txt__wp .main-txt__bk-img {
    bottom: -20%;
    right: 22%;
    max-width: 200px;
  }
  .works {
    margin-bottom: 70px;
    padding: 120px 0 70px;
  }
  .works .works__wp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 0;
  }
  .works .works__wp li {
    flex: 0 1 48%;
    width: 48%;
    max-width: 48%;
    margin-bottom: 50px;
  }
  .works .works__wp li a:hover {
    opacity: 1;
    color: #F69320;
  }
  .works .works__wp li a:hover figure::before {
    opacity: 1;
    transition: 0.4s;
  }
  .works .works__wp li a:hover .more_txt {
    opacity: 1;
    transition: 0.3s;
  }
  .works .works__wp li:last-child {
    margin-bottom: 50px;
  }
  .design_casa {
    margin-bottom: 90px;
  }
  .design_casa .l-inner {
    padding: 0 2%;
  }
  .design_casa .design_casa-wp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
  }
  .design_casa .design_casa-img {
    flex: 0 1 50%;
    width: 50%;
    max-width: 50%;
    margin-bottom: 0;
  }
  .design_casa .design_casa-about {
    flex: 0 1 46.5357143%;
    width: 46.5357143%;
    max-width: 46.5357143%;
  }
  .design_casa .design_casa-about .design_casa-logo {
    margin-bottom: 2.5rem;
    width: 58%;
  }
  .design_casa .design_casa-about .design_casa-ttl {
    margin-bottom: 2rem;
  }
  .design_casa .design_casa-about .design_casa-txt {
    margin-bottom: 2rem;
  }
  .about {
    margin-bottom: 120px;
  }
  .about .about__img-wp {
    height: 40vh;
    max-height: 320px;
  }
  .about .about__list-wp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: -150px;
  }
  .about .about__list-wp li {
    flex: 0 1 31%;
    width: 31%;
    max-width: 31%;
    margin-bottom: 0;
    padding: 20px 15px 30px;
    background: #fff;
    text-align: center;
    box-sizing: border-box;
    border-radius: 15px;
  }
  .about .about__list-wp li .about__list-img {
    flex: 0 1 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }
  .about .about__list-wp li .about__list-tt-wp {
    flex: 0 1 100%;
    width: 100%;
    max-width: 100%;
  }
  .about .about__list-wp li .about__list-tt-wp .about__txt {
    margin-bottom: 15px;
  }
  .about .about__list-wp li .about__list-tt-wp .btn a {
    padding: 15px;
  }
  .info {
    margin-bottom: 85px;
  }
  .info .info_wp {
    margin-bottom: 50px;
    padding-top: 120px;
  }
  .info .info_wp li a {
    padding: 30px 30px;
  }
  .info .info_wp li a .info__time {
    display: inline-block;
    margin-bottom: 0;
    padding-right: 20px;
  }
  .info .info_wp li a .info__ttl {
    display: inline-block;
  }
}
/*------------------------------
		961px以上
------------------------------*/
@media screen and (min-width: 961px) {
  .pa-02 {
    padding: 0;
  }
  .slick-dots li button {
    width: 150px !important;
  }
  .mainimg .mainimg__irst.irst-1 {
    bottom: -25px;
  }
  .works {
    margin-bottom: 80.4px;
    padding: 150px 0 117.4px;
  }
  .design_casa {
    margin-bottom: 117.6px;
  }
  .design_casa .l-inner {
    padding: 0;
  }
  .design_casa .design_casa-wp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center;
  }
  .design_casa .design_casa-img {
    flex: 0 1 56.1607143%;
    width: 56.1607143%;
    max-width: 56.1607143%;
    margin-bottom: 0;
  }
  .design_casa .design_casa-about {
    flex: 0 1 40.5357143%;
    width: 40.5357143%;
    max-width: 40.5357143%;
    margin-top: 3%;
  }
  .design_casa .design_casa-about .design_casa-logo {
    margin-bottom: 5.58rem;
    width: 53.7444934%;
  }
  .design_casa .design_casa-about .design_casa-ttl {
    margin-bottom: 2.5rem;
  }
  .design_casa .design_casa-about .design_casa-txt {
    margin-bottom: 4.32rem;
    line-height: 1.5em;
  }
  .info .info_wp {
    padding-top: 150px;
  }
}
/*------------------------------
		1181px以上
------------------------------*/
@media screen and (min-width: 1181px) {
  .works .works__wp {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .works .works__wp li {
    flex: 0 1 31%;
    width: 31%;
    max-width: 31%;
    margin-right: 3.5%;
  }
  .works .works__wp li:nth-child(3n) {
    margin-right: 0;
  }
}
/*------------------------------
		1600px以上
------------------------------*/