@charset "utf-8";
/*
Theme Name: Shimizusou Koumuten original.
Theme URI: 
Author: Saita Corp.
Author URI: http://takahashiad.com/
Description: Original Wordpress theme for Shimizusou Koumuten.
Version: 1.0.0
*/
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;700&display=swap');
@import url('style_contents.css');
/*
    font-family: 'Oswald', sans-serif;

    font-family: 'Zen Kaku Gothic New', sans-serif;

    font-family: 'Zen Old Mincho', serif;

font-family: 'Figtree', sans-serif;
*/
li {
  list-style: none;
}
img {
  border: 0;
  -webkit-backface-visibility: hidden;
}
a {
  color: #434343;
  outline: none;
  text-decoration: none;
}
h1, h2, h3, h4, p, ul, figure {
  margin: 0;
  padding: 0;
}
html {
  margin: 0;
  padding: 0;
}
.orik {
  display: inline-block;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
img {
  max-width: 100%;
  height: auto;
}
/*----------------loading------------------*/

/*--最初に出すカバー---*/

#white {
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  z-index: 1000000;
  position: fixed;
  left: 0;
  top: 0;
}

body {
  margin: 0;
  padding: 0;
  color: #333;
  line-height: 160%;
  font-family: 'Zen Kaku Gothic New', "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS UI Gothic, Osaka, sans-serif;
  font-size: 15px;
  overflow-x: hidden;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
	font-weight: 500;
}

.orik {
  display: inline-block;
}
/*----Ios初期化-----*/
input, textarea {
  box-sizing: border-box;
  -webkit-appearance: none;
  max-width: 100%;
}
/*----tel イベント-------------*/
a.tel {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}
@media screen and (max-width: 855px) {
  a.tel {
    pointer-events: auto;
  }
}



/*---------------------------------------------------------------------------
ヘッダー

1260pxで左の幅が　280→200へ
---------------------------------------------------------------------------*/
#header {
  	width: 100%;
	position: relative;
	padding: 40px 83px 0px 30px;
	box-sizing: border-box;
}

#header .left {
	position: absolute;
	top: 0;
	left: 0;
	width:280px;
	height: auto;
	text-align: center;
	padding-top: 40px;
}
#header .right {
  	width: 100%;
	float: right;
	padding: 0;
	box-sizing: border-box;
	text-align: right;
}

@media screen and (max-width: 1260px) {
	
#header .left {
	width:200px;
}	
}

@media screen and (max-width: 800px) {

#header {
	padding: 10px 20px 0px 20px;
}
	
#header .left {
	position: static;
	width: 100%;
}
}

/*--左--------------------*/
#header .left h1,
#header .left p.ttl {
  	font-size: 22px;
	font-weight: 500;
	margin: 0 0 50px 0;
	padding: 0;
	color: #986d35;
	letter-spacing: 2px;
	text-indent: -2px;
}

#header .left img {
	width: 118px;
	height: auto;
	margin-bottom: 10px;
}

#header .left p.tt {
  writing-mode: vertical-rl;
	text-align: left;
	font-size: 22px;
	line-height: 180%;
	display: inline-block;
}

@media screen and (max-width: 1260px) {

#header .left h1,
#header .left p.ttl {
  	font-size: 20px;
}
	
#header .left img {
	width: 100px;
	height: auto;
	margin-bottom: 10px;
}	
}

@media screen and (max-width: 800px) {
	
#header .left p.tt {
  writing-mode: horizontal-tb;
	margin-bottom: 30px;
}	
	
	#header .left p.tt.cont {display: none;}
}

@media screen and (max-width: 400px) {
	
#header .left p.tt {
font-size: 16px;
}	
}






/*--右はgmenu-------------------*/
@media screen and (max-width: 1250px) {


}

@media screen and (max-width: 1080px) {

}

@media screen and (max-width: 730px) {

}

@media screen and (max-width: 600px) {}
@media screen and (max-width: 500px) {}


/*------------------------------------------------------------------
フッタ
------------------------------------------------------------------*/

#footer {
  	width: 100%;
	position: relative;
	padding: 40px 30px 50px 30px;
	box-sizing: border-box;
}

#footer .left {
	width:280px;
	height: auto;
	text-align: center;
	float: left;
}
#footer .right {
  	width:calc(100% - 280px);
	float: right;
	padding: 0;
	box-sizing: border-box;
	text-align: right;
}

@media screen and (max-width: 1200px) {
	
#footer .left,
#footer .right {
	width:100%;
	float: none;
	text-align: center;
	clear: both;
}	
}

@media screen and (max-width: 1100px) {
	
#footer .right {	
	width: calc(100% - 250px);
	margin: 0 auto;
}
}

@media screen and (max-width: 1000px) {
	
#footer .right {width: calc(100% - 150px);}
}

@media screen and (max-width: 850px) {
	
#footer .right {width: 100%;}
}


#footer .right p.add {
	display: block;
	padding: 30px 0 10px 0;
}


#footer .right p.cpr {
	color: #909090;
}




@media screen and (max-width: 800px) {


}

/*--左--------------------*/
#footer .left h1,
#footer .left p.ttl {
  	font-size: 22px;
	font-weight: 500;
	margin: 0 0 50px 0;
	padding: 0;
	color: #986d35;
	letter-spacing: 2px;
	text-indent: -2px;
}

#footer .left img {
	width: 118px;
	height: auto;
	margin-bottom: 10px;
}

#footer .left p.tt {
  writing-mode: vertical-rl;
	text-align: left;
	font-size: 22px;
	line-height: 180%;
	display: inline-block;
}

@media screen and (max-width: 1260px) {

#footer .left h1,
#footer .left p.ttl {
  	font-size: 20px;
}
	
#footer .left img {
	width: 100px;
	height: auto;
	margin-bottom: 10px;
}	
}




@media screen and (max-width: 800px) {
	
#footer .left p.tt {
  writing-mode: horizontal-tb;
	margin-bottom: 30px;
}	
}

@media screen and (max-width: 400px) {
	
#footer .left p.tt {
font-size: 16px;
}	
}






#cpr {padding: 10px 50px;}
#cpr p {font-size: 13px;}

@media screen and (max-width: 1080px) {
	
#cpr {padding: 10px 20px;}	
}
@media screen and (max-width: 1280px) {
#cpr p {text-align: center;}
}

/*---------------------------------------------
グローバルメニュー　
---------------------------------------------*/

/*-------メインメニュー----------*/
#gmenu,
#fmenu{
	margin: 0;
	padding: 0;
	letter-spacing: -0.4em;
	box-sizing: border-box;
}

#fmenu {border-bottom: 2px solid #000;}

#gmenu p,
#fmenu p {
	display: inline-block;
 	letter-spacing: normal;
}
#gmenu p a,
#fmenu p a {
font-size: 15px;
text-decoration: none;
line-height: 16px;
display: block;
transition: 0.5s;
padding: 0px 20px;
font-weight: 500;
}

#gmenu p a:hover,
#fmenu p a:hover {
  color: #986d35;
}
#header #gmenu p a.current,
#fmenu p a.current {
  color: #986d35;
}
/*---フキダシ----*/

#header #gmenu p.telbl,
#fmenu p.telbl {
	margin: 0 5px;}
#header #gmenu p.telbl a,
#fmenu p.telbl a {
  position: relative;
  display: inline-block;
  margin: 0 0 1.5em 0;
  padding: 8px 0 0 0;
  width: 191px;
  color: #fff;
  font-size: 20px;
  background: #313131;
  border-radius: 5px;
	height: 48px;
	box-sizing: border-box;
	text-align: center;
}

#header #gmenu p.telbl a:before,
#fmenu p.telbl a:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #313131;
}

#header #gmenu p.telbl a img,
#fmenu p.telbl a img {
	width: 22px; 
	height: 22px; 
	margin-right: 5px;
	position: relative;
	top: 4px;
}

/*---フキダシ「お問合せ」----*/

#header #gmenu p.cont,
#fmenu p.cont{
	position: relative;
	top: -4px;
}

#header #gmenu p.cont a,
#fmenu p.cont a {
  position: relative;
  display: inline-block;
  margin: 0 0 1.5em 0;
  padding: 15px 0 0 0;
  width: 211px;
  color: #fff;
  font-size: 16px;
  background: #426585;
  border-radius: 5px;
	height: 48px;
	text-align: center;
	box-sizing: border-box;
	top: 4px;
}

#header #gmenu p.cont a:before,
#fmenu p.cont a:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #426585;
}

#header #gmenu p.cont a img,
#fmenu p.cont a img {width: 19px;height: 15px; margin-right: 5px;}

@media screen and (max-width: 1530px) {

#gmenu p a,
#fmenu p a {
padding: 0px 10px;
}

}

@media screen and (max-width: 1480px) {
	
#header #gmenu p.telbl a,
#fmenu p.telbl a {
  width: 170px;
}
	
#header #gmenu p.cont a,
#fmenu p.cont a {
  width: 190px;
}

}
@media screen and (max-width: 1400px) {
	#header #gmenu p a span.kk {display: none;}	
}

@media screen and (max-width: 1120px) {
	
#gmenu p a {
padding: 0px 10px;
	font-size: 15px;
}
	#header #gmenu p.mn {display: none;}
	
}

@media screen and (max-width: 1100px) {
	
#fmenu p.cont a:before,
#fmenu p.telbl a:before {
  content: none;
}		
	
#fmenu p a {
	padding: 20px 10px;
	}
}


@media screen and (max-width: 800px) {
	
#header #gmenu p.cont a:before,
#header #gmenu p.telbl a:before {
  content: none;
}	
	


#header #gmenu p.cont span {display: none;}

/*---フキダシ----*/

#gmenu {text-align: left;}
#gmenu p.telbl {
	margin: 0 5px 0 0;
	width: calc(100% - 70px - 60px) !important;
}
	
#gmenu p.telbl a {
  position: relative;
  display: block;
  margin: 0 0 1.5em 0;
  padding: 8px 0 0 15px !important;
  width: 100% !important;
  color: #fff;
  font-size: 20px;
  background: #313131;
  border-radius: 5px;
	height: 48px;
	box-sizing: border-box;
	text-align: left !important;
}

#gmenu p.cont a { width: 60px !important;}
#gmenu p.cont a img {margin: 0;}

}

@media screen and (max-width: 800px) {
	
	#fmenu {border-bottom: none;}
	#fmenu p.mn {width: 50%;}
	#fmenu p.mn:nth-child(5) {width: 100% !important; margin-bottom: 20px;}
	#fmenu p.mn a {
		border-bottom: 2px solid #000;
	}
	
	#fmenu p.cont,
	#fmenu p.telbl  {width: 50%; margin: 0;}
	#fmenu p.cont a,
	#fmenu p.telbl a  {width: 100%; margin: 0; border-radius: 0;}
}


@media screen and (max-width: 420px) {
	
#fmenu p.cont a,
	#fmenu p.telbl a {font-size: 12px;}
}

@media screen and (max-width: 360px) {
#header #gmenu p.telbl span {font-size: 14px;}
}


@media screen and (max-width: 320px) {
#header #gmenu p.telbl span {display: none;}
}



/*---------------------------------------------------------------------------
ハンバーガーメニュー
---------------------------------------------------------------------------*/
#nav-drawer {
}
@media screen and (max-width: 760px) {
  #nav-drawer {
    display: block;
  }

}
/*----------ハンバーガー-----------*/
/*Media Queries*/
#nav-drawer {
	position: fixed;
	top: 40px;
	right: 20px;
	z-index: 9999;
	width: 58px;
	height: 48px;
	background: #313131;
	border-radius: 5px;
	box-sizing: border-box;
}

@media screen and (max-width: 800px) {
	
#nav-drawer {
	top: 10px;
	right: 20px;
}
}



/*チェックボックス等は非表示に*/
#nav-drawer .nav-unshown {
  display: none;
}
/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 58px;
  height: 48px;
  vertical-align: middle;
  box-sizing: border-box;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  z-index: 2;
}
#nav-open span {
  display: block;
  transition: all .2s;
  box-sizing: border-box;
}
#nav-open span {
  position: absolute;
  right: 18px;
  width: 22px;
  height: 1px;
  background-color: #fff;
}
#nav-open span:nth-of-type(1) {
  top: 15px;
}
#nav-open span:nth-of-type(2) {
  top: 22px;
}
#nav-open span:nth-of-type(3) {
  top: 30px;
}
input[type=checkbox]#nav-input:checked ~ #nav-open {
  color: #fff;
}
input[type=checkbox]#nav-input:checked ~ #nav-open span {
  background-color: #fff;
}
input[type=checkbox]#nav-input:checked ~ #nav-open span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
  background-color: #fff;
}
input[type=checkbox]#nav-input:checked ~ #nav-open span:nth-of-type(2) {
  opacity: 0;
  background-color: #fff;
}
input[type=checkbox]#nav-input:checked ~ #nav-open span:nth-of-type(3) {
  -webkit-transform: translateY(-5px) rotate(45deg);
  transform: translateY(-5px) rotate(45deg);
  background-color: #fff;
}
input[type=checkbox]#nav-input:checked ~ #nav-open span {
  height: 2px;
}
/*閉じる用の薄黒カバー*/
#nav-close {
  display: none; /*はじめは隠しておく*/
  position: fixed;
  z-index: 0;
  top: 0; /*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999; /*最前面に*/
  width: calc(100% - 80px); /*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 500px; 
  height: 100vh;
  transition: 0.3s ease-in-out; /*滑らかに表示*/
  -webkit-transform: translateX(-105vw);
  transform: translateX(-105vw); /*左に隠しておく*/
  box-sizing: border-box;
  background-color: #fff;
  color: #000;
  padding: 40px;
	text-align: center;
}



#nav-content img.lg {
	width: 120px;
	height: auto;
	margin: 0 auto 30px auto;
	display: block;
}

#nav-content p {margin: 10px 0;}

#nav-content p a {
	font-size: 18px;
	padding: 10px;
	border-top: 2px solid #333;
	display: block;
}

#nav-content p.telbl a {
	background-color: #444;
	color: #fff;
}

#nav-content p.cont a {
	background-color: #426585;
	color: #fff;
}
#nav-content p.telbl a img {width: 20px; height: auto;}
#nav-content p.cont a img {width: 20px; height: auto;}

/*チェックが入ったらもろもろ表示*/
input[type=checkbox]#nav-input:checked ~ #nav-close {
  display: block; /*カバーを表示*/
}
input[type=checkbox]#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
@media screen and (max-width: 400px) {
input[type=checkbox]#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}



/*------PC版ハンバーガーの中身----------*/




/*------------------------------------------------------------------
トップページ
-------------------------------------------------------------------*/

#mainv {
	width: calc(100% - 280px);
	margin: 0 0 0 280px;
	position: relative;
}



#mainv .swiper-container {
	width: 100%;
	height: calc(100vh - 120px);
	position: relative;
	z-index: 0;
}

#mainv .swiper-wrapper,
#mainv .swiper-slide {
	width: 100%;
	height: 100%;
}

#mainv p.big {
	font-family: 'Figtree', sans-serif;
	font-size: 130px;
	color: rgba(0,0,0,0.6);
	position: absolute;
	bottom: -17px;
	left: -240px;
	line-height: 100%;
	z-index: 1;
}

#mainv p.num {
	font-family: 'Oswald', sans-serif;
	font-size: 130px;
	color: #fff;
	position: absolute;
	bottom: -8px;
	right: 20px;
	line-height: 100%;
	z-index: 1;
	font-weight: 300;
}


@media screen and (max-width: 1260px) {
	
#mainv {
	width: calc(100% - 200px);
	margin: 0 0 0 200px;
}	
	
#mainv p.big {
	font-size: 90px;
	bottom: -11px;
	left: -180px;
}
}


@media screen and (max-width: 800px) {
	
#mainv {
	width: 100%;
	margin: 0;
}	
	
#mainv p.big {
	font-size: 90px;
	bottom: -11px;
	left: 20px;
}
}

@media screen and (max-width: 600px) {
	
#mainv .swiper-container {
	height: 60vh;
}
	
#mainv p.big {
	font-size: 60px;
	bottom: -8px;
}
	
#mainv p.num {
	font-size: 100px;
	bottom: -8px;
}
}

@media screen and (max-width: 400px) {
	
#mainv .swiper-container {
	height: 50vh;
}
	
#mainv p.big {
	font-size: 50px;
	bottom: -6px;
}
}



/*------------------------------------------------------------*/

#kotomono {
	max-width: 1282px;
	margin: 0 auto;
	padding: 50px 50px;
	position: relative;
}

#kotomono p {
	font-size: 18px;
	line-height: 190%;
}

#kotomono img {
	width: 268px;
	max-width: 60%;
	height: auto;
	position: absolute;
	right: 30px;
	top: 30px;
	z-index: 3;
}

@media screen and (max-width: 800px) {

#kotomono {
	padding: 50px 30px;
}
	
#kotomono img {
	width: 268px;
	max-width: 50%;
	height: auto;
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 3;
}	
}



/*---------------2段目-------------*/
.news{
box-sizing: border-box;
padding: 50px 0px 50px 40px;
	position: relative;
	background-color: #e3e3e3;
	z-index: 1;
}

/*---段組み----*/

.news .tax {
	position: absolute;
	top: 0;
	left: 0;
	width: 360px;
	padding: 30px 40px 50px 50px;
	height: 100%;
	z-index: 100;
	background-color: #e3e3e3;
	box-sizing: border-box;
}

.news .tax p.ttl {
	font-size: 41px;
	margin: 100px 0 50px 0;
}

.news .tax p a {
	border-bottom: 2px solid #000;
	padding: 0 0 5px 0;
	display: block;
	margin-bottom: 20px;
}

.news .archive {
	width: calc(100% - 360px - 90px - 5%);
	padding-left: 330px;
	z-index: 0;
}



.news .swiper-container {
        width: 100%;
        height: 100%;
    }

.news .swiper-wrapper {
	display: flex;
}

/*--それぞれの箱---*/

.news .swiper-slide {
    background: #fff;
	height: 380px;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.news .swiper-slide a {
	display: block;
}

/*---文字---*/
.news .swiper-slide .txt {
	padding: 20px;
}

/*--カテゴリ名--*/
.news .swiper-slide .txt p.tm {
	position: absolute;
	display: inline-block;
	background-color: #333;
	color: #fff;
	top: 0;
	right: 20px;
	padding: 3px 8px;
	border-radius: 0 0 5px 5px;
	font-size: 13px;
}

.news .swiper-slide .txt p.tm.info {background-color: #426585;}

.news .swiper-slide .txt p.dat {
	color: #888888;
	font-size: 15px;
	margin: 0 0 10px 0;
}

.news .swiper-slide .txt h3 {
	font-size: 17px;
	margin: 0 0 10px 0;
}

.news .swiper-slide .txt p.ex {
	font-size: 14px;
}

.news .swiper-slide figure {
	width: 100%;
	height: 14vw;
	max-height: 204px;
	overflow: hidden;
}

.news .swiper-slide figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media(max-width:1260px){
.news .swiper-slide figure {
	height: 25vw;
}
}


@media(max-width:750px){

.news{
padding: 40px 0px 100px 0px;
}
.news .tax {
  position: static;
	padding: 30px 30px 50px 30px;
	background-color: transparent;
	width: 100%;
}
	
.news .tax p.ttl {
	font-size: 34px;
	margin: 0px 0 50px 0;
}

	
.news .archive {
	padding: 0 50px;
	z-index: 0;
	box-sizing: border-box;
		width: 100%;
}
	
.news .swiper-slide figure {
	height: 30vw;
}
}

@media(max-width:650px){
	

.news{
padding: 40px 0px 50px 0px;
}
.news .real {
	padding: 30px 30px 50px 30px;
}	
	
.news .archive {
	padding: 0 30px;
}
	
.news .swiper-slide {
    background: #fff;
	height: 350px;
}
}


.news {
	display: block;
position: relative;
vertical-align: top;
}

.tax p.slash{
font-family:  'Roboto', sans-serif;
font-style: italic;
font-size: 17px;
font-weight: 500;
}

a.to{
display: block;
border-bottom: solid 1px black;
padding: 5px;
font-size: 14px;
box-sizing: border-box;
width: 100%;
margin: 20px 0px 0px;
max-width: 330px;
}

a.to:first-child{
margin-top: 40px;
}

a.to p{
display: flex;
padding-left: 0px;
}

a.to span{
font-family: 'Noto Sans JP', sans-serif;
margin-left: auto;
}



.news a{
overflow: hidden;
transition: 0.5s;
}

.news img{
transition: 0.5s;
vertical-align: bottom;
height: 100%;
width: 100%;
object-fit: cover;
aspect-ratio:290 / 360;
}

.news a:hover img{
opacity: 0.5;
transition: 0.5s;
transform: scale(1.2)
}

p.circle2{
opacity: 0;
transition: 0.5s;
border-radius: 50%;
width: 0px;
height: 0px;
border: solid 1px rgba(255,255,255,0.5);
text-align: center;
position: absolute;
z-index: 2;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}

p.circle2 span{
position: absolute;
font-size: 22px;
color: white;
font-family: 'Noto Sans JP', sans-serif;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
text-indent: -1em;
transition: 0.5s;
}


.news a:hover p.circle2{
opacity: 1;
transition: 0.5s;
border-radius: 50%;
width: 70px;
height: 70px;
border: solid 1px rgba(255,255,255,0.5);
text-align: center;
position: absolute;
z-index: 2;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}

.news a:hover p.circle2 span{
text-indent: 0em;
transition: 0.5s;
}






/*--タイトル部分---*/

.ttlarea {
	max-width: 1247px;
	width: 100%;
	margin: 0 auto;
	padding: 100px 30px 30px 30px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.ttlarea .left {
	width: 75px;
	float: left;
}

.ttlarea .right {
	width: calc(100% - 75px);
	float: right;
	letter-spacing: -0.4em;
}

.ttlarea img {
	width: 60px;
	height: auto;
}

.ttlarea p,
.ttlarea h4 {
	display: inline-block;
	vertical-align: bottom;
	letter-spacing: normal;
}

.ttlarea p {
	margin-right: 30px;
}

.ttlarea p span {
	display: block;
}

.ttlarea h4 {
	padding-top: 10px;
	font-weight: 500;
}

.ttlarea p span:nth-child(1) {
	font-size: 14px;
	color: #cfa56e;
	font-weight: 600;
	letter-spacing: 1px;
}

.ttlarea p span:nth-child(2) {
	font-size: 29px;
	font-weight: 600;
}

.ttlarea h4 {
	font-size: 19px;
}

@media screen and (max-width: 600px) {
	
.ttlarea {
	padding: 70px 30px 0px 30px;
	box-sizing: border-box;
}	

.ttlarea .left,
.ttlarea .right {
	width: 100%;
	float: none;
	text-align: center;
}

.ttlarea p {margin-right: 0px; margin-bottom: 15px;}	
}

/*-----サービス「私たちの仕事」----------------------------------*/

#serv {
	background-color: #f7f7f7;
}

#serv .inner {
	max-width: 1247px;
	width: 100%;
	margin: 0 auto;
	padding: 0px 30px 100px 30px;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}

#serv .inner .box {
	background-color: #fff;
	width: calc(33.33% - 30px);
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	padding: 10px 10px 40px 10px;
	box-sizing: border-box;
	border-radius: 10px;
	position: relative;
}

#serv .inner .box a {display: block;}


/*--箱の下のボタン---*/

#serv .inner .box p.btn {
	width: calc(100% - 40px);
	position: absolute;
	bottom: -15px;
	left: 20px;
	border-radius: 5px;
	background-color: #313131;
	padding: 15px 20px;
	box-sizing: border-box;
	color: #fff;
}

#serv .inner .box p.btn.grn {background-color: #426585;}
#serv .inner .box p.btn span {
	float: right;
}

#serv .inner .box p.btn a {
	display: block;
	color: #fff;
}

/*--箱の中----*/

#serv .inner .box figure {
	border-radius: 5px;
	overflow: hidden;
	width: 100%;
	height: 25vw;
	max-height: 225px;
}

#serv .inner .box a figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s;
}

#serv .inner .box a:hover figure img {
	transform: scale(1.1);
}

#serv .inner .box .txt {
	padding: 20px;
	font-size: 14px;
}


#serv .inner .box h3 {
	font-size: 18px;
	margin: 0 0 15px 0;
}
#serv .inner .box:first-child h3 {
	color: #426585;
}

#serv p.buy{
letter-spacing: -0.4em;
border-bottom: solid 1px black;
}

#serv p.buy span{
display: inline-block;
letter-spacing: normal;
width: 25%;
vertical-align: top;
text-align: center;
}





@media screen and (max-width: 900px) {
	
#serv .inner {
	flex-wrap: wrap;
}

	
#serv .inner .box {
	background-color: #fff;
	width: calc(50% - 20px);
}
	
#serv .inner .box:last-child {margin-top: 50px;}	
	
}
	

@media screen and (max-width: 600px) {
	
#serv .inner .box {
	background-color: #fff;
	width: 100%;
}
	
#serv .inner .box {margin-top: 50px;}	
	
}
	
	
	



/*----私たちの想い--------------------------------------------*/

#omoi {
	width: 100%;
}

#omoi .ttl {
	position: relative;
	padding: 0 0 70px 0;
}

#omoi .ttl img.bk {
	width: 100%;
	height: 100%;
	position: absolute;
	object-fit: cover;
	z-index: 0;
}

#omoi .ttl .fil {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	position: absolute;
	z-index: 0;
}

#omoi .ttlarea p span:nth-child(2) {
	color: #fff;
}


#omoi .inner {
	max-width: 1247px;
	width: 100%;
	margin: 0 auto;
	padding: 0px 30px 100px 30px;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}

#omoi .inner .box {
	width: 33.333%;
	border-left: 1px solid #333;
	padding: 30px;
	box-sizing: border-box;
}

#omoi .inner .box p {
	line-height: 220%;
}

#omoi .inner .box p.tl {
	font-size: 21px;
	margin: 0 0 10px 0;
}


@media screen and (max-width: 700px) {
	
#omoi .inner {
	margin: 0 auto;
	padding: 0px 0px 50px 0px;
	display: block;
}
	
	
#omoi .inner .box {
	width: calc(100% - 60px);
	border-left: none;
	border-bottom: 1px solid #333;
	padding: 30px 0;
	margin: 0 auto;
	box-sizing: border-box;
}
}

/*------きょうもあしたも-------------------------------------*/

#yt {
	width: 100%;
	position: relative;
}

#yt img {
	width: 100%;
	height: 100%;
	position: absolute;
	object-fit: cover;
	z-index: 0;
}

#yt .fil {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	position: absolute;
	z-index: 0;
}

#yt .inner {
	max-width: 1247px;
	width: 100%;
	margin: 0 auto;
	padding: 150px 30px;
	display: flex;
	align-items: center;
	text-align: left;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}

#yt .inner .left,
#yt .inner .right {
	color: #fff;
	line-height: 240%;
	font-size:16px; 
}

#yt .inner .left p {
	font-size: 29px;
	font-weight: 600;
	padding: 0 100px 0 30px;
}


@media screen and (max-width: 1000px) {

#yt .inner {
	width: 100%;
	margin: 0 auto;
	padding: 100px 30px;
	display: block;
}

#yt .inner .left,
#yt .inner .right {
	width: 100%;
	text-align: center;
}

#yt .inner .left p {
	font-size: 29px;
	font-weight: 600;
	padding: 0 0 30px 0;
}
}
@media screen and (max-width: 600px) {


#yt .inner .left,
#yt .inner .right {
	text-align: left;
	font-size:15px; 
	line-height: 200%;
}

#yt .inner .left p {
	font-size: 26px;
}
}



/*----注文住宅施工事例-----------------------------------------*/

#top_works {
	width: 100%;
	background-color: #f7f7f7;
	padding-bottom: 50px;
}

#top_works .inner {
	max-width: 1247px;
	width: 100%;
	margin: 0 auto;
	padding: 0px;
	align-items: center;
	text-align: left;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}


#top_works .inner .left {
	padding: 0 20px;
	width: 53%;
	float: left;
	box-sizing: border-box;
}

#top_works .inner .left p.mn {
	margin: 30px 0 0 0;
}

#top_works .inner .left p.mn a {
	padding: 5px 30px 5px 0px;
	border-bottom: 2px solid #000;
	font-size: 17px;
	font-weight: 600;
}


#top_works .inner .right {
	padding: 0;
	width: 47%;
	float: right;
	letter-spacing: -0.4em;
	box-sizing: border-box;
}

#top_works .inner .right .box {
	display: inline-block;
	width: calc(50% - 30px);
	vertical-align: top;
	margin: 0 15px 30px 15px;
	letter-spacing: normal;
}


#top_works .inner h3,
#top_works .inner p {
	font-size: 14px;
	font-weight: 500;
	padding: 10px;
}

/*---画像サイズ---*/

#top_works .inner .left figure {
	width: 100%;
	height: 30vw;
	max-height: 394px;
}


#top_works .inner .right figure {
	width: 100%;
	height: 15vw;
	max-height: 180px;
}

#top_works .inner .right figure img,
#top_works .inner .left figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 800px) {
	

#top_works .inner .left {
	width: 100%;
	float: none;
	margin: 30px 0;
}

#top_works .inner .right {
	width: 100%;
	float: none;
}	
	
/*---画像サイズ---*/

#top_works .inner .left figure {
	width: 100%;
	height: 60vw;
	max-height: 394px;
}


#top_works .inner .right figure {
	width: 100%;
	height: 30vw;
	max-height: 180px;
}
}


/*----------------------------------------------------------------------------
コンテンツ枠

1260　800
-----------------------------------------------------------------------------*/

#cframe {
float: right;
width: calc(100% - 280px);
	box-sizing: border-box;
	padding-bottom: 100px;
}

.clr {clear: both;}

@media screen and (max-width: 1260px) {

#cframe {
float: right;
width: calc(100% - 200px);
}

}


@media screen and (max-width: 800px) {

#cframe {
width: 100%;
float: none;
	padding: 0 0px 30px 0px;
}

}

/*----------------------------------------------------------------------------
スタッフブログ
-----------------------------------------------------------------------------*/

.blogacv {
	letter-spacing: -0.4em;
	padding: 80px 30px;
	position: relative;
	z-index: 999999;
}

.blogacv .box {
	display: inline-block;
	letter-spacing: normal;
	width: calc(33.333% - 40px);
	margin: 0 20px 50px 20px;
	vertical-align: top;
}

.blogacv .box a {display: block;}

.blogacv .box figure {
	width: 100%;
	height: 15vw;
	max-height: 230px;
}

.blogacv .box figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blogacv .box .txt {
	padding: 10px;
}

.blogacv .box h3 {
	font-size: 15px;
	margin: 0 0 5px 0;
}
.blogacv .box p.ex {
	margin: 0;
}

.blogacv .box p.gr {
	color: #666;
}

@media screen and (max-width: 800px) {
	
.blogacv .box {
	width: calc(50% - 40px);
	margin: 0 20px 50px 20px;
}	
	
.blogacv .box figure {
	height: 28vw;
}
}

@media screen and (max-width: 480px) {
	

.blogacv {
	letter-spacing: -0.4em;
	padding: 40px 30px;
}
	
.blogacv .box {
	width: 100%;
	margin: 0;
	border-bottom: 1px solid #333;
	padding: 20px 0;
}	
	
	
	
	.blogacv .box figure {
		float: right;
		width: 45%;
	}
	
	.blogacv .box .txt {
		float: left;
		width: 50%;
		box-sizing: border-box;
		padding: 0;
	}
}




.blogsingle {
	padding: 50px 40px;
}

/*---段組み---*/

.blogsingle .mainb {
	float: left;
	width: calc(100% - 280px -80px);
}

.blogsingle .side {
	width: 280px;
	float: right;
	position: relative;
	z-index: 999999;
}

@media screen and (max-width: 1100px) {
	

.blogsingle .mainb,
.blogsingle .side {
	width: 100%;
	float: none;
}	
}




/*---左側-----------*/

.blogsingle .mainb p.tm {
	color: #666;
	font-size: 15px;
	letter-spacing: 1px;
}

.blogsingle .mainb h1 {
	font-size: 26px;
	margin: 10px 0 30px 0;
}

/*---右側------*/

.blogsingle .side p.ttl {
	font-size: 17px;
	color: #cfa56e;
	margin: 0 0 30px 0;
}

.blogsingle .side .box {
	border-top: 2px solid #333;;
	padding: 20px 0;
}

.blogsingle .side .box img {
	width: 40%;
	height: 100px;
	object-fit: cover;
	float: left;
	margin: 0 20px 0 0;
	max-width: 100px;
}

/*---エディタ----*/

.edi figure {
	margin: 20px 0;
}

.edi {
	font-size: 17px;
	line-height: 200%;
}

/*----------------------------------------------------------------------------
お問合せ
-----------------------------------------------------------------------------*/
.contactf {
	padding: 100px 30px;
	margin: 0 auto;
	max-width: 900px;
	box-sizing: border-box;
}

.contactf h1 {
	text-align: center;
	font-size: 28px;
	color: #a77b41;
	margin: 0 0 30px 0;
}

.contactf p.cntxt {margin: 0 0 50px 0;}

.td{
margin-bottom: 30px;
}

/*----------------------------------------------------------------------------
会社概要
-----------------------------------------------------------------------------*/
.company {
	text-align: center;
}

.company .msg {
	max-width: 620px;
	display: inline-block;
	text-align: left;
	padding: 100px 30px;
}

.company .msg h1 {
	text-align: center;
	font-size: 28px;
	color: #a77b41;
	margin: 0 0 30px 0;
	line-height: 140%;
}

.company .msg p {
	line-height: 200%;
}

.company .msg .bname {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0 0 0;
}

.company .msg .bname img {
	width: 133px;
	height: 133px;
	border-radius: 50%;
	object-fit: cover;
	margin-right: 30px;
}


@media screen and (max-width: 500px) {
	
.company .msg .bname img {
	width: 100px;
	height: 100px;
	margin-right: 20px;
}	
}

/*--コンセプト---*/

.company .cp {
	width: 100%;
	position: relative;
	padding: 150px 30px;
	box-sizing: border-box;;
}
.company .cp img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.company .cp .fil {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 1;
}

.company .cp .inner {
	position: relative;
	z-index: 2;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	max-width: 1020px;
}

.company .cp .inner .box {
	padding: 0 50px;
	border-right: 1px solid #fff;
	width: 33.333%;
	text-align: left;
	color: #fff;
	box-sizing: border-box;
}
.company .cp .inner .box:last-child {border: none;}

.company .cp .inner .box p {
	text-align: left;
	font-size: 16px;
	letter-spacing: 1px;
	text-indent: -1px;
	line-height: 180%;
}

.company .cp .inner .box h3 {
	text-align: center;
	font-size: 29px;
	margin: 10px 0 20px 0;
}

.company .cp .inner .box p.eng {
	text-align: center;
	color: #cfa56e;
	font-size: 14px;
	letter-spacing: 1px;
	text-indent: -1px;
}

.company .company_ol {
	display: inline-flex;
	padding: 100px 30px 0 30px;
}

.company .company_ol p {
	font-family: 'Figtree', sans-serif;
	font-size: 31px;
	margin-right: 30px;
}

.company .company_ol .right {
	text-align: left;
}

.company .company_ol .right h1 {
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 10px 5px;
}

.company .company_ol .right table td {
	vertical-align: top;
	padding: 5px;
}

.company .company_ol .right table td:first-child {white-space: nowrap;}

.company .company_ol .right table td a.map {
	display: inline-block;
	background-color: #333;
	font-size: 14px;
	color: #fff;
	border-radius: 3px;
	padding: 0 5px;
}

@media screen and (max-width: 1260px) {
	
.company .cp {
	padding: 100px 30px;
}
.company .cp .inner .box {
	padding: 0 30px;
}	
}

@media screen and (max-width: 700px) {
	
.company .cp .inner {
	display: block;
}
	
.company .cp {
	padding: 30px 30px;
}

.company .cp .inner .box {
	width: 100%;
	max-width: 300px;
	border-right: none;
	border-bottom: 1px solid rgba(255,255,255,0.6);
	margin:30px auto;
	padding-bottom: 30px;
}
	
.company .company_ol {
	display: block;
	padding: 100px 30px 0 30px;
}
	
.company .company_ol .right h1 {
	margin: 0 0 30px 0px;
	text-align: center;
}
	
.company .company_ol p {
	margin: 0 0 30px 0;
}
}


/*----------------------------------------------------------------------------
土地を売りたい方
-----------------------------------------------------------------------------*/

.est {
	padding: 0 30px;
	position: relative;
}
.est h1 {
	font-size: 28px;
	color: #a77b41;
	margin: 80px 0 30px 0;
}

.est p {
	font-size: 16px;
	margin: 0;
	line-height: 200%;
}

.est p.nen {
	font-size: 294px;
	color: #f3e3cf;
	font-family: 'Oswald', sans-serif;
	position: absolute;
	top: -300px;
	right: 30px;
	z-index: 2000;
}

.est .img {
	margin: 30px 0 50px 0;
}

.est img.pc {}
.est img.sm {
	display: none;
}

@media screen and (max-width: 1200px) { 
	
.est p.nen {
	font-size:200px;
	top: -230px;
	right: 30px;
}	
}


@media screen and (max-width: 800px) { 

.est {padding: 0 30px !important;}
.est img.pc {display: none;}
.est img.sm {display: block;}
	
.est p.nen {
	font-size:200px;
	top: -320px;
	right: 30px;
}	
}

@media screen and (max-width: 600px) { 

.est p.nen {
	top: -620px;
}	
	
.est h1 {
	font-size: 24px;
	color: #a77b41;
	margin: 50px 0 30px 0;
	line-height: 180%;
}

.est p {
	font-size: 15px;
	margin: 0;
	line-height: 200%;
}
}

@media screen and (max-width: 520px) { 

.est p.nen {
	top: -500px;
	font-size: 130px;
}	
}


/*-----------------*/
.est .form {
	border: 1px solid #d6d6d6;
	border-radius: 10px;
	padding: 50px;
}

.est .form h2 {
	font-size: 23px;
	margin: 0 0 10px 0;
}

.est .form p {
	margin: 0 0 20px 0;
}


@media screen and (max-width: 600px) { 

.est .form {
	padding: 30px;
}
}

@media screen and (max-width: 520px) { 

.est .form {
	padding: 30px 0;
	border: none;
	border-top: 2px solid #333;
	border-radius: 0;
}

}





/*----------------------------------------------------------------------------
フォーム
-----------------------------------------------------------------------------*/
.tbl {margin: 0 0 10px 0;}


/*----------------------------------------------------------------------------
フォーム用のボタン・入力
-----------------------------------------------------------------------------*/
.a1 {
  padding: 10px;
  border: none;
	border: 1px solid #d6d6d6;
  font-size: 15px;
  font-family: 'Zen Kaku Gothic New', "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS UI Gothic, Osaka, sans-serif;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
	border-radius: 3px;
	margin: 3px 0 0 0;
}
.a2 {
  padding: 10px 20px;
  border: 1px solid #ccc;
  font-size: 15px;
  font-family: 'Zen Kaku Gothic New', "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS UI Gothic, Osaka, sans-serif;
  background: #f6f6f6;
  width: 50%;
  box-sizing: border-box;
}
.a3 {
  padding: 10px 20px;
  border: 1px solid #ccc;
  font-size: 15px;
  font-family: 'Zen Kaku Gothic New', "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS UI Gothic, Osaka, sans-serif;
  background: #f6f6f6;
  width: 30%;
  box-sizing: border-box;
}
.a1:focus, .a2:focus, .a3:focus {
  border-color: #426585;
  background-color: #ffffff;
  outline: none;
}
.sendb, .sendb:focus {
  padding: 8px 20px;
	display: block;
	margin: 20px auto 0px 0;
  background-color: #426585;
  color: #FFFFFF;
  font-size: 18px;
  border: none;
  -webkit-box-shadow: 0px 0px 3px #ccc;
  -moz-box-shadow: 0px 0px 3px #ccc;
  cursor: pointer;
  box-shadow: 0px 0px 3px #ccc;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
 font-family: 'Zen Kaku Gothic New', "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS UI Gothic, Osaka, sans-serif;
}
.sendb:hover {
  background-color: #B20000;
  cursor: pointer;
}
input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
}
input[type=checkbox] {
  position: relative;
  top: 25px;
  margin: 0;
  margin-left: 0;
  line-height: 0;
  width: 25px;
  height: 25px;
}

span.need {
  background-color: red;
  padding: 2px 6px;
  color: #ffffff;
  display: inline-block;
  font-size: 11px;
  line-height: 110%;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin-right: 5px;
  margin: 0 5px 0 0;
}
span.nin {
  background-color: #ccc;
  padding: 2px 6px;
  color: #ffffff;
  display: inline-block;
  font-size: 11px;
  line-height: 110%;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin-right: 5px;
  margin: 0 5px 0 0;
}

.wpcf7-response-output {
  border-color: #333;
}
.wpcf7-mail-sent-ok {
  border-color: #861214;
}














/*---------------------------------------------------------------------------
ページングのスタイル
---------------------------------------------------------------------------*/
.newer-older {
  margin: 30px auto 0px auto;
  width: 100%;
  z-index: 1;

	clear: both;
}
.newer-older p {
  margin: 0 0 10px 0 !important;
  padding: 0;
  line-height: 160%;
}

@media screen and (max-width: 550px) {}
/*----------------------------------------------------------------------------
ページングカスタマイズ
-----------------------------------------------------------------------------*/
nav.pagination {
  letter-spacing: normal;
  text-align: center;
  font-size: 16px;
  color: #000;
  margin: 30px auto;
}

.blw nav.pagination {text-align: left;}
nav.pagination h2 {
  display: none;
}
nav.pagination a {
  color: #000;
  margin: 0 10px;
  text-decoration: none;
}
nav.pagination span.page-numbers {
  background-color: #000;
  padding: 5px 10px;
  color: #ffffff;
  text-decoration: none;
}
nav.pagination span.dots {
  background: none;
  color: #000;
}
/*--nav.pagination span.page-numbers {background-color: #d6d6d6;}--*/
/*---------------------------------------------------------------------------
ページングのスタイル
---------------------------------------------------------------------------*/
.newer-older {
  margin: 30px auto 30px auto;
  letter-spacing: -0.4em;
	text-align: center;
  width: 100%;
  max-width: 1200px;
  font-size: 14px;
  font-weight: 500;
}
.newer-older p {
  margin: 0;
  padding: 0;
	width: 80px;
	display: inline-block;
	text-align: center;
}
.newer-older p.newer {
}
.newer-older p.older {
}

.newer-older p a {display: block; transition: 0.3s; letter-spacing: normal;}
.newer-older p a:hover {color: #f29c9f !important;}

.newer-older .maru {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #f8cdce;
	margin: 0;
	display: inline-block;
	position: relative;
	top: 8px;
}

@media screen and (max-width: 550px) {

}


/*---------------------------------------------------------------------------
施工事例詳細
---------------------------------------------------------------------------*/
#works {
max-width: 100%;
margin-bottom: 180px;
}

#works .clear{
clear: both;
}

#works .ttl{
position: relative;
width: calc(100% - 280px);
float: right;
	display: inline-block;
}



#works .ttl h1{
margin-top: 80px;
font-size: 25px;
margin-bottom: 40px;
	line-height: 160%;
	font-weight: 500;
}

#works .ttl img{
object-fit: cover;
max-width: 100%;
	padding-right: 30px;
	box-sizing: border-box;
}

#works .ttl p.big{
font-family: 'Figtree', sans-serif;
font-size: 48px;
font-weight: 700;
position: absolute;
bottom: 0px;
right: 40px;
}

#works .gallery{
letter-spacing: -0.4em;
margin-top: 50px;
	background-color: #f6f6f6;
}

#works .gallery .img{
object-fit: cover;
width: 25%;
height: 280px;
position: relative;
display: inline-block;
vertical-align: top;
overflow: hidden;
}

#works .img img{
position: absolute;
top: 0px;
left: 0px;
object-fit: cover;
width: 100%;
height: 100%;
transition: 0.5s;
}

#works .gallery .img:hover img{
transform: scale(1.2);
}

#works .case{
text-align: center;
margin-top: 90px;
max-width: 100%;
box-sizing: border-box;
padding: 0px 30px;
}

#works .casetxt{
display: inline-block;
text-align: left;
letter-spacing: -0.4em;
}

#works p.left{
display: inline-block;
vertical-align: top;
letter-spacing: normal;
font-family: 'Figtree', sans-serif;
font-size: 31px;
margin-right: 30px;
width: 85px;

}

#works .right{
display: inline-block;
vertical-align: top;
letter-spacing: normal;
margin-left: 30px;
width: calc(100% - 145px);
font-weight: 400;
}

#works .right p:first-child{
font-size: 17px;
font-weight: 600;
margin-bottom: 40px;
}

#works .right p:nth-child(2){
margin-bottom: 40px;
}

#works .right p:last-child{
border-bottom: dashed black 1px;
box-sizing: border-box;
padding: 0px 5px 2px;
margin-top: 70px;
display: inline-block;

}

#works .right p:last-child span{
margin-right: 10px;
}

#works p.colabo{
letter-spacing: -0.4em;
}

#works p.colabo span{
display: inline-block;
letter-spacing: normal;
vertical-align: top;
}

#works p.colabo span:first-child{
width: 150px;
}

#works p.colabo span:last-child{
width: calc(100% - 150px);
}

@media(max-width:1260px){
#works .ttl{
width: calc(100% - 200px);
}
}
@media(max-width:1050px){
#works .gallery .img{
height: 220px
}
}

@media(max-width:800px){
#works .ttl{
width: 100%;
}
#works .ttl p.title{
padding-left: 30px;
}
	
#works .ttl img{
	padding-right: 0px;
}	

#works .ttl p.big{
right: 26px;
	bottom: -30px;
}

#works .case{
margin-top: 50px;
}

#works .gallery .img{
height: 180px
}
#works .ttl h1 {
  margin-top: 60px;
  font-size: 25px;
  margin-bottom: 20px;
  line-height: 160%;
  margin-left: 30px;
}

}

@media(max-width:650px){
#works .gallery .img{
width: 33.33%
}
#works p.left{
font-size: 26px;
}


#works .right{
margin-left: 0px;
width: 100%;
margin-top: 20px;
}
#works .right p:first-child{
margin-bottom: 20px;
}
#works .right p:nth-child(2){
margin-bottom: 30px;
}
#works .right p:last-child{
margin-top: 40px;
float: right;
}
}

@media(max-width:550px){
#works .ttl p.big{
font-size: 22px;
bottom: -33px;
}
#works .ttl p.title {
  font-size: 20px;
  margin-bottom: 30px;
  margin-top: 40px;
}
}

@media(max-width:450px){
#works .gallery .img{
width: 50%;
height: 150px;
}
#works .ttl p.big{
font-size: 30px;
right: 20px;
}
#works .gallery{
margin-top: 40px;
}
#works .ttl p.title {
padding-left: 20px;
}
#works .case{
padding: 0px 30px;
}
#works .ttl img{
height: 250px;
}
#works .ttl h1{
font-size: 20px;
}
}

/*---------------------------------------------------------------------------
施工事例一覧
---------------------------------------------------------------------------*/

#list .contents{
letter-spacing: -0.4em;
margin: 130px auto 160px;
max-width: 1860px;
padding: 0px 30px;
box-sizing: border-box;
}

#list .box {
width: 33.33%;
letter-spacing: normal;
box-sizing: border-box;
padding: 0px 25px;
display: inline-block;
vertical-align: top;
margin-bottom: 80px;
position: relative;
}


#list .box:hover img{
transform: scale(1.2);
}

#list p.plus{
position: absolute;
top: 20px;
right: 20px;
font-size: 17px;
font-weight: 600;
color: black;
z-index: 9999;
}

#list .img{
overflow: hidden;
height: 350px;
position: relative;
}

#list .box img{
position: absolute;
height: 100%;
width: 100%;
top: 0px;
left: 0px;
object-fit: cover;
transition: 0.5s;
}

#list .txt{
box-sizing: border-box;
padding: 15px 10px;
}

#list p.title{
margin-bottom: 15px;
color: black;
}

#list .txt p:last-child{
color: #6b6b6b;
font-size: 14px;
}

@media(max-width:1260px){

#list .box .img {
  height: 300px;
}
}

@media(max-width:1050px){

#list .box  {
  padding: 15px 
}
}

@media(max-width:960px){
#list .contents{
margin: 100px auto 160px;
}
#list .box .img {
  height: 250px;
}
}

@media(max-width: 800px){
#list .contents{
padding: 0px 15px;
}

#list .box{
padding: 0px 15px;
margin-bottom: 50px;
}

#list p.plus{
right: 15px;
top: 15px;
}

#list p.title{
margin-bottom: 10px;
}

#list .box .img {
  height: 200px;
}
}

@media(max-width:650px){
#list .box .img {
  height: 160px;
}

#list .contents{
padding: 0px 10px;
}

#list .box{
padding: 0px 10px;
margin-bottom: 50px;
}

#list p.plus{
right: 10px;
top: 10px;
}

#list .contents {
  margin: 80px auto 120px;
}
}
@media(max-width:520px){

#list .contents {
  margin: 60px auto 100px;
}

#list .box{
width: 50%;
margin-bottom: 30px;
}
}

@media(max-width:430px){
#list .txt {
  box-sizing: border-box;
  padding: 10px 5px;
}
}
/*---------------------------------------------------------------------------
タクソノミー
---------------------------------------------------------------------------*/
#tax{
background-color: #eeeeee;
padding: 20px 0px 0px;
box-sizing: border-box;
}

#tax .cate{
background-color: white;
box-sizing: border-box;
padding: 20px 25px 0px 5px;
	max-width: 90%;
letter-spacing: -0.4em;
display: inline-block;
}

#tax .cate h3{
display: inline-block;
letter-spacing: normal;
margin-right: 40px;
	font-size: 15px;

}

#tax .cate .il {display: inline-block;}

#tax .cate p{
display: inline-block;
letter-spacing: normal;
padding: 20px 25px;
box-sizing: border-box;
}

#tax .ttl h1{
margin-top: 50px;
font-size: 25px;
margin-bottom: 40px;
	line-height: 160%;
	font-weight: 500;
}

@media(max-width:920px){
#tax .cate p {
  padding: 20px 15px;
}
#tax .cate h3{
margin-right: 60px;
}
}

@media(max-width:650px){
#tax .cate h3 {
  margin-right: 60px;
}
#tax .cate h3{
margin-right: 40px;
}
#tax .cate {
padding: 20px 15px 0px 20px;
}
#tax .cate p {
  padding: 20px 10px;
}
}


/*--------------------------------------------------------------------------
一覧トップ
---------------------------------------------------------------------------*/
#ttl{
position: relative;
width: calc(100% - 280px);
float: right;
height: 510px;
}

.mini{
height: 300px!important;
}

.mini p.no{
display: none;
}

#ttl .clear{
clear: both;
}

#ttl img{
width: 100%;
height: 100%;
position: absolute;
object-fit: cover;
top: 0;
left: 0;
z-index: 1;
}

#ttl .filter {
width: 100%;
height: 100%;
position: absolute;
background-color: black;
opacity: 45%;
top: 0;
left: 0;
z-index: 2;
}


#ttl p.rt{
position: absolute;
color: #6a6a6a;
font-family: 'Figtree', sans-serif;
font-size: 108px;
opacity: 34%;
top: 28px;
right: -20px;
z-index: 9999;
font-weight: 300;
}

#ttl .lu {
position: absolute;
bottom: 0px;
left: 0px;
z-index: 10;
	width: 100%;
}

#ttl .lu p.eng {
font-family: 'Figtree', sans-serif;
font-size: 48px;
color: white;
margin-bottom: 30px;
position: relative;
padding-left: 30px;
font-weight: 700;
}

#ttl .lu p.eng:before{
content: "";
width: 20px;
height: 40px;
background-color: #cfa56e;
position: absolute;
top: -8px;
left: -10px;
}

#ttl .txt{
	background-color: white;
	padding: 30px;
	max-width: 90%;
	min-width: 50%;
	display: inline-block;
	box-sizing: border-box;
}

#ttl .taxonomy h3,
#ttl .txt h3,
#ttl .txt p {
	font-weight: 500;
	font-size: 15px;
	display: inline-block;
}

#ttl .il {display: inline-block; padding-left: 10px;}

#ttl .txt h3 {margin-right: 43px;}

#ttl .txt p a{display: block; padding: 10px 20px;}
#ttl .txt p a.slc {border-bottom: 1px solid #cfa56e;}

@media(max-width:500px){
#ttl .il {padding-left: 0px;}
#ttl .txt p a{display: block; padding: 10px 0px;}	
	#ttl .txt p {margin-right: 20px;}
	#ttl .txt {padding-right: 0;}
}

@media(max-width:390px){
	#ttl .txt p {margin-right: 10px;}
	#ttl .txt {padding: 20px 0 20px 20px;}
}






@media(max-width:1260px){
#ttl{
position: relative;
width: calc(100% - 200px);
float: right;
height: 510px;
}
#ttl p.rt{
top: 18px;
font-size: 78px;
}
}


@media(max-width: 800px){
#ttl{
width: 100%;
margin-top: 10px;
	float: none;
}
}

@media(max-width:650px){

#ttl p.rt {
  top: 10px;
  font-size: 60px;
}

#ttl .lu p.eng{
font-size: 36px;
margin-bottom: 20px;
}
#ttl{
height: 380px;
}
}
@media(max-width:520px){
#ttl{
height: 320px;
}

#ttl p.rt {
  top: 5px;
  font-size: 48px;
}

#ttl .lu p.eng{
font-size: 32px;
}
}

@media(max-width:430px){
#ttl .lu p.eng {
  font-size: 28px;
  margin-bottom: 13px;
}
#ttl p.rt {
  top: 6px;
  font-size: 48px;
}
}





/*---------------------------------------------------------------------------
不動産情報
---------------------------------------------------------------------------*/

#estates {
float: right;
width: calc(100% - 280px);
}
.clear{
clear: both;
}

#estates .contents{
width: 100%;
position: relative;
}

#estates .shurui{
width: 130px;
margin-right: 40px;
float: left;
letter-spacing: normal;
background-color: #d9e0e6;
text-align: center;
box-sizing: border-box;
padding-top: 25px;
vertical-align: top;
margin-top: 60px;
}

#estates .shurui p.num{
font-size: 15px;
margin-bottom: 15px;
}

#estates .shurui p.kubun{
font-size: 20px;
margin-bottom: 20px;
}

#estates p.uri{
display: none;
}

#estates p.zumi {
color: white;
background-color: red;
box-sizing: border-box;
padding: 5px;
display: block;
}

#estates .table{
float: left;
letter-spacing: normal;
vertical-align: top;
width: calc(50% - 85px);
margin-top: 90px;
box-sizing: border-box;
padding-right: 50px;
}

#estates .img{
float: right;
letter-spacing: normal;
vertical-align: top;
width: calc(50% - 85px);
margin-top: 90px;
box-sizing: border-box;
padding-right: 40px;
}

#estates .table p:first-child{
font-size: 17px;
font-weight: 700;
letter-spacing: normal;
padding-bottom: 20px;
}

#estates .table p {
letter-spacing: -0.4em;
border-bottom: solid 1px black;
box-sizing: border-box;
padding: 10px 0px;
font-size: 15px;
}

#estates .table p span{
letter-spacing: normal;
display: inline-block;
padding: 5px;
box-sizing: border-box;
vertical-align: top;
}

#estates .table p span:first-child{
width: 110px;
}

#estates .table p span:last-child{
width: calc(100% - 110px);
}

#estates .gallary{
letter-spacing: -0.4em;
margin-top: 20px;
}

#estates .gallary a{
width: calc((100% - 40px)/3);
display: inline-block;
margin-right: 20px;
}

#estates .gallary a:nth-child(3n) {margin-right: 0;}

#estates .gallary a:last-child{
margin-right: none;
}

@media(max-width:1260px){
#estates {
  float: right;
  width: calc(100% - 200px);
}
}
@media(max-width:1050px){

#estates .table{
width:calc(100% - 170px);
padding-right: 40px;
float: right;
margin-top: 40px;
}

#estates .img{
width: calc(100% - 170px);
float: right;
margin-top: 40px;
}
#estates .img:after{
clear: both;
content: "";
}
}

@media(max-width:800px){
#estates {
width: 100%;
}
#estates .shurui{
float: none;
position: absolute;
top: -50px;
left: 30px;
margin: 0px;
z-index: 9999;
}

#estates .table{
width:100%;
padding: 0px 30px;
float: none;
margin-top: 40px;
}

#estates .img{
width: 100%;
float: none;
margin-top: 60px;
padding: 0px 30px;
}

}
@media(max-width:520px){
#estates .shurui{
padding-top: 20px;
top: -30px;
width: 100px;
}
#estates .shurui p.num {
  font-size: 13px;
  margin-bottom: 8px;
}
#estates .shurui p.kubun {
  font-size: 18px;
}
#estates .table{
margin-top: 20px;
}
#estates .img{
margin-top: 40px;
}
}
/*---------------------------------------------------------------------------
不動産一覧情報
---------------------------------------------------------------------------*/
#estate .contents{
float: right;
width: calc(100% - 280px);
margin: 80px 0px 175px;
}

#estate .soudan{
box-sizing: border-box;
padding: 0px 30px 50px;
}

#estate .soudan p:first-child{
font-size: 18px;
font-weight: 500;
color: #cfa56e;
margin-bottom: 15px;
}

#estate .table {
border-collapse: collapse;
border-spacing: 0px;
width: 93%;
border-bottom: 1px solid black;
box-sizing: border-box;
display: flex;
}

#estate .table1{
background-color: #eeeeee;
}

#estate .table a{
display: block;
}

#estate .table p{
letter-spacing: normal!important;
text-align: center;
box-sizing: border-box;
padding: 15px;
display: flex;
align-items: center;
justify-content: center;
}

#estate .table1 p{
letter-spacing: normal;
box-sizing: border-box;
background-color: transparent!important;
justify-content: center!important;
}


#estate .table p:last-child{
letter-spacing: -0.4em;
}

#estate .table p:last-child img{
display: inline-block;
vertical-align: top;
width: calc(120px - 10px);
height: 95px;
margin-left: 10px;
	object-fit: cover;
}

#estate .table p span.left{
width: calc(100% - 120px);
display: inline-block;
vertical-align: top;
letter-spacing: normal;
text-align: left;
}

#estate .table p:nth-child(1){
width: 9.7%;
}
#estate .table p:nth-child(2){
background-color: #d9e0e6;
width: 8.4%;
}
#estate .table p:nth-child(3){
width: 9.7%;
}
#estate .table p:nth-child(4){
width: 15.5%;
}
#estate .table p:nth-child(5){
width: 14.5%;
justify-content: right;
text-align: right;
}
#estate .table p:nth-child(6){
width: 42.2%;
}

#estate span.no{
display: none;
}

#estate span.nasi{
display: none;
}

#estate span.zumi{
color: white;
background-color: red;
display: inline-block;
border-radius: 3px;
padding: 0px 5px;
}

#estate span.smp{
display: none;
}

@media(max-width:1260px){
#estate .contents{
width: calc(100% - 200px);
}
#estate .table{
width: calc(100% - 30px);
box-sizing: border-box;
margin-right: 30px;
}
}
@media(max-width:1060px){
#estate .contents{
width: 100%;
}
#estate .table{
width: calc(100% - 60px);
margin-right: 30px;
margin-left: 30px;
}
}

@media(max-width:920px){
#estate span.smp{
display: inline-block;
width: 80px;
letter-spacing: normal;
vertical-align: top;

}
#estate span.smp2{
width: calc(100% - 80px);
display: inline-block;
letter-spacing: normal;
vertical-align: top;
}

#estate .table {
display: block;
border: solid 1px black;
margin-bottom: 30px;
}

#estate .table p{
display: block;
text-align: left;
letter-spacing: -0.4em!important;
border-bottom: solid 1px #6D6D6D;
}

#estate .table1{
display: none;
}


#estate .table p:nth-child(1){
width: 100%;
}

#estate .table p:nth-child(2){
width: 100%;
}
#estate .table p:nth-child(3){
width: 100%;
}
#estate .table p:nth-child(4){
width: 100%;
}
#estate .table p:nth-child(5){
width: 100%;
text-align: left;
}
#estate .table p:nth-child(6){
width: 100%;
border-bottom: none;
}
#estate .table p span.left {
  width: calc(100% - 200px);
}
}

@media(max-width:800px){
#estate .contents{
margin-top: 60px;
}
}
@media(max-width:500px){
#estate .contents{
margin-top: 40px;
}
#estate .soudan {
  padding: 0px 30px 30px;
}
#estate .table p span.left {
  width: calc(100% - 80px);
}
#estate .table p:last-child img {
  display: block;
  width: 100%;
  height: auto;
  margin-left: 0px;
  margin: 10px 0px;
}
}

/*---------------------------------------------------------------------------
お問合せ
---------------------------------------------------------------------------*/
img.arrow {
margin-left: 165px;
vertical-align: bottom;
}
#form{
float: right;
width: calc(100% - 40px);
border: solid 2px #eeeeee;
border-radius: 10px;
margin-right: 40px;
box-sizing: border-box;
padding: 60px;
}

#form .ttl{
margin-bottom: 20px;
}

#form .ttl p:first-child{
font-size: 23px;
font-weight: 500;
margin-bottom: 15px;
}
@media(max-width:1050px){
img.arrow {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 0px;
}
}

@media(max-width:800px){

#form {
  margin: 0px 30px;
  width: calc(100% - 60px);
  padding: 30px;

}
}




