@charset "UTF-8";
/* コンテンツ */
.img100{width: 100%;}
.w100per{width: 100%;margin: 0 auto;}
.w90per{width: 90%;margin: 0 auto;}
.w80per{width: 80%;margin: 0 auto;}
.spnone{display: block;}
.sponly{display: none;}
.pb100{padding-bottom:10%;}
.pt5em{padding-top: 5em;}
.seo_h2{font-weight: normal;text-align: justify;}
#topimg {
	position: relative;
    width: 100%;
    height: 100vh; /* disable Fallback */
    height: calc((var(--vh, 1vh) * 100) );
    overflow: hidden;
}
.top_logo{position: relative;width: 300px;top:50%;margin: 0 auto; }
.top_logo h2{font-size: 1.4em;margin-top: 1%;}
.top_wm{position: absolute;width: 150px;bottom:2%;right:2%;}

/* flexbox フレックスボックス */
/* flexbox フレックスボックス */
.flexbox ,.flexbox04 {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content:space-between;
  	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	}
.flexbox_works {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content:space-between;
  	flex-wrap: wrap;
	width: 96%;
	margin: 0 auto;
	}
.flexbox::after{
  content:"";
  display: block;
  width:31%;
}

/* 親要素の疑似要素 */
.flexbox04::after {
    content: "";
    display:block;
    width:23%; /* 子要素と同じ幅 */
}
.flexbox04::before { 
    content: ""; 
    display:block; 
    width:23%; /* 子要素と同じ幅 */
    order: 1; /* アイテムの並び順 */
}
.box-item03 img,.box-item02 img,.box-item04 img{width: 100%;}
.box-item02{width: 48%;display: inline-block;margin:0% 0 2%;height: auto;}
.box-item03_menu{width: 31%;display: inline-block;margin:1% 0 0;height: auto;border-bottom: solid 1px #000000;color: #000000;}
.active{background-color: #b5b5b6;}
.arrow{
  width: 30%;
  position: relative;
  display: inline-block;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 1em;
	padding: 0.4em 0 0.4em 1em;
}
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2%;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 0.7em;   /* arrow size */
  height: 0.7em;  /* arrow size */
  border-top: 1px solid #000000;  /* thickness, color */
  border-right: 1px solid #000000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.box-item03{width: 31%;display: inline-block;margin:1% 0 0;height: auto;}
.box-item03_works{width: 31%;display: inline-block;margin:1% 0 0;height: 430px;}
.box-item04{width: 23%;display: inline-block;margin:1% 0 2%;padding: 0%;}
.box-item04 img{border-radius: 10px;}
.bk-img_works {
  width: 100%;
  height: 280px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy_img.svg");
	float: none;
}
.bk-img_blog {
  width: 100%;
  height: 100px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy_img.svg");
	float: none;
}
.bk-img_column {
  width: 100%;
  height: 100px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy_img.svg");
	float: none;
}
.bk-img ,.bk-img_event{
  width: 100%;
  height: 200px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy_img.svg");
	float: none;
}
.works_h3{margin: 2% 0;}
.works_h2{margin: 2% 0;font-weight: bold;font-size: 1.3em;}
.voice_h2{margin: 2% 0;font-weight: bold;font-size: 1.1em;}
.contents_w90per{width: 1000px; margin: 0 auto;}

/* flexbox フレックスボックス */
/* flexbox フレックスボックス */

#news {
    position: relative;
    box-sizing: border-box;
    width: 1000px;
    padding: 3em 0;
	margin:0 auto 5%;
	text-align:left;
    justify-content: flex-start;
    align-items: center;
	border-bottom: solid 1px #000000;
}

#news .news_ttl{width: 20%;}
#news .news_ttl02{width: 30%;}
.en_ttl,.en_ttl02,.en_ttl03{text-align: center;}
.en_ttl img{height: 150px;}
.en_ttl02 img{height: 50px;}
.en_ttl03 img{height: 70px;margin-bottom: -30px;}
h2.sub {
	font-size: 1.2em;
	color: #595857;
	text-align: center;
    line-height: 1.2;
	font-weight: 500;
}
/* NEWS お知らせ */
.newsbox ,.blogbox ,.columnbox{
    width: 100%;
    box-sizing: border-box;
    padding: 20px 0 20px 0px;
	margin: 0 auto;
	display: flex;
	flex-wrap:wrap;
}
.newsbox{margin-top: 2%;}
.blogbox dl ,.columnbox dl{
	display: flex;
	line-height: 1.4;
    margin-bottom: 1.5em;
	width: 48%;
	margin-right: 2%;
}
.newsbox dl{
	display: flex;
	line-height: 1.4;
    margin-bottom: 1.5em;
	width: 48%;
	margin-right: 2%;
}
.newsbox dl:last-child ,.blogbox dl:last-child ,.columnbox dl:last-child{
    margin-bottom: 0;
}
.newsbox dl dt ,.blogbox dl dt,.columnbox dl dt{
    width: 20%;
    flex-shrink: 0;
	margin-right: 2%;
}
.blogbox dl dd ,.columnbox dl dd {
    width: 78%;
    flex-shrink: 0;
}
.newsbox dl dd {
    width: 100%;
    flex-shrink: 0;
}
.newsbox a ,.blogbox a ,.blogbox a {
    color: #666666;
    transition: all 0.3s;
}
.newsbox a:hover {
    opacity: 0.7;
}

/* EVENT イベント */
#event {
    position: relative;
    width:100%;
    z-index: 500;
	margin-top: 5%;
}

.ev_box {
    box-sizing: border-box;
    border-bottom:1px solid #595857;
    border-left:1px solid #595857;
    width: 31%;
    padding: 25px 5px 40px 25px;
    line-height: 1.5;
    border-bottom-left-radius: 5px;
    margin-bottom: 1px;
	text-align: left;
}
.ev_box a {
    width: 100%;
    border-radius: 5px;
}
.ev_box h5 {
	font-size: 1em;
    margin: 5px 0;
}
.ev_box p {
    font-size: 0.84em;
    margin-top: 10px;
}

.ev_more a {
    display: block;
    background-color: #231714;
    color: #fff;
    line-height: 2.5em;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
    background-image: url("../img/arr_maru.png");
    background-repeat: no-repeat;
    background-position: right 0.5em center;
    background-size: 1em auto;
    transition: all 0.3s;
}
.ev_more a:hover {
    opacity: 0.7;
}

.swiper-button-prev,.swiper-button-next {
    position:relative;
	z-index:1100;
    top:calc(50% - 15px) !important;
	margin-top:0 !important;
    width: 15px !important;
    height: 50px !important;
    transition: opacity 0.5s;
}
.swiper-button-prev {
    left: -34px !important;
    background: url(../img/slide_left.png) no-repeat right center !important;
    background-size:contain !important;
}
.swiper-button-next {
    right: -34px !important;
    background: url(../img/slide_right.png) no-repeat left center !important;
	background-size:contain !important;
}
.swiper-button-prev:hover,.swiper-button-next:hover {
    opacity: 0.7;
}

.mincyou_h3{text-align: center;font-family:"Hiragino Mincho ProN", "serif";font-size: 1.2em;color: #595857;font-weight: normal;}

.ttl_mincyou_fd1{text-align: center;font-family:"Hiragino Mincho ProN", "serif";font-size: 2.0em;color: #595857;font-weight: normal;}


/* コンセプト */
.concept_bg{background-color: #edf5f7;
	}
.concept_adj{
    margin-top: 5em;
	padding: 5%;
}
.design_casa_bg{
	width: 1100px;
	margin: 0 auto;
	background: url("../img/design_casa_back.png") no-repeat top center !important;
	background-size:cover!important;
	padding-top: 5em;
	padding-bottom: 3em;
}
.casa_h2{font-size: 1.4em;margin: 10% 0 1%;}
.casa_h3{font-size: 1.0em;margin: 2% 0;}
.casa_more img{padding-top: 5%;}
.design_casa_box{
	width: 30%;background-color: #ffffff;
	text-align: left;
	padding:8% 5%;
	box-shadow: 10px 10px 5px rgb(0 0 0 / 50%);
}
/* WORKS 施工例 */
.works_bg{background: url("../img/works_bg_img.png") no-repeat center center !important;
	background-size:cover !important;}
.work_box {
    margin-bottom: 3em;
}
.work_box ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
	flex-wrap: wrap;
}
.work_box ul li {
    flex-shrink: 0;
    box-sizing: border-box;
    width: 324px;
    padding: 15px 11px 15px 25px;
    line-height: 1.5;
    margin-bottom: 1px;
}
.work_box img {
    width: 100%;
}

.work_box p {
	text-align: left;
    font-size: 1.0em;
    margin-top: 5px;
	color: #595857;
}
a .works:hover{opacity: 0.5;}

.mtb_5per{margin: 10% auto 5%;}

/* PLAN 3種類のプラン */
.f-left{float: left;}
.f-right{float: right;}

/* VOICE お客さまの声 */
#voice {
    position: relative;
    width:100%;
    z-index: 500;
    overflow: hidden;
	margin-bottom: 2em;
}
#voice .swiper-container1 {
	position:relative;
	width: 900px;
    margin-left: auto;
    margin-right: auto;
    overflow: visible;
}
#voice .swiper-slide {
	position:relative;
}
.vo_box {
    box-sizing: border-box;
    border-radius: 10px;
    overflow: hidden;
	background-color: #ffffff;
}
.vo_box img {
    width: 100%;
}
.vo_box p{padding: 0.5em 1.2em;}
.vo_box h3 {
    text-align: left;
    line-height: 1.7;
    padding: 1em 1.2em;
}

.vomore a {
    display: block;
    background-color: #202020;
    color: #fff;
    line-height: 3em;
    text-align: right;
    font-weight: bold;
    padding-right: 3em;
    background-image: url("../img/arr_maru.png");
    background-repeat: no-repeat;
    background-position: right 0.7em center;
    background-size: 1.5em auto;
    transition: all 0.3s;
}
.vomore a:hover {
    opacity: 0.7;
}
.voice_bg{background: url("../img/voice_bg_img.png") no-repeat center center !important;
	background-size:cover !important;}


.blog_box{border: solid 1px #000000;padding: 3%;border-radius: 10px;margin-bottom: 5em;}


h3.normal{font-weight: normal;font-size: 1.2em;color:#595857;}

.w29per{width: 29%;margin: 0 auto;}
.w68per{width: 68%;margin: 0 auto;}
.w29per img{width: 100%;}
.w68per h3{font-size: 1.4em;margin-bottom: 2%;text-align:left;font-weight: bold; }
.w68per p{}
.w68per h3,.w68per p{color:#595857;font-weight: normal;}


/* パンくずリストcss *************************************************************** */
.bg_breadcrumb{}
.breadcrumb {
width: 100%;
  padding: 0.2em 0em 0.4em;
  list-style: none;
  overflow: hidden;
  margin-left: 0;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: normal;/*太字*/
}
.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #828282;
}
.breadcrumb li:last-child:after {
  content: '';
}
.breadcrumb li a {
  text-decoration: none;
  color: #a8a8a8;
	font-size: 0.8em;
}
.breadcrumb li a:hover {text-decoration: underline;}
/* パンくずリストcss *************************************************************** */


/* 中ページ共通css *************************************************************** */
#headerimg {height: auto;}
.header_box{position:relative;width: 1000px;margin: 150px auto 0;}
.w48per_left{float: left;width: 48%;text-align: left;}
.header_box p{margin-top:20%;}
.header_box h2{font-size: 1.8em;}
.w48per_right{float: right;width: 48%;text-align: left;}
.w48per_right img{width: 100%;}

/* インスタ埋込css *************************************************************** */
.image_block img {
	max-width: 100%;
}
.image_block {
	width:calc(90% / 4 - 5px);
	margin:1%;
	display: inline-block;
}
.bk-img {
  width: 100%;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/no_image.svg");
}
.bk-video {
  width: 100%;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/no_image.svg");
}

@media screen and (max-width:560px) {
.image_block {
	width:calc(94% / 2 - 5px);
	margin:1%;
	display: inline-block;
}
.bk-img {
  width: 100%;
  height: 180px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/no_image.svg");
}
.bk-video {
  width: 100%;
  height: 180px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/no_image.svg");
}
	}

@media screen and (max-width: 560px) {
/* パンくずリストcss *************************************************************** */
.breadcrumb {
	width: 100%;}	
.breadcrumb li a {
  font-size: 0.6em;
}	
/* パンくずリストcss *************************************************************** */	
.spnone{display: none;}
.sponly{display: block;}
.top_logo{position: relative;width: 40%;top:45%;margin: 0 auto; }
.box-item02{width: 100%;display: inline-block;margin:0% 0 5%;height: auto;}
.box-item03{width: 48%;display: inline-block;margin:1% 0 2%;height: auto;}
.box-item03_menu{width: 100%;display: inline-block;margin:1% 0 0%;height: auto;}
.arrow{
  width: 100%;
  position: relative;
  display: inline-block;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 0.9em;
	padding: 0.7em 0 0.7em 1em;
}
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2%;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 0.6em;   /* arrow size */
  height: 0.6em;  /* arrow size */
  border-top: 1px solid #000000;  /* thickness, color */
  border-right: 1px solid #000000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.box-item03_works{width: 100%;display: inline-block;margin:1% 0 0;height:auto;}
.bk-img_works {
  width: 33%;
  height: 120px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy.svg");
  float: left;
}
.bk-img_column {
  width: 100%;
  height: 110px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy_img.svg");
	float: none;
}
.sp_works_right{width: 64%;float: right;}
.contents_w90per{width: 90%; margin: 0 auto;}

.design_casa_bg{
	width: 90%;
	margin: 0 auto;
	background: none !important;
	background-size:contain !important;
	padding-top: 3em;
	padding-bottom: 3em;
}
.design_casa_box{
	width: 80%;background-color: #ffffff;
	text-align: left;
	padding:15% 10%;
	box-shadow: 10px 10px 5px rgb(0 0 0 / 50%);
}
.f-left,.f-right{float: none;}
#news .news_ttl{width: 50%;margin-bottom: 2em;}
.en_ttl img{height: 60px;}
.en_ttl02 img{height: auto;width: 90%;margin: 1em auto;}
.mincyou_h3{text-align: center;font-family:"Hiragino Mincho ProN", "serif";font-size: 1.2em;color: #595857;font-weight: normal;}
.ttl_mincyou_fd1{text-align: center;font-family:"Hiragino Mincho ProN", "serif";font-size: 1.6em;color: #595857;font-weight: normal;}
.blog_box{border: none;padding: 0% 0% 3em;border-radius: 0px;margin-bottom: 2em;border-bottom:solid 1px #000000; }
.w29per,.w68per{width: 100%;margin: 0 auto;}
.w29per img{width: 100%;margin-bottom: 1em;}
#news {
    width: 100%;
    padding: 3em 5%;
	margin:0 auto 5%;
	text-align:left;
    display: block;
}
	#news .news_ttl02{width: 50%;}
.newstitle {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: 2em;
}
.newstitle h3 img {
    height: 2em;
    margin-bottom: 0;
}
.newstitle p {
    margin-left: 1em;
}
.newsbox ,.blogbox ,.columnbox{
    width: 100%;
    box-sizing: border-box;
    border-left: 0;
    padding: 0 1em;
    font-size: 0.92em;
}
.columnbox dl {
	 display: block;
    line-height: 1.7;
    margin-bottom: 1.5em;
	width: 44%;
	height: 250px;
    padding: 2%;
    background-color: #f3f3f3;
}
	.mt3per{margin-top: 5%}
.blogbox{margin-bottom: 5%;}
.newsbox dl{width: 100%;border-bottom: dotted 1px gray;padding-bottom: 1%;}
.newsbox dl {
    display: block;
    line-height: 1.7;
    margin-bottom: 1.5em;
}
.blogbox dl {
	width: 100%;
    display:flex;
    line-height: 1.7;
    margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: dotted 1px gray;
}
.newsbox dl:last-child ,.blogbox dl:last-child ,.columnbox dl:last-child {
    margin-bottom: 0;
}
.newsbox dl dt ,.columnbox dl dt {
    width: 100%;
}
.newsbox dl dd ,.columnbox dl dd {
    width: 100%;
}
.blogbox dl dt {
    width: 20%;
}
.blogbox dl dd {
    width: 70%;
}


.ev_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left:0;
    width: 100%;
    padding: 0 0 20px 0;
    border-bottom-left-radius: 0;
    margin-bottom: 20px;
	margin-top: 20px;
}
.swiper-slide:last-child .ev_box {
    margin-bottom: 0;
}

.bk-img_event{
  width: 35%;
  height: 150px;
background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image:url("../img/dummy_img.svg");
	float: left;
	margin-right: 5%;
}
	.ev_box img {
    width: 100%;
    border-radius: 5px;
}
.ev_tx {
    width: 60%;
	float: left;
}
.ev_box h5 {
    font-size: 0.84em;
    margin: 0 0 8px;
}
.ev_box p {
    font-size: 0.68em;
    margin-bottom: 10px;
}
.ev_more a {
    box-sizing: border-box;
    font-size: 0.84em;
    text-align: left;
    padding-left: 1em;
}



.swiper-button-prev,.swiper-button-next {
    display: none;
}

.comm_img {
    margin-top: -1em;
}
/* WORKS 施工例 */
.works_bg{background: none !important;
	background-size:cover !important;}
.work_box {
    margin-bottom: 3em;
	position: relative;
    overflow: hidden;
}
.work_box ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
	flex-wrap: wrap;
}
.work_box ul li {
    flex-shrink: 0;
    box-sizing: border-box;
    width: 48%;
    padding: 0px;
    line-height: 1.5;
    margin-bottom: 10px;
	
}
.work_box img {
    width: 100%;
}

.work_box p {
	text-align: left;
    font-size: 0.8em;
	height: 2.4em;
    margin-top: 2px;
	color: #595857;
}
a .works:hover{opacity: 0.5;}
	
#works {
    padding: 0em 0% 0em;
}
.wk_adj {
    margin-top: 0em;
}

.work_box {
    margin-bottom: 2em;
}

.work_box ul li:last-child {
    margin-bottom: 0;
}

/* VOICE お客さまの声 */
#voice .swiper-container1 {
	width: auto;
    margin-left: 10%;
    margin-right: 10%;
}
.vo_box {
	box-sizing: border-box;
    border-radius: 10px;
    overflow: hidden;
}
.vo_box img {
    width: 100%;
}
.vo_box p{padding: 0.5em 1em 0;}
.vo_box h3 {
    font-size: 0.84em;
    padding: 0.5em 1em 0;
	height: 4em;
}



.voice_bg{background: url("../img/voice_bg_img_sp.svg") no-repeat center center !important;
	background-size:cover !important;}

/* 中ページ共通css *************************************************************** */
#headerimg {height: auto;}
.header_box{position:relative;width: 90%;margin: 150px auto 0;}
.w48per_left{float: none;width: 100%;text-align: left;}
.header_box p{margin-top:20%;}
.header_box h2{font-size: 1.8em;}
.w48per_right{float: none;width: 100%;text-align: left;}
.w48per_right img{width: 100%;}

}