/* ★★外部データ読み込み★★ */

/* テーマカラーの定義 */

:root{
    --thema-color01:#A6192E;
}

.color1 {
	color:var(--thema-color01);
	background-color: var(--thema-color01);
}

/* テキスト周りの設定 */

h1 {

}

h2 {
  	font-family: "Alexandria", sans-serif;
	font-size: 7rem;
	color: #595959;
  	font-weight: 200;
}

h3 {
	font-family: 'Noto Sans JP', sans-serif;
  	font-size: 3rem;
	font-weight: 500;
	line-height: 1.4;
	color: #000000;
	letter-spacing: 2px;
	vertical-align:middle;
	margin-bottom: 30px;
}

p {
	font-family: 'Noto Sans JP', sans-serif;
  	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.8;
	color: #595959;
	letter-spacing: 1px;
}

p.p01 {
  	font-family: "Alexandria", sans-serif;
  	font-weight: 300;
  	font-style: normal;
  	font-size: 1.4rem;
	color:var(--thema-color01);
	padding-left: 60px;
	position:relative;
}

p.p01:after{
  content:"";
  position: absolute;
  top:12px;
  left:0;
  width:50px;
  height: 1px;
  background:var(--thema-color01);
}

h3 + p {

}

@media screen and (max-width:1500px) {
	
h2 {
	font-size: 6rem;
}
	
}

@media screen and (max-width:1300px) {
	
h2 {
	font-size: 5rem;
}
	
h3 {
  	font-size: 2.5rem;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
	
p {
  	font-size: 1.4rem;
}

}

@media screen and (max-width:1150px) {
	
h2 {
	font-size: 4rem;
}
}

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

h2 {
	font-size: 3rem;
}
	
h3 {
  	font-size: 2rem;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
	
p {
  	font-size: 1.2rem;
}
	
p.p01 {
  	font-size: 1.2rem;
	padding-left: 40px;
}

p.p01:after{
  top:12px;
  width:30px;
}

}

@media screen and (max-width:768px) {
	
h2 {
	font-size: 2.7rem;
}
	
h3 {
  	font-size: 1.8rem;
	letter-spacing: 1px;
}
	
}

h3 .icon1 {
	display: inline-block;
	width: 25px;
	margin-right: 5px;
	vertical-align:middle;
}

.tab span{
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	color: #ffffff;
	background-color: #333333;
	padding: 5px 10px;
	margin-right: 10px;
	margin-bottom: 10px;
}

.tab2 li{
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2rem;
	color: #000;
	background-color: #E8E6DF;
	padding: 5px 10px;
	margin-right: 10px;
	margin-bottom: 10px;
	border-radius: 5px;
}



@media screen and (max-width:1300px) {
	
h3 .icon1 {
	width: 20px;
	margin-right: 5px;
}
	
.tab span{
	font-size: 1.2rem;
	padding: 3px 7px;
	margin-right: 5px;
	margin-bottom: 5px;
}
	
.tab2 li{
	padding: 3px 7px;
}
	
}

@media screen and (max-width:992px) {
	
h3 .icon1 {
	width: 18px;
	margin-right: 5px;
}
	
.tab span{
	font-size: 1rem;
	padding: 2px 3px;
	margin-right: 3px;
	margin-bottom: 3px;
}

.tab2 li{
	font-size: 1rem;
	padding: 2px 3px;
	border-radius: 3px;
	margin-right: 3px;
	margin-bottom: 3px;
}
	
}

.sec-title-area{
	width: 100%;
	display: block;
	margin-top: 196px;
	padding-right: 100px;
	padding-left: 100px;
}

@media screen and (max-width:1500px) {
	
.sec-title-area{
	padding-right: 50px;
	padding-left: 50px;
}
	
}

@media screen and (max-width:1300px) {
	
.sec-title-area{
	margin-top: 185px;
	padding-right: 20px;
	padding-left: 20px;
}
	
}

@media screen and (max-width:1100px) {
	
.sec-title-area{
	margin-top: 160px;
}
	
}

@media screen and (max-width:768px) {
	
.sec-title-area{
	margin-top: 170px;
}
	
}

.sec-title-area ul{
	display: block;
}
.sec-title-area ul li,
.sec-title-area ul li a,
.sec-title-area ul li a:link,
.sec-title-area ul li a:visited,
.sec-title-area ul li a:active,
.sec-title-area ul li a:hover{
  	font-family: "Alexandria", sans-serif;
  	font-weight: 300;
  	font-style: normal;
  	font-size: 1.4rem;
	color:var(--thema-color01);
	position:relative;
	display: inline-block;
}

.sec-title-area ul li:nth-child(2),
.sec-title-area ul li:nth-child(3),
.sec-title-area ul li:nth-child(4),
.sec-title-area ul li:nth-child(5){
	padding-left: 45px;
}

.sec-title-area ul li:nth-child(2):after,
.sec-title-area ul li:nth-child(3):after,
.sec-title-area ul li:nth-child(4):after,
.sec-title-area ul li:nth-child(5):after{
  content:"";
  position: absolute;
  top:12px;
  left:15px;
  width:15px;
  height: 1px;
  background:var(--thema-color01);
}

.sec-title-area .st-main{
	display: block;
	margin-top: 10px;
}

.sec-title-area .st-main h2{
	display: inline-block;
	padding-right: 50px;
	margin-right: 50px;
	line-height: 1;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #595959;
}

.sec-title-area .st-main div{
	display: inline-block;
}

.sec-title-area .st-main div p.m1{
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.8rem;
	font-weight: 500;
	color: #595959;
	line-height: 1;
}

.sec-title-area .st-main div p.m2{
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	color: #595959;
	line-height: 1;
	margin-top: 10px;
}

@media screen and (max-width:1300px) {
	
.sec-title-area .st-main h2{
	padding-right: 30px;
	margin-right: 30px;
}
	
.sec-title-area .st-main div p.m1{
	font-size: 2rem;
}

.sec-title-area .st-main div p.m2{
	font-size: 1.4rem;
	margin-top: 5px;
}
	
}

@media screen and (max-width:1150px) {
	
.sec-title-area .st-main div p.m1{
	font-size: 1.6rem;
}

.sec-title-area .st-main div p.m2{
	font-size: 1.2rem;
	margin-top: 2px;
}
	
}

@media screen and (max-width:768px) {
	
.sec-title-area ul li,
.sec-title-area ul li a,
.sec-title-area ul li a:link,
.sec-title-area ul li a:visited,
.sec-title-area ul li a:active,
.sec-title-area ul li a:hover{
  	font-size: 1.2rem;
}

.sec-title-area ul li:nth-child(2),
.sec-title-area ul li:nth-child(3),
.sec-title-area ul li:nth-child(4),
.sec-title-area ul li:nth-child(5){
	padding-left: 30px;
}

.sec-title-area ul li:nth-child(2):after,
.sec-title-area ul li:nth-child(3):after,
.sec-title-area ul li:nth-child(4):after,
.sec-title-area ul li:nth-child(5):after{
  top:8px;
  left:10px;
  width:10px;
}
	
.sec-title-area .st-main h2{
	display: block;
	padding-right: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	border-right-width: 0px;
	border-right-style: none;
	position:relative;
	padding-bottom: 10px;
}
	
.sec-title-area .st-main h2:before {
	position: absolute;
	content: '';
	width: 30px;
	height: 1px;
	bottom: 0px;
	left: 0px;
	background-color: #595959;
}
	
.sec-title-area .st-main div p.m1{
	font-size: 1.4rem;
}

.sec-title-area .st-main div p.m2{
	font-size: 1rem;
	margin-top: 5px;
}
	
}

.submenu0{
	display: block;
	width: 100%;
	margin-top: 80px;
	text-align: left;
}

.submenu{
	display: block;
	width: 100%;
	margin-top: 80px;
	text-align: right;
}

.submenu0 + .submenu{
	margin-top: 30px;
	padding-top: 30px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #E8E6DF;
}

.submenu0 span,
.submenu span{
	display: inline-block;
	margin-right: 40px;
	padding-right: 40px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #E8E6DF;
}
.submenu0 span:last-of-type,
.submenu span:last-of-type{
	margin-right: 0px;
	padding-right: 0px;
	border-right-width: 0px;
	border-right-style: none;
}
.submenu0 span a,
.submenu span a{
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	color: #595959;
	position:relative;
	padding-right: 30px;
}

/* 矢印設定 */
.submenu0 span a:after,
.submenu span a:after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/arrow-1.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}
.submenu0 span a:hover:after,
.submenu span a:hover:after {
  right: -10px;
	transition: .7s;
}

@media screen and (max-width:1400px) {
.submenu0,	
.submenu{
	margin-top: 50px;
}
.submenu0 span,
.submenu span{
	margin-right: 20px;
	padding-right: 20px;
}
.submenu0 span a,
.submenu span a{
	font-size: 1.4rem;
	padding-right: 20px;
}
	
/* 矢印設定 */
.submenu0 span a:after,
.submenu span a:after {
  width: 15px;
  height: 15px;
}
.submenu0 span a:hover:after,
.submenu span a:hover:after {
  right: -5px;
}
	
}

@media screen and (max-width:992px) {
.submenu0,
.submenu{
	margin-top: 30px;
}
	
.submenu0 + .submenu{
	margin-top: 20px;
	padding-top: 20px;
}
	
.submenu0 span,
.submenu span{
	margin-right: 20px;
	padding-right: 20px;
}
.submenu0 span a,
.submenu span a{
	font-size: 1.2rem;
	padding-right: 15px;
}
	
/* 矢印設定 */
.submenu0 span a:after,
.submenu span a:after {
  width: 12px;
  height: 12px;
}
	
}

@media screen and (max-width:768px) {
.submenu0,
.submenu{
	text-align: left;
}
.submenu0 span,
.submenu span{
	margin-right: 30px;
	padding-right: 0px;
	border-right-width: 0px;
	border-right-style: none;
}
	
}

/* テキスト以外の設定 */



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

	
}

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

	
}

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

	
}



/* エリア設定 */

.ts-back01{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #ffffff;
}

.ts-back02{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #F9F7F4;
}


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

.ts-back01{
	padding-top: 75px !important;
	padding-bottom: 75px !important;
}

.ts-back02{
	padding-top: 75px !important;
	padding-bottom: 75px !important;
}

}

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

.ts-back01{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.ts-back02{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

}

.sec-1100{
	width: 1100px;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

@media screen and (max-width:1200px) {
	
.sec-1100{
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
}
	
}

.sec-1300{
	width: 1300px;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

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

.sec-1300{
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
}

}

/* ボタン類 */

/* ボタン小 */
a.bt-r1,
a.bt-k1 {
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
	color: #ffffff;
	text-decoration: none;
	font-size: 1.4rem;
	letter-spacing: 1px;
	position: relative;
	text-align: center;
	vertical-align:middle;
	border-radius: 10px;
	padding: 15px 10px 15px 10px;
	line-height: 1;
	white-space: nowrap;
}

a.bt-r1 span.pc,
a.bt-k1 span.pc {
	display: inline-block;
}
	
a.bt-r1 span.sp,
a.bt-k1 span.sp {
	display: none;
}

/* ボタン大、矢印付き */
a.bt-r2,
a.bt-k2 {
	font-family: 'Noto Sans JP', sans-serif;
	display: inline-block;
	margin-right: auto;
	margin-left: auto;
	color: #ffffff;
	text-decoration: none;
	font-size: 2rem;
	letter-spacing: 1px;
	text-align: center;
	vertical-align:middle;
	border-radius: 10px;
	padding: 15px 80px 15px 40px;
	line-height: 1;
	white-space: nowrap;
	position: relative;
}

/* 赤いボタン */
a.bt-r1,
a.bt-r2 {
	background-color: var(--thema-color01);
}

/* 黒いボタン */
a.bt-k1,
a.bt-k2 {
	background-color: #333333;
}

a.bt-r1:hover,
a.bt-k1:hover,
a.bt-r2:hover,
a.bt-k2:hover {
	opacity: 0.7;
	transition: .7s;
}

a.bt-r2 .pc,
a.bt-k2 .pc{

}

a.bt-r2 .sp,
a.bt-k2 .sp{
	display: none;
}

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

/* ボタン大、矢印付き */
a.bt-r2,
a.bt-k2 {
	font-size: 1.6rem;
	border-radius: 5px;
	padding: 15px 75px 15px 30px;
}
	
/* 赤いボタン小 */
a.bt-r1,
a.bt-k1 {
	font-size: 1.1rem;
	border-radius: 5px;
	padding: 10px 3px;
	letter-spacing: 0px;
}
	
}

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

/* ボタン大、矢印付き */
a.bt-r2,
a.bt-k2 {
	font-size: 1.5rem;
	border-radius: 5px;
	padding: 10px 50px 10px 20px;
}
	
/* 赤いボタン小 */
a.bt-r1,
a.bt-k1 {
	font-size: 1.0rem;
	padding: 10px 2px;
}
	
a.bt-r1 span.pc,
a.bt-k1 span.pc {
	display: none;
}
	
a.bt-r1 span.sp,
a.bt-k1 span.sp {
	display: inline-block;
}
	
a.bt-r2 .pc,
a.bt-k2 .pc{
	display: none;
}

a.bt-r2 .sp,
a.bt-k2 .sp{
	display: inline-block;
}
	
}

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

/* 赤いボタン小 */
a.bt-r1,
a.bt-k1 {
	font-size: 0.9rem;
}
	
}

@media screen and (max-width:568px) {
	
a.bt-r2,
a.bt-k2 {
	font-size: 1.3rem;
	border-radius: 5px;
	padding: 10px 50px 10px 20px;
}
	
}

/* 矢印設定 */
a.bt-r2:after,
a.bt-k2:after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/arrow-2.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 40px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

a.bt-r2:hover:after,
a.bt-k2:hover:after {
  right: 30px;
	transition: .7s;
}

@media screen and (max-width:1300px) {
	
/* 矢印設定 */
a.bt-r2:after,
a.bt-k2:after {
  width: 22px;
  height: 22px;
  right: 30px;
}

a.bt-r2:hover:after,
a.bt-k2:hover:after {
  right: 25px;
	transition: .7s;
}
	
}

@media screen and (max-width:992px) {
	
a.bt-r2:after,
a.bt-k2:after {
  width: 18px;
  height: 18px;
  right: 15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

a.bt-r2:hover:after,
a.bt-k2:hover:after {
  right: 20px;
	transition: .7s;
}
	
}

/* 旧ボタン */
a.bt5 {
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
	margin-right: auto;
	margin-left: auto;
	padding: 10px 2px 12px;
	color: #ffffff;
	text-decoration: none;
	font-size: 1.8rem;
	letter-spacing: 1px;
	position: relative;
	width: 100%;
	background-color: #333333;
	text-align: center;
	border-radius: 10px;
}

a.bt5-r {
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
	margin-right: auto;
	margin-left: auto;
	padding: 12px 2px 14px;
	color: #ffffff;
	text-decoration: none;
	font-size: 1.8rem;
	letter-spacing: 1px;
	position: relative;
	width: 100%;
	background-color: var(--thema-color01);
	text-align: center;
	border-radius: 10px;
}

a.bt5:hover,
a.bt5-r:hover {
	opacity: 0.7;
	transition: .7s;
}

a.bt5::after,
a.bt5-r::after{
	position: absolute;
	top: 43%;
	margin-left: 20px;
	content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

a.bt5 sup,
a.bt5-r sup{
vertical-align: baseline;
position: relative;
bottom: -1px;
}


@media screen and (max-width:768px) {
	
a.bt5 {
	margin-bottom: 10px;
}
	
a.bt5,
a.bt5-r {
	padding: 12px 2px 14px;
	font-size: 1.4rem;
	letter-spacing: 0px;
	border-radius: 10px;
}
	
}

.top-btnbox {
	width: 100%;
	text-align: center;
}

.linkbox {
  position: relative;
    z-index: 1; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.linkbox a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.linkbox:hover {
    filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
}

.linkbox p {
	margin-top: 5px;
}

/* お知らせ */

.top-news-w{
	width: 100%;
}

.top-news-w iframe{
	width: 100%;
}

.top-news-w .top-btnbox{
	margin-top: 80px;
}

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

.top-news-w iframe{

}
	
.top-news-w .top-btnbox{
	margin-top: 50px;
}

}

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

.top-news-w iframe{

}
	
.top-news-w .top-btnbox{
	margin-top: 30px;
}

}

/* モデルハウス */



/* 建築実例 */

#example{

}

#example h3{
	margin-bottom: 20px;
}

#example a.w-content{
	display: block;
	width: 100%;
	position:relative;
}

#example a.w-content:after {
  content: "";
  width: 35px;
  height: 35px;
  background: url(../img/arrow-1.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
	bottom: 10px;
}

#example .work-cat a.w-content:after {
	bottom: 0px;
}

#example a.w-content:hover:after {
  right: 10px;
	transition: .7s;
}

#example .w-new{
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
	font-weight: 700;
	color: #ffffff;
	background-color: #ca0000;
	text-align: center;
	vertical-align: top;
	padding-top: 5px;
	padding-right: 7px;
	padding-left: 7px;
	padding-bottom: 5px;
    z-index: 2;
}

#example .w-movie{
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
	font-weight: 700;
	color: #ffffff;
	background-color: #75be00;
	text-align: center;
	vertical-align: top;
	padding-top: 5px;
	padding-right: 7px;
	padding-left: 7px;
	padding-bottom: 5px;
    z-index: 2;
}

@media screen and (max-width:992px) {
	
#example .w-new,
#example .w-movie{
	font-size: 10px;
	padding-top: 2px;
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 2px;
}
	
}

#example .w-img{
	width: 100%;
}

#example .work-cat .w-img{
	margin-bottom: 20px;
}

#example .w-img img{
	border-radius: 15px;
}

#example .w-logo{
	width: auto;
	height: 18px;
	margin-top: 25px;
	margin-bottom: 10px;
}

#example .w-logo img{
	width: auto;
	height: 100%;
}

#example .w-logo-non{
	width: auto;
	height: 18px;
	margin-top: 25px;
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', sans-serif;
  	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	color: #000;
	letter-spacing: 1px;
}

/* リンク部分をマウスオーバーで画像を薄く */
#example a:hover img {
    opacity:0.7;
	transition: .7s;
}

#example .w-title {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 1.8rem;
	line-height: 1.7;
	width: 90%;
  display: inline;
  background-image: linear-gradient(90deg, #333, #333); /* 線の色 */
  background-position: left bottom; /* 線の起点を左・下に設定 */
  background-repeat: no-repeat;
  background-size: 100% 2px; /* 線の横幅を100%にする */
  padding-bottom: 2px; /* 下線を下にズラす */
  transition: background-size .6s; /* 変形をアニメーション化 */
}

#example a:hover .w-title {
  background-size: 0 2px; /* 線の横幅を0、縦幅を2pxに */
}

#example .tab2 {
	margin-top: 20px;
}

#example .top-btnbox {
	margin-top: 30px;
}

#example .flex-w{
	margin-top: 30px;
}

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

#example a.w-content:after {
  width: 25px;
  height: 25px;
	top: 10px;
	right: 10px;
	bottom: auto;
}
	
#example a.w-content:hover:after {
  right: 20px;
}
	
#example .w-img img{
	border-radius: 10px;
}
	
#example .w-title {
	font-size: 1.8rem;
	margin-top: 10px;
	width: 100%;
}
	
#example .top-btnbox {
	margin-top: 0px;
}

}

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

#example a.w-content:after {
  width: 20px;
  height: 20px;
	top: 5px;
	bottom: auto;
	right: 5px;
}
	
#example a.w-content:hover:after {
  right: 10px;
}
	
#example .w-img img{
	border-radius: 5px;
}
	
#example .w-logo{
	height: 13px;
	margin-top: 15px;
}
	
#example .w-title {
	font-size: 1.4rem;
	margin-top: 5px;
  background-size: 100% 1px; /* 線の横幅を100%にする */
}
	
#example a:hover .w-title {
  background-size: 0 1px; /* 線の横幅を0、縦幅を2pxに */
}
	
#example .tab2 {
	margin-top: 15px;
}
	
#example .top-btnbox {
	margin-top: 20px;
}

}

/* 宅地・分譲情報 */


/* 土地を探すページ */

#takuchibunjo .map {
	width: 100%;
	height: auto;
	margin-top: 100px;
	margin-bottom: 50px;
}

@media screen and (max-width:768px) {
	
#takuchibunjo .map {
	margin-top: 50px;
	margin-bottom: 30px;
}
	
}

.sp-setsu {
	display: none;
}

.takuchi-table1,
.takuchi-table2 {
  position: relative;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.takuchi-table1 table,
.takuchi-table2 table {
  text-align: left;
  width: 100%
}

.takuchi-table1 table thead {
  background: #eae8e2
}

.takuchi-table1 table tr th {
  position: relative;
  padding: 20px 20px;
  font-weight: 400;
  font-size: 1.5rem;
}

.takuchi-table2 table tr td {
  position: relative;
  padding: 20px 20px 10px 20px;
  font-weight: 300;
  font-size: 1.5rem;
}

.takuchi-table1 table tr th:nth-child(1),
.takuchi-table2 table tr td:nth-child(1){
  width: 22%;
}

.takuchi-table2 table tr td:nth-child(1) span.annai{
	display: none;
}

.takuchi-table2 table tr th:nth-child(2),
.takuchi-table2 table tr td:nth-child(2){
  width: 22%;
}

.takuchi-table2 table tr td:nth-child(2) span{
	display: none;
}

.takuchi-table1 table tr th:nth-child(3),
.takuchi-table2 table tr td:nth-child(3){
  width: 36%;
}
	
.takuchi-table1 table tr th:nth-child(4),
.takuchi-table2 table tr td:nth-child(4){
  width: 20%;
}

.takuchi-table2 table tr td.table-detail {
  width: 100%;
  border-bottom: 1px solid #c1bab3;
  padding: 10px 20px 20px 20px;
}

.takuchi-table2 table tr td.table-detail span {
	display: block;
  width: 100%;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  background: #f2f1ef;
	padding: 5px;
}

.takuchi-table2 a {
  position: absolute;
	top: 0px;
	bottom: 0px;
	right: 0px;
	left: 0px;
}

.takuchi-table2 a:hover {
  background: rgba(255, 255, 255, 0.6)
}

.takuchi-table2 + .top-btnbox {
	margin-top: 100px;
}

@media screen and (max-width:992px) {
	
.takuchi-table1 table tr th {
  padding: 10px;
  font-size: 1.2rem;
}
	
.takuchi-table2 table tr td {
  position: relative;
  padding: 10px 10px 5px 10px;
  font-size: 1.2rem;
}
	
.takuchi-table2 table tr td.table-detail {
  padding: 5px 10px 10px 10px;
}

.takuchi-table2 table tr td.table-detail span {
  font-size: 1.2rem;
	padding: 5px;
}
	
.takuchi-table2 + .top-btnbox {
	margin-top: 50px;
}
	
}

@media screen and (max-width:768px) {
	
.sp-setsu {
	display: block;
	margin-bottom: 20px;
}
	
.takuchi-table1 table,
.takuchi-table1 table thead {
	display: none;
}

.takuchi-table1 table tr th {
	display: none;
}
	
.takuchi-table2 {
  border-top: 1px solid #c1bab3;
}
	
.takuchi-table2 + .takuchi-table2 {
  border-top: 0px none #c1bab3;
}
	
.takuchi-table2 table tr td {
	display: block;
  width: 100%;
  padding: 10px 10px 0 10px;
}
	
.takuchi-table2 table tr td:nth-child(1){
  background: #f2f1ef;
	display: block;
  width: 100%;
  padding: 10px 10px 10px 10px;
}
	
.takuchi-table2 table tr td:nth-child(1) span.annai{
	display: inline-block;
}
	
.takuchi-table2 table tr td:nth-child(1) span.annai::after{
	position: absolute;
	top: 43%;
	margin-left: 10px;
	content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #595959;
    border-right: 2px solid #595959;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
	
.takuchi-table2 table tr td:nth-child(2){
  width: 100%;
}
	
.takuchi-table2 table tr td:nth-child(2) span{
	display: inline-block;
}
	
.takuchi-table2 table tr td:nth-child(3){
  width: 100%;
  padding: 5px 10px 0 10px;
}
	
.takuchi-table2 table tr td:nth-child(4){
  width: 100%;
  padding: 5px 10px 0 10px;
}
	
.takuchi-table2 table tr td.table-detail {
  width: 100%;
  border-bottom: 1px solid #c1bab3;
  padding: 5px 10px 10px 10px;
  background: #ffffff;
}
	
.takuchi-table2 table tr td.table-detail span {
  width: 100%;
  font-size: 1.2rem;
	line-height: 1.2;
  background: #ffffff;
	padding: 0;
}
	
	
}

/* テクノロジー */

#technology .flex-47 {
	margin-top: 40px;
}

#technology .flex-47:nth-child(-n+2) {
	margin-top: 0px;
}

/* 医療建築 */

#doctor {

}

#doctor iframe {
	width: 100%;
}

#doctor p + .flex-w {
	margin-top: 50px;
}

#doctor img + p {
	margin-top: 20px;
}


#doctor a.blog_list {

}

#doctor a.blog_list:hover {
	transition: .7s;
    opacity:0.7;
}

#doctor .top-btnbox {
	margin-top: 50px;
}

@media screen and (max-width:992px) {
	
#doctor .top-btnbox {
	margin-top: 20px;
}

}




/* 動画 */



/* 404 */
.page404-txt {
	margin-top: 0px;
}

.page404-txt .top-btnbox {
	margin-top: 50px;
}

.page404-txt + .page404-txt {
	margin-top: 100px;
}

@media screen and (max-width:992px) {
	
.page404-txt .top-btnbox {
	margin-top: 20px;
}
	
.page404-txt + .page404-txt {
	margin-top: 50px;
}

}

/* flexの設定ここから */
.flex-w{
	width: 100%;
	font-size: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}

/*5つ並ぶ、空きあり*/
.flex-18{
	flex: 0 0 18%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px;
	margin-right: 2.5%;
	vertical-align:top;
}

/*4つ並ぶ、空きあり*/
.flex-23{
	flex: 0 0 23.5%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px;
	margin-right: 2%;
	vertical-align:top;
}

/*3つ並ぶ、空きあり*/
.flex-30{
	flex: 0 0 30%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px;
	margin-right: 5%;
	vertical-align:top;
}

/*2つ並ぶ、空きあり*/
.flex-47{
	flex: 0 0 47%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px;
	margin-right: 6%;
	vertical-align:top;
}

/*2つ並ぶ、空きあり*/
.flex-49{
	flex: 0 0 49%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px;
	margin-right: 2%;
	vertical-align:top;
}

/*30と組み合わせ用*/
.flex-65{
	flex: 0 0 65%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px;
	margin-right: 5%;
	vertical-align:top;
}

/* 特殊設定 */
.top-event-w .flex-30{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CBCBCB;
	margin-top: 0px;
	margin-bottom: 80px;
	padding-bottom: 80px;
}

#example .flex-30{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CBCBCB;
	margin-top: 0px;
	margin-bottom: 50px;
	padding-bottom: 30px;
}

/* 隙間調節 */
/* 最前列はtopマージン消す */
.flex-18:nth-child(-n+5),
.flex-23:nth-child(-n+4),
.flex-30:nth-child(-n+3),
.flex-47:nth-child(-n+2),
.flex-49:nth-child(-n+2){
	margin-top: 0;
}

/* 一番右でrightマージンを消す */
.flex-18:nth-child(5n),
.flex-23:nth-child(4n),
.flex-30:nth-child(3n),
.flex-47:nth-child(2n),
.flex-49:nth-child(2n){
	margin-right: 0;
}

.flex-30 + .flex-65{
	margin-right: 0;
}

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

.top-event-w .flex-30{
	margin-bottom: 50px;
	padding-bottom: 50px;
}
	
.top-works-w .flex-30{
	margin-bottom: 50px;
	padding-bottom: 50px;
}

}

/* スマホで割合変更 */
@media(max-width:820px) {

.flex-w .spf-32 {
	flex: 0 0 32%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px !important;
	margin-right: 2% !important;
}
	
.flex-w .spf-49 {
	flex: 0 0 49%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px !important;
	margin-right: 2% !important;
}
	
.flex-w .spf-100 {
	flex: 0 0 100%;
	padding: 0 0 0 0;
	margin-bottom: 0;
	position:relative;
	margin-top: 20px !important;
}
	
.top-event-w .flex-w .spf-49 {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CBCBCB;
	margin-top: 0px;
	margin-bottom: 10px;
	padding-bottom: 30px;
}
	
.top-event-w .flex-w .spf-100 {
	margin-top: 10px !important;
}
	
.top-works-w .spf-49{
	margin-bottom: 10px;
	padding-bottom: 30px;
}
	
#example .spf-49{
	margin-bottom: 10px;
	padding-bottom: 30px;
}
	
.flex-w .spf-100:nth-child(-n+1),
.flex-w .spf-32:nth-child(-n+3),
.flex-w .spf-49:nth-child(-n+2){
	margin-top: 0 !important;
}
	
.flex-w .spf-32:nth-child(3n),
.flex-w .spf-49:nth-child(2n){
	margin-right: 0 !important;
}
	
}

.mb100{
	margin-bottom: 100px;
}

.mb20{
	margin-bottom: 20px;
}

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

.mb100{
	margin-bottom: 50px;
}

}