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

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

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

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

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

h1 {

}

h2 {

}

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:1300px) {
	
h3 {
  	font-size: 2.5rem;
	letter-spacing: 2px;
	margin-bottom: 20px;
}
	
p {
  	font-size: 1.4rem;
}

}

@media screen and (max-width:992px) {
	
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) {
	
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;
}
	
}

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

.main-area{
	width: 100%;
	height: auto;
	margin-top: 116px;
	position:relative;
}

@media screen and (max-width:1300px) {
	
.main-area{
	margin-top: 95px;
}
	
}

@media screen and (max-width:1100px) {
	
.main-area{
	margin-top: 140px;
}
	
}

@media screen and (max-width:768px) {
	
.main-area{
	margin-top: 130px;
}
	
}

.top_fv1{
	width: 70%;
	margin-right: 0;
	margin-left: auto;
}

.top_fv1 img{
	border-radius: 10px 0px 0px 10px;
}

@media screen and (max-width:1100px) {
	
.top_fv1{
	width: 95%;
	margin-right: 0;
	margin-left: auto;
}

.top_fv1 img{

}
	
}

.top_fv_sub{
}

.top_fv2{
	width: 25%;
	position:absolute;
	top: 0px;
	left: 0px;
}

.top_fv2 img{
	border-radius: 0px 10px 10px 0px;
}

.top_fv_tw{
	width: 30%;
	position:absolute;
	bottom: 0;
	left: 100px;
}

@media screen and (max-width:1500px) {
	
.top_fv_tw{
	width: 35%;
	left: 50px;
}

}

@media screen and (max-width:1100px) {
	
.top_fv_sub{
	width: 100%;
	font-size: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}
	
.top_fv2{
	position:relative;
	top: auto;
	left: auto;
	flex: 0 0 40%;
	margin-top: 20px;
	margin-right: 5%;
}

.top_fv2 img{
	border-radius: 0px 10px 10px 0px;
}
	
.top_fv_tw{
	position:relative;
	bottom: auto;
	left: auto;
	flex: 0 0 55%;
	margin-top: 20px;
	vertical-align:middle;
}
	
}

.top_fv_tw h2{
	width: 60%;
	padding: 0 !important;
	margin: 0 !important;
}

.top_fv_tw .h2pc{
	display: block;
}
	
.top_fv_tw .h2sp{
	display: none;
}

.top_fv_news{
	width: 90%;
	display: block;
    vertical-align: bottom;
	padding: 0 !important;
	margin: 0 !important;
}

.top_fv_news iframe{
	width: 80%;
	display: block;
    vertical-align: bottom;
	padding: 0 !important;
	margin: 0 !important;
}

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

.top_fv_tw h2{
	width: 50%;
}
	
.top_fv_news{
	width: 85%;
}
	
}

@media screen and (max-width:1100px) {
	
.top_fv_tw h2{
	width: 70%;
}
	
.top_fv_tw .h2pc{
	display: none;
}
	
.top_fv_tw .h2sp{
	display: block;
}
	
.top_fv_news{
	width: 100%;
}
	
.top_fv_news iframe{
	width: 100%;
}
	
}

.top_fv_bana-pc{
	position:absolute;
	top: 100px;
	right: 0px;
	z-index: 2;
}

.top_fv_bana-pc1{
	width: 45px;
}

.top_fv_bana-pc2{
	width: 45px;
	margin-top: 20px;
}

@media screen and (max-width:1500px) {
	
.top_fv_bana-pc{
	top: 50px;
}
	
}

@media screen and (max-width:1100px) {
	
.top_fv_bana-pc{
	display: none;
}

.top_fv_bana-pc1{
	display: none;
}

.top_fv_bana-pc2{
	display: none;
}	
}	
	
/* エリア設定 */

.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: #E8E6DF;
}

#s01 + .ts-back01{
	padding-top: 80px !important;
}


@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;
}
	
#s01 + .ts-back01{
	padding-top: 50px !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;
}
	
#s01 + .ts-back01{
	padding-top: 0px !important;
}

}

/* モデルハウスエリア用、背景にイラスト合成 */
.ts-back02-model{
	display: block;
	width: 100%;
	height: auto;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
	background-color: #E8E6DF;
	position:relative;
    z-index: 1;
}

.ts-back02-model:after {
  content: "";
  width: 843px;
  height: 420px;
  background: url(../img/icon_house02.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: -100px;
	bottom: 10px;
}

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

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

.ts-back02-model:after {
  width: 500px;
  height: 253px;
  right: -50px;
	bottom: 10px;
}

}

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

.ts-back02-model{
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}
	
	.ts-back02-model:after {
  width: 300px;
  height: 152px;
  right: -20px;
	bottom: 10px;
}
	
}
	
.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;
}

@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;
}
	
}

@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;
}
	
}

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


/* モデルハウス */

.top-modelhouse-w{
	width: 100%;
	position:relative;
    z-index: 2;
}

.top-modelhouse-w a.m-content{
	width: 100%;
	position:relative;
}

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

.top-modelhouse-w a.m-content:hover:after {
  right: 10px;
	transition: .7s;
}

.top-modelhouse-w .m-img{
	width: 100%;
}

.top-modelhouse-w .m-img img{
	border-radius: 15px;
}

.top-modelhouse-w .m-logo{
	width: auto;
	height: 18px;
	margin-top: 25px;
}

.top-modelhouse-w .m-logo img{
	width: auto;
	height: 100%;
}

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

.top-modelhouse-w h5.m-title{
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 2rem;
	margin-top: 10px;
}

.top-modelhouse-w .flex-w{
	margin-top: 25px;
}

.top-modelhouse-w .flex-30{
	margin-top: 50px;
}

.top-modelhouse-w ul.m-link{
	margin-top: 20px;
}

.top-modelhouse-w ul.m-link li{

}

.top-modelhouse-w ul.m-link li a{
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 1.6rem;
	margin-top: 10px;
	position:relative;
  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; /* 変形をアニメーション化 */
}

.top-modelhouse-w ul.m-link li a:hover {
  background-size: 0 2px; /* 線の横幅を0、縦幅を2pxに */
}

.top-modelhouse-w ul.m-link li i{
	color: #000;
	font-size: 1.6rem;
	margin-right: 10px;
}

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

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

.top-modelhouse-w a.m-content:after {
  width: 25px;
  height: 25px;
	top: 10px;
	bottom: auto;
	right: 10px;
}

.top-modelhouse-w a.m-content:hover:after {
  right: 20px;
}
	
.top-modelhouse-w .m-img img{
	border-radius: 10px;
}

.top-modelhouse-w h5.m-title{
	font-size: 1.8rem;
	margin-top: 10px;
}

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

.top-modelhouse-w ul.m-link{
	margin-top: 15px;
}

.top-modelhouse-w ul.m-link li a{
	font-size: 1.4rem;
	margin-top: 10px;
}

.top-modelhouse-w ul.m-link li i{
	font-size: 1.4rem;
	margin-right: 10px;
}
	
.top-modelhouse-w .top-btnbox {
	margin-top: 50px;
}

}

@media screen and (max-width:992px) {
	
.top-modelhouse-w a.m-content:after {
	display: none;
}

.top-modelhouse-w a.m-content:hover:after {
	display: none;
}	
	
.top-modelhouse-w .m-img img{
	border-radius: 5px;
}
	
.top-modelhouse-w .m-logo{
	height: 13px;
	margin-top: 15px;
}

.top-modelhouse-w h5.m-title{
	font-size: 1.4rem;
	margin-top: 5px;
}

.top-modelhouse-w .flex-w{
	margin-top: 15px;
}

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

.top-modelhouse-w ul.m-link{
	margin-top: 10px;
}

.top-modelhouse-w ul.m-link li a{
	font-size: 1.2rem;
	margin-top: 10px;
  background-size: 100% 1px; /* 線の横幅を100%にする */
}
	
.top-modelhouse-w ul.m-link li a:hover {
  background-size: 0 1px; /* 線の横幅を0、縦幅を2pxに */
}
	
.top-modelhouse-w ul.m-link li i{
	font-size: 1.2rem;
	margin-right: 10px;
}
	
.top-modelhouse-w .top-btnbox {
	margin-top: 30px;
}

}

/* 建築実例 */

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

.top-works-w h3{
	margin-bottom: 20px;
}

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

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

.top-works-w 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;
}

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

.top-works-w .w-img{
	width: 100%;
}

.top-works-w .w-img img{
	border-radius: 15px;
}

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

.top-works-w .w-logo img{
	width: auto;
	height: 100%;
}

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

.top-works-w .w-title {
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 2rem;
	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; /* 変形をアニメーション化 */
}

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

.top-works-w .tab2 {
	margin-top: 20px;
}

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

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

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

}

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

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

}


/* 宅地・分譲情報 */

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

.la-w01{
	border : solid 1px #CBCBCB ;
	width: 100%;
	padding: 0 75px;
	border-radius: 15px;
	background-color: #fff;
}

.takuchi-t {
	position: relative;
	width: 100%;
	text-align: left;
}

.takuchi-t + .takuchi-t {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #c1bab3;
}

.takuchi-t table {
	width: 100%;
	position: relative;
}

.takuchi-t table td {
	position: relative;
	padding: 30px 0 10px 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 1.5rem;
}

.takuchi-t table td:nth-child(1){
  width: 22%;
}

.takuchi-t table td:nth-child(2){
  width: 22%;
	position:relative;
}

.takuchi-t span.title{
	font-size: 1.8rem;
	font-weight: 500;
	color: #000;
	position:relative;
  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; /* 変形をアニメーション化 */
}

.takuchi-t:hover span.title {
  background-size: 0 2px; /* 線の横幅を0、縦幅を2pxに */
}


.takuchi-t table td:nth-child(3){
  width: 30%;
}
	
.takuchi-t table td:nth-child(4){
  width: 26%;
	font-weight: 500;
	font-size: 1.8rem;
	color:var(--thema-color01);
}

.takuchi-t table td.table-detail {
  width: 100%;
  padding: 10px 0 30px 0;
	color: #999999;
}

.takuchi-t table td span.tochi {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
	background-color: #5F934C;
	padding: 2px 10px 4px;
}

.takuchi-t table td span.zyu {
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
	background-color: #27548A;
	padding: 2px 10px 4px;
}

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

.takuchi-t a:hover {
  background: rgba(255, 255, 255, 0.6);
	transition: .7s;
}

.takuchi-t a:after {
  content: "";
  width: 35px;
  height: 35px;
  background: url(../img/arrow-1.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}

.takuchi-t a:hover:after {
  right: 10px;
	transition: .7s;
}

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

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

.la-w01{
	padding: 0 50px;
	border-radius: 10px;
}
	
.takuchi-t table td {
	padding: 20px 0 5px 0;
	font-size: 1.4rem;
}

.takuchi-t span.title{
	font-size: 1.6rem;
  background-size: 100% 1px; /* 線の横幅を100%にする */
}
	
.takuchi-t:hover span.title {
  background-size: 0 1px; /* 線の横幅を0、縦幅を2pxに */
}
	
.takuchi-t table td:nth-child(4){
	font-size: 1.6rem;
}
	
.takuchi-t table td.table-detail {
  padding: 10px 0 20px 0;
}
	
.takuchi-t table td span.tochi {
	font-size: 1.2rem;
	padding: 2px 5px 4px;
}
	
.takuchi-t table td span.zyu {
	font-size: 1.2rem;
	padding: 2px 5px 4px;
}
	
.takuchi-t a:after {
  width: 25px;
  height: 25px;
  right: 0;
	top: 50%;
}
	
.takuchi-t a:hover:after {
  right: 10px;
}
	
.top-land-w .top-btnbox{
	margin-top: 50px;
}

}

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

.la-w01{
	padding: 0 15px;
	border-radius: 5px;
}
	
.takuchi-t table td {
	font-size: 1.2rem;
	padding: 0;
}
	
.takuchi-t table td:nth-child(1){
  width: 100%;
	display: block;
	padding: 20px 0 0 0;
}

.takuchi-t table td:nth-child(2){
  width: 100%;
	display: block;
	padding: 10px 0 0 0;
}
	
.takuchi-t table td:nth-child(3){
  width: 100%;
	display: block;
	padding: 10px 0 0 0;
}
	
.takuchi-t table td:nth-child(4){
  width: 100%;
	display: block;
	font-size: 1.4rem;
	padding: 5px 0 0 0;
}
	
.takuchi-t table td.table-detail {
  padding: 5px 0 20px 0;
}
	
.takuchi-t a:after {
  width: 20px;
  height: 20px;
  right: 0;
	top: 50%;
}
	
.takuchi-t a:hover:after {
  right: 5px;
}
	
.top-land-w .top-btnbox{
	margin-top: 30px;
}

}

/* お知らせ */

.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;
}

}

/* ブログ */

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

.top-blog-w h3{
	margin-bottom: 20px;
}

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

.top-blog-w .b-img{
	width: 100%;
}

.top-blog-w .b-img img{
	border-radius: 15px;
}

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

.top-blog-w a .b-content{
	margin-top: 25px;
	position:relative;
}

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

.top-blog-w a:hover .b-content:after {
  right: 10px;
	transition: .7s;
}

.top-blog-w .b-content p{
	font-family: 'Noto Sans JP', sans-serif;
	color: #999999;
	font-size: 1.4rem;
	margin-bottom: 10px;
}

.top-blog-w .b-content p span{
	color: #595959;
	font-size: 1.4rem;
	background-color: #fff;
	padding: 2px 10px;
	margin-right: 10px;
	border-radius: 5px;
}

.top-blog-w h5.b-title{
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 2rem;
	line-height: 1.7;
}

.top-blog-w a h5.b-title{
  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; /* 変形をアニメーション化 */
}

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

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

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

.top-blog-w h3{
	margin-bottom: 10px;
}
	
.top-blog-w .flex-w{
	margin-top: 20px;
}
	
.top-blog-w .b-img img{
	border-radius: 10px;
}
	
.top-blog-w a .b-content{
	margin-top: 20px;
}

.top-blog-w a .b-content:after {
  width: 25px;
  height: 25px;
	top: -3px;
	bottom: auto;
}
	
.top-blog-w a:hover .b-content:after {
  right: 10px;
	transition: .7s;
}
	
.top-blog-w .b-content p{
	font-size: 1.2rem;
}
	
.top-blog-w .b-content p span{
	font-size: 1.2rem;
	padding: 2px 5px;
	margin-right: 5px;
	border-radius: 5px;
}
	
.top-blog-w h5.b-title{
	font-size: 1.8rem;
	line-height: 1.6;
}

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

}

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

.top-blog-w .b-img img{
	border-radius: 5px;
}
	
.top-blog-w a .b-content{
	margin-top: 20px;
}
	
.top-blog-w .b-img img{
	border-radius: 5px;
}
	
.top-blog-w a .b-content:after {
  width: 20px;
  height: 20px;
	top: -3px;
	bottom: auto;
}
	
.top-blog-w a:hover .b-content:after {
  right: 5px;
}
	
.top-blog-w .b-content p{
	font-size: 1rem;
}
	
.top-blog-w .b-content p span{
	font-size: 1rem;
	padding: 2px 3px;
	margin-right: 5px;
	border-radius: 5px;
}
	
.top-blog-w a h5.b-title{
	font-size: 1.4rem;
	line-height: 1.6;
  background-size: 100% 1px; /* 線の横幅を100%にする */
}
	
.top-blog-w a:hover h5.b-title {
  background-size: 0 1px; /* 線の横幅を0、縦幅を2pxに */
}
	
.top-blog-w .top-btnbox{
	margin-top: 30px;
}

}

/* 動画 */

/* バナー */

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

.top-bana-w .flex-w{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CBCBCB;
	padding-bottom: 80px;
	margin-bottom: 80px;
}

.top-bana-w a img{
	border-radius: 10px;
}

.top-bana-w a:hover img{
    opacity:0.7;
	transition: .7s;
}

.top-bana-w .n-content{
	margin-top: 10px;
}

.top-bana-w .b-content h5.n-title{
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
	font-size: 1.8rem;
	line-height: 1.5;
  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; /* 変形をアニメーション化 */
}

.top-bana-w .b-content:hover h5.n-title {
  background-size: 0 2px; /* 線の横幅を0、縦幅を2pxに */
}

.top-bana-w .n-content p{
	color: #999999;
	font-size: 1.3rem;
	line-height: 1.3;
	margin-top: 10px;
}

@media screen and (max-width:1300px) {
	
.top-bana-w .flex-w{
	padding-bottom: 50px;
	margin-bottom: 50px;
}
	
.top-bana-w .b-content h5.n-title{
	font-size: 1.4rem;
}

}

@media screen and (max-width:992px) {
	
.top-bana-w .flex-w{
	padding-bottom: 30px;
	margin-bottom: 30px;
}
	
.top-bana-w a img{
	border-radius: 5px;
}
	
.top-bana-w .b-content h5.n-title{
	font-size: 1.2rem;
  background-size: 100% 1px; /* 線の横幅を100%にする */
}
	
.top-bana-w .b-content:hover h5.n-title {
  background-size: 0 1px; /* 線の横幅を0、縦幅を2pxに */
}
	
.top-bana-w .n-content p{
	font-size: 1rem;
	margin-top: 5px;
}

}

.top-bana-w2{
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 80px;
}

.top-bana-w2 .flex-18{
	border : solid 1px #CBCBCB;
	position:relative;
}

.top-bana-w2 .flex-18 i{
	position:absolute;
	right:  5px;
	top:  5px;
	z-index: 100;
	font-size: 10px;
	color: #ccc;
}

.top-bana-w2 .flex-18:hover {
    outline: 2px solid rgb(166, 25, 46);/*outlineでドットの線を追加*/
}

@media screen and (max-width:1300px) {
	
.top-bana-w2{
	width: 100%;
	margin-bottom: 50px;
}
	
.top-bana-w2 .flex-18 i{
	right:  3px;
	top:  3px;
	font-size: 7px;
}

}

@media screen and (max-width:992px) {
	
.top-bana-w2{
	width: 100%;
	margin-bottom: 30px;
}
	
.top-bana-w2 .flex-18 i{
	right:  2px;
	top:  2px;
	font-size: 5px;
}
	
}

.top-bana-w3{
	width: 40%;
	margin-right: auto;
	margin-left: auto;
}

.top-bana-w3 .flex-47 a{
	color: #999999;
	font-size: 1.6rem;
	position:relative;
	display: block;
  background-image: linear-gradient(90deg, #CBCBCB, #CBCBCB); /* 線の色 */
  background-position: left bottom; /* 線の起点を左・下に設定 */
  background-repeat: no-repeat;
  background-size: 100% 1px; /* 線の横幅を100%にする */
  padding-bottom: 20px; /* 下線を下にズラす */
  transition: background-size .6s; /* 変形をアニメーション化 */
}

.top-bana-w3 .flex-47 a:hover {
  background-size: 0 1px; /* 線の横幅を0、縦幅を2pxに */
}

.top-bana-w3 .flex-47 a:before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/arrow-4.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
	top: -2px;
}

.top-bana-w3 .flex-47 a:hover:before {
  top: -7px;
	transition: .7s;
}

@media screen and (max-width:1300px) {
	
.top-bana-w3{
	width: 60%;
}
	
.top-bana-w3 .flex-47 a{
	font-size: 1.4rem;
  padding-bottom: 20px; /* 下線を下にズラす */
}
	
.top-bana-w3 .flex-47 a:before {
  width: 25px;
  height: 25px;
}

}

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

.top-bana-w3{
	width: 80%;
}
	
.top-bana-w3 .flex-47 a{
	font-size: 1.4rem;
  padding-bottom: 10px; /* 下線を下にズラす */
}
	
.top-bana-w3 .flex-47 a:before {
  width: 20px;
  height: 20px;
}
	
}

/* リフォーム追従バナー、トップのみ */

.sp-ref-bana{
	display: none;
}

@media screen and (max-width:1100px) {
	
.sp-ref-bana{
	display: block;
	position:fixed;
	top: 155px;
	right: 0px;
	width: 180px;
	background-color: #fff;
	border-radius: 30px 0px 0px 30px;
    z-index: 100;
	padding: 5px 20px 5px 30px;
	text-align: center;
	line-height: 0;
	font-size: 0;
	box-shadow: 5px 5px 10px rgb(0 0 0 / 40%);
}
	
.sp-ref{
	margin: 0 auto;
	line-height: 0;
	font-size: 0;
}
	
.sp-ref img{
	vertical-align:top;
	line-height: 0;
	font-size: 0;
}
	
.sp-ref span {
	display: inline-block;
	line-height: 1;
	font-size: 1.1rem;
	color: #e5002c;
	border : solid 1px #e5002c;
	padding: 3px 9px;
	border-radius: 10px;
	margin-top: 8px;
}
	
.sp-ref a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.sp-ref:hover span {
	color: #fff;
	background-color: #e5002c;
}
	
}

@media screen and (max-width:992px) {
	
.sp-ref-bana{
	top: 155px;
}
	
}

@media screen and (max-width:768px) {
	
.sp-ref-bana{
	top: 140px;
	width: 125px;
	padding: 5px 10px 5px 20px;
}
	
.sp-ref span {
	font-size: 0.8rem;
	padding: 3px 6px;
}
	
}


/* 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;
}

/* 特殊設定 */
.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;
}

.top-works-w .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;
}

@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;
}
	
.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;
}
	
}







