@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.start p {
	z-index: 9999;
	width: 24%;
	max-width: 200px;
}

.start p img {
	width: 100%;
}

.startLogo {
	width: 100%;
	height: auto;
}

.gNavLink:hover {
	color: #1c4fa1;
}

.headerLogo:before,
.headerLogo:after,
.logoLink:before,
.logoLink:after,
.siteMap:hover .btnNav04,
.siteMap ul {
	background: #1c4fa1;
}

.img-wrapper {
	margin: 100px auto;
	overflow: hidden;
	position: relative;
	z-index: 1
}

.img-wrapper .slider {
	position: relative;
	width: 100%;
	z-index: 1
}

.img-wrapper .slider .slide {
	position: relative;
	width: 317.8666666667%
}

@media screen and (min-width:980px) {
	.img-wrapper .slider .slide {
		width: 100%;
	}
}

@-webkit-keyframes marquee {
	0% {
		translate: 0 0
	}

	to {
		translate: -100% 0
	}
}

@keyframes marquee {
	0% {
		translate: 0 0
	}

	to {
		translate: -100% 0
	}
}

.img-wrapper .slider .slide .imgs {
	display: flex;
	width: 100%
}

.img-wrapper .slider .slide .imgs img {
	border-radius: 5px;
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	margin-right: .7969798658%;
	width: 24.2030201342%
}

@media screen and (min-width:980px) {
	.img-wrapper .slider .slide .imgs img {
		margin-right: .7575757576%;
		width: 24.2424242424%
	}
}

.img-wrapper .slider .slide .copy {
	left: 100%;
	position: absolute;
	top: 0
}

.img-wrapper .tagline {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease 2s
}

.img-wrapper .season {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease 0s
}

.img-wrapper .slider .slide {
	-webkit-animation: marquee 15s linear .5s infinite;
	animation: marquee 15s linear .5s infinite;
}

.img-wrapper .slider .slide .imgs img {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease .5s
}

.img-wrapper .slider .slide .imgs img:nth-child(2) {
	transition-delay: .8s
}

.img-wrapper .slider .slide .imgs img:nth-child(3) {
	transition-delay: 1.1s
}

.img-wrapper .slider .slide .imgs img:nth-child(4) {
	transition-delay: 1.4s
}

/* .img-wrapper .slider .slide .imgs img:nth-child(5) {
	transition-delay: 1.7s
}

.img-wrapper .slider .slide .imgs img:nth-child(6) {
	transition-delay: 2.0s
}

.img-wrapper .slider .slide .imgs.copy img {
	transition-delay: 2.3s
} */

.img-wrapper .slider .slide .imgs.copy img {
	transition-delay: 1.7s
}

.img-wrapper .tagline {
	background: #fff;
	align-items: flex-end;
	background-color: var(--background1);
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	display: flex;
	height: 100%;
	justify-content: center;
	margin-left: 81.3333333333%;
	padding-bottom: 10px;
	position: absolute;
	top: 0;
	width: 12.1333333333%;
	z-index: 2
}

@media screen and (min-width:980px) {
	.img-wrapper .tagline {
		align-items: center;
		margin-left: 74.2258652095%;
		max-width: 80px;
		padding-bottom: 0;
		width: 6.6484517304%
	}
}

.img-wrapper .tagline p {
	font-size: clamp(1.2rem, 1.3vw, 2.4rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	writing-mode: vertical-rl;
}

@media screen and (min-width:980px) {
	.img-wrapper .tagline img {
		width: 28.7671232877%
	}
}

.img-wrapper .tagline {
	background: #fff;
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
	transition: 1s ease 2s
}

#mv {
	width: calc(100% - 120px);
	height: calc(100vh - 100px);
	margin: 100px 0 70px 120px;
	position: relative;
	z-index: 1;
}

.mvSliderWrap,
.mvSliderWrap * {
	height: 100%;
}

.mvSlider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

#mvCatch {
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -40px);
}

#catchMain,
#catchSub {
	color: #fff;
}

#catchMain {
	margin: 0 0 55px;
	font-size: 160px;
	font-weight: 600;
	line-height: 0.7;
	letter-spacing: 0.4em;
}

#catchSub {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.46em;
}

.scrollArea {
	width: 14px;
	height: 59px;
	padding: 0 0 109px;
	position: absolute;
	bottom: 0;
	left: -67px;
	line-height: 10px;
	background: url(../../img/top/arrow_scroll.png) no-repeat bottom center;
}

.scrTxt {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #000;
	transform: rotate(90deg);
}

#topVision .inner {
	margin: 0 auto 120px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
	flex-direction: row-reverse;
}

#topVisionCatch {
	font-size: 5.0rem;
	font-weight: 700;
	letter-spacing: 0.15em;
}

#topVisionCatch span.color {
	font-weight: 700;
	line-height: 1.6;
	color: #1c4fa1;
}

#topVisionTxt {
	width: 52.333%;
	padding: 64px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0;
}

#bgTxt {
	position: absolute;
	top: 2px;
	left: 304px;
	z-index: -1;
	font-size: 250px;
	font-size: 180px;
	font-weight: 600;
	line-height: 0.7;
	color: #fcebec;
}

.topVisionBtn {
	width: 400px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.renovationTtl {
	background: url(../../img/renovation/renovation_mv_bg.jpg) no-repeat center center / cover;
}

.pageTtl {
	padding: 15px 45px 20px 40px;
}

.pageSubTtl {
	width: 570px;
	padding: 9px 14px;
	margin: 15px auto 0;
	display: block;
	background: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
	color: #1c4fa1;
}

.pageSubTtl * {
	letter-spacing: 0;
}

.cross:after {
	width: 10px;
	height: 10px;
	margin: 0 5px;
	display: inline-block;
	content: "";
	background: url(../../img/renovation/cross.png) no-repeat 0 0 / 100%;
}

.busiTtlEn {
	color: #1c4fa1;
}

.intro {
	margin: 0 0 50px;
	background: url(../../img/design/intro_ill.svg) no-repeat right bottom;
	background-size: 420px;
}

#contsWrap,
#works,
#reform {
	padding-top: 120px;
	margin-top: -120px;
}

.catchArea {
	margin: 0 0 35px;
}

.introCatch {
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
}

.introCatch .br_:before {
	content: "\A";
	white-space: pre;
}

.especially {
	color: #1c4fa1;
}

.subCatch {
	display: block;
	font-size: 3.2rem;
	font-weight: 700;
	color: #000;
}

.introTxt {
	width: 59.4%;
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}

.introTxt .br_:after {
	content: "\A";
	white-space: pre;
}

.cost {
	margin: 0 0 140px;
	padding: 50px 0 160px;
	display: flex;
	justify-content: center;
	background: #f9f9f9 url(../../img/design/intro_figure.png) no-repeat center bottom 60px;
}

.costInner {
	width: 90%;
	max-width: 1000px;
	display: flex;
	/* flex-wrap: wrap; */
	justify-content: space-between;
}

.costBlock {
	padding: 46px 0 0;
}

.costBlockLarge {
	padding: 0;
}

.house {
	margin: 0 0 30px;
	padding: 130px 0 60px;
	background: url(../../img/renovation/house_bg.png) no-repeat center bottom;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
}

.costBlockLarge .house {
	padding: 125px 0 50px;
	background: url(../../img/design/house_bg02.svg) no-repeat center bottom;
	font-size: 2.3rem;
	line-height: 1.3;
	color: #fff;
}

.costTxt {
	font-size: 1.5rem;
	line-height: 1.4;
}

.costBlockLarge .costTxt {
	font-size: 1.6rem;
	font-weight: 700;
	color: #1c4fa1;
}

#point {
	margin: 0 0 140px;
}

.pointTtl {
	margin: 0 0 80px;
	text-align: center;
}

.pointTtlIn {
	display: inline-block;
	position: relative;
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
}

.pointTtlIn:before, .pointTtlIn:after {
	width: 15px;
	height: 120px;
	content: "";
	position: absolute;
	top: 50%;
	border: 1px solid #000;
	transform: translateY(-50%);
}

.pointTtlIn:before {
	left: -74px;
	border-right: none;
}

.pointTtlIn:after {
	right: -74px;
	border-left: none;
}

.pointList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2em 2%;
}

.pointBox {
	width: 32%;
}

.pointFigure {
	padding: 5px;
	border: 1px solid #1c4fa1;
}

.pointFigure img {
	width: 100%;
}

.pointConts {
	margin: -25px 0 0;
	text-align: center;
}

.pointHead, .pointNum {
	font-weight: 700;
	color: #1c4fa1;
}

.pointHead {
	width: 230px;
	margin: 0 0 16px;
	padding: 12px 0 0;
	display: inline-block;
	background: #fff;
	font-size: 2.5rem;
}

.pointNum {
	font-size: 3.8rem;
}

.pointTxt {
	font-size: 1.6rem;
	line-height: 1.4;
	text-align: left;
}

.pointTxt .br_:before {
	content: "\A";
	white-space: pre;
}

.pointBox04 .pointTxt {
	letter-spacing: 0.05em;
}

#concern {
	margin: 0 0 100px;
}

.concernTtl {
	margin: 0 0 60px;
	text-align: center;
}

.concernTtl * {
	font-size: 3.5rem;
	font-weight: 700;
	color: #1a1a1a;
}

.concernTtlMain, .concernTtlSub {
	display: block;
}

.concernTtlMain {
	margin: 0 0 12px;
	display: inline-block;
	position: relative;
	color: #1c4fa1;
}

.concernTtlMain:before, .concernTtlMain:after {
	width: 32px;
	height: 32px;
	content: "";
	position: absolute;
}

.concernTtlMain:before {
	top: -7px;
	left: -32px;
	background: url(../../img/design/corner_left.svg) no-repeat 0 0 / 100%;
}

.concernTtlMain:after {
	bottom: -7px;
	right: -32px;
	background: url(../../img/design/corner_right.svg) no-repeat 0 0 / 100%;
}

#caseConts {
	display: flex;
	-ms-flex-wrap: wrap;
	justify-content: space-between;
}

.caseBox {
	width: 23%;
}

.caseHead, .caseNum {
	display: inline-block;
	font-weight: 700;
	line-height: 0.7;
	color: #1c4fa1;
	font-feature-settings: "palt";
}

.caseHead {
	margin: 0 0 0.25em;
	font-size: 1.8rem;
}

.caseNum {
	font-size: 5.0rem;
}

.caseBoxTtl {
	margin: 0 0 32px;
	padding: 0 0 14px;
	position: relative;
	z-index: 0;
	border-bottom: 1px solid #b6b6b6;
}

.caseBoxTtl:after {
	width: 14px;
	height: 14px;
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	z-index: -1;
	background: #fff;
	border-right: 1px solid #b6b6b6;
	border-bottom: 1px solid #b6b6b6;
	transform: translateX(-50%) rotate(45deg);
}

.caseTtl {
	display: block;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.4;
	color: #1a1a1a;
}

.solutionConts {
	position: relative;
}

.mark {
	width: 90px;
	height: 90px;
	padding: 15px 0 0 14px;
	position: absolute;
	top: -43px;
	right: -16px;
	background: #ffd600;
	border-radius: 50%;

	& img {
		object-fit: contain;
		width: 80%;
		height: 80%;
	}
}

.caseFigure {
	margin: 0 0 1em;
}

.caseFigure img {
	width: 100%;
}

.caseTxt {
	font-size: 1.6rem;
	line-height: 1.4;
}

.busiSubTtl {
	border-left: 2px solid #1c4fa1;
}

.busiSubTtlJp {
	font-weight: 600;
}

#works {
	margin: 140px 0 0px;
	padding: 0;
	/* background: #f9f9f9; */
}

.worksTtl {
	margin: 0 0 50px;
	position: relative;
	z-index: 0;
	text-align: center;
}

.worksTtlIn {
	padding: 0 50px;
	display: inline-block;
	background: #f9f9f9;
	font-size: 3.5rem;
	font-weight: 700;
	color: #1a1a1a;
}

.worksTtl:before {
	width: 100%;
	height: 1px;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	background: #b6b6b6;
}

#worksArea {
	margin-bottom: 60px;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 1em 1.7%;
}

.worksBox {
	width: 32.2%;
	padding: 1.5em;
	background: #f9f9f9;
	position: relative;
}

.worksLink:before,
.worksLink:after,
.worksBox:before,
.worksBox:after {
	background: #1c4fa1;
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	transition: all 0.3s ease;
}

.worksBox:after {
	/* 左上 */
	width: 0;
	height: 2px;
	top: 0;
	left: 0;
}

.worksBox:before {
	/* 右下 */
	width: 0;
	height: 2px;
	right: 0;
	bottom: 0;
}

.worksLink:after {
	/* 左下 */
	width: 2px;
	height: 0;
	bottom: 0;
	left: 0;
}

.worksLink:before {
	/* 右下 */
	width: 2px;
	height: 0;
	top: 0;
	right: 0;
}

.worksBox:hover:before,
.worksBox:hover:after {
	width: 100%;
}

.worksBox:hover .worksLink:before,
.worksBox:hover .worksLink:after {
	height: 100%;
}

.worksBoxTit {
	margin-bottom: 0.5em;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0 0.5em;
	letter-spacing: 0.05em;
}

.category {
	padding: 0.25em 0.75em;
	background: #ccc;
	font-size: clamp(0.9rem, 0.86vw, 1.1rem);
	letter-spacing: 0.01em;
	color: #1a1a1a;
	display: flex;
	align-items: center;
	justify-content: center;
}

.place {
	font-size: clamp(1.3rem, 1.2vw, 1.8rem);
	font-weight: 700;
}

.worksImg {
	margin-bottom: 1em;
	aspect-ratio: 5 / 3;

	& img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.thumbHoverWrap {
	position: relative;
	overflow: hidden;
}

.thumbHoverWrap .thumb {
	width: 100%;
	transition: opacity .3s ease-in-out;
}

.thumbHoverWrap .thumb.before {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.thumbHoverWrap:hover .thumb.before {
	opacity: 1;
}

.thumbHoverWrap:hover .thumb.after {
	opacity: 0;
}

.flipWrap {
	perspective: 1000px;
	/* 奥行き */
}

.flipCard {
	width: 100%;
	height: 100%;
	position: relative;
}

.flipInner {
	position: relative;
	width: 100%;
	height: 100%;
	transition: transform 0.7s ease;
	transform-style: preserve-3d;
}

.flipWrap:hover .flipInner {
	transform: rotateY(-180deg);
}

/* 表側 After */
.flipFront,
.flipBack {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	/* 背面を非表示 */
}

.flipFront img,
.flipBack img {
	width: 100%;
	height: auto;
	display: block;
}

/* 裏側 Before（後ろに配置） */
.flipBack {
	transform: rotateY(180deg);
}

.worksCont {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}

.worksContInner {
	width: 48%;

	& p {
		font-size: 1.2rem;
	}

	& p.big {
		color: #ab0106;
		font-size: 2.0rem;
		font-weight: 600;
		text-align: right;

		& span {
			font-size: 1.4rem;
		}
	}
}

.worksContInner:first-child {
	padding-right: 4%;
	border-right: 1px dotted #ccc;
}

#reform {
	margin-bottom: 100px;
}

.reformWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.reformFigure {
	width: 48.33%;
}

.reformFigure img {
	width: 100%;
}

.reformConts {
	width: 51.67%;
	padding: 0 0 0 43px;
}

.reformTxtConts {
	margin: 0 0 36px;
}

.reformTxt {
	margin: 0 0 23px;
	font-size: 1.6rem;
	line-height: 1.4;
}

.reformTxt .br:after {
	content: "\A";
	white-space: pre;
}

.possibleTtl {
	margin: 0 0 20px;
	padding: 0 0 0 20px;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	border-left: 2px solid #1c4fa1;
}

.possibleBox {
	padding: 30px;
	background: #f9f9f9;
}

.poosibleInner {
	padding: 2em;
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	background: #fff;
}

.possibleItem {
	font-size: 1.5rem;
	line-height: 1.0;
}

.possibleItem:before {
	width: 10px;
	height: 10px;
	margin: 0 10px 0 0;
	display: inline-block;
	content: "";
	background: #1c4fa1;
	border-radius: 50%;
	vertical-align: 1px;
}

.possibleItem .assist {
	margin: 0 0 0 84px;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.introTxt {
		width: 55%;
		padding: 0 30px 0 0;
	}

	.introTxt .br_:after {
		content: "";
	}

	.pointTxt .br_:before {
		content: "";
	}

	/* .cost {
		padding: 60px 4% 168px 4%;
	} */

	.mark {
		width: 100px;
		height: 100px;
		padding: 13px 0 0 8px;
		top: -53px;
		right: 8px;
	}
}

#outline {
	margin: 0 0 100px;
	padding: 100px 0;
	background: #F9F9F9;
}

.outlineInner {
	max-width: 1000px;
	padding: 20px 40px 40px;
	background: #FFFFFF;
}

#table {
	width: 100%;
}

#table th, #table td {
	font-size: 1.5rem;
	line-height: 1.4;
	border-bottom: 1px solid #BFBFBF;
}

#table th {
	width: 220px;
	padding: 1.5em 0;
	color: #000;
	font-weight: 600;
	text-align: left;
	border-bottom: 1px solid #BFBFBF;
	position: relative;
}

#table th:before {
	content: "";
	width: 25px;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 0;
	background: #1c4fa1;
}

#table td {
	padding: 1.5em 0;
}

#access {
	margin: -10px auto 160px;
	/* padding: 110px 0 0; */
}

#access.inner {
	max-width: 1000px;
}

#accessConts {
	padding: 44px 30px;
	border: 1px solid #CCCCCC;
}

#accessHead {
	margin: 0 0 30px;
	font-size: 1.8rem;
	text-align: center;
}

#accessHead:before {
	width: 142px;
	height: 32px;
	margin: 0 auto 13px;
	content: "";
	display: block;
	background: url(../../img/company/icons.png) no-repeat 0 0 / 100%;
}

#tabArea ul {
	margin: 0 0 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.tabItem {
	width: 32.2%;
	padding: 20px 0;
	display: block;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.0;
	text-align: center;
	border: 1px solid #000000;
	cursor: pointer;
	transition: all .3s ease-in-out;
}

.tabItem:after {
	width: 0;
	height: 0;
	margin: 0 0 0 -10px;
	border-style: solid;
	border-width: 14px 10px 0 10px;
	border-color: #000000 transparent transparent transparent;
	content: "";
	position: absolute;
	left: 50%;
	bottom: -14px;
	opacity: 0;
}

.tabItem:hover, .tabItem.active {
	color: #FFFFFF;
	background: #000000;
}

.tabItem.active:after {
	opacity: 1;
}

#tabConts .gmap {
	display: none;
}

#tabConts .gmap.show {
	display: block;
}

.gmap {
	width: 100%;
	height: 400px;
}

.gmap iframe {
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.tabItem {
		line-height: 1.4;
		text-align: center;
	}

	.tabItem .br_:after {
		content: "\A";
		white-space: pre;
	}
}

.bizTxt {
	margin: 0 0 20px;
}

.especially {
	font-weight: 700;
}

.footerNav:before {
	background: #1c4fa1;
}

.footNavLink:hover {
	color: #1c4fa1;
}

#holdings {
	border: none;
	padding: 0;
}

#holdings::before {
	content: none;
}

#holdingsLink a {
	width: 100%;
	padding: 0.75em;
	color: #ab0106;
	border: 2px solid;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .3s ease-in-out;
}

#holdingsLink a:hover {
	transform: scale(1.04);
}

#holdings .footNavLink:hover {
	color: #ab0106;
}


@media screen and (min-width: 1025px) and (max-width: 1200px) {
	.inner {
		width: 95%;
		margin: 0 auto;
	}

	#catchMain {
		font-size: 128px;
	}

	#topVisionCatch {
		font-size: 4.5rem;
		font-weight: 700;
		letter-spacing: 0.1em;
	}

	#topService:before {
		width: 100%;
	}

}

/* -------------------------------------------------- */
/* TAB */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.start {
		display: none;
	}

	.inner {
		width: 92%;
		margin: 0 auto;
	}

	#mv {
		width: 100%;
		height: calc(100vh - 80px);
		margin: 80px 0 40px;
	}

	.slick-track {
		height: calc(100vh - 80px) !important;
	}

	/*
    .mvSlider01 {
        background: url(../../img/top/bg_mv01.jpg) no-repeat center bottom / cover;
    }
    .mvSlider02 {
        background: url(../../img/top/bg_mv02.jpg) no-repeat center bottom / cover;
    }
    .mvSlider03 {
        background: url(../../img/top/bg_mv03.jpg) no-repeat center bottom / cover;
    }
    .mvSlider04 {
        background: url(../../img/top/bg_mv04.jpg) no-repeat center bottom / cover;
    }
	*/
	.scrollArea {
		display: none;
	}

	#mvCatch {
		transform: translate(-50%, -100%);
	}

	#catchMain {
		margin: 0 0 20px;
		font-size: 57px;
	}

	#catchSub {
		font-size: 1.5rem;
	}

	#topVision .inner {
		margin: 0 auto65px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	#topVisionCatch {
		font-size: 4.0rem;
		line-height: 1.3;
	}

	#bgTxt {
		position: absolute;
		top: -10px;
		left: 56px;
		font-size: 180px;
		letter-spacing: 0;
	}

	#topVisionTxt {
		width: 100%;
		padding: 30px 0 0;
		font-size: 1.8rem;
		letter-spacing: 0.05em;
		text-align: center;
	}

	#topVisionTxt h1,
	#topVisionTxt p {
		text-align: left;
	}

	.topVisionBtn {
		width: 100%;
		position: relative;
		left: 0;
		bottom: 0;
		display: inline-block;
		margin-top: 30px;
	}

	.pageTtl {
		padding: 15px 5% 15px;
	}

	.pageSubTtl {
		width: 100%;
		font-size: 1.3rem;
		text-align: center;
	}

	.pageTtlJp .br_:after {
		content: "\A";
		white-space: pre;
	}

	.cross:after {
		width: 10px;
		height: 10px;
		margin: 0 5px;
		display: inline-block;
		content: "";
		background: url(../../img/renovation/cross.png) no-repeat 0 0 / 100%;
	}

	.renovationSecTtl {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}

	.renoTtlJp {
		font-size: 4.8rem;
	}

	.renoTtlEn {
		font-size: 3.0rem;
	}

	.intro {
		margin: 0 0 60px;
		padding: 0 0 311px;
		background: url(../../img/renovation/intro_ill.ｓｖｇ) no-repeat center bottom / 436px;
	}

	.introCatch {
		margin: 0 0 20px;
		font-size: 4.0rem;
	}

	#reform .introCatch {
		letter-spacing: 0.04em;
	}

	.introCatch .br_:before {
		content: "";
	}

	.subCatch {
		font-size: 2.5rem;
	}

	.introTxt {
		width: 100%;
		font-size: 1.6rem;
	}

	.cost {
		margin: 0 0 60px;
		padding: 0 3% 13vw;
		background: #f9f9f9 url(../../img/renovation/intro_figure.png) no-repeat center bottom 30px / 96%;
	}

	.costBlock {
		width: 28%;
		padding: 102px 0 0;
	}

	.costBlockLarge {
		width: 36% !important;
		padding: 40px 0 0 !important;
	}

	.house {
		margin: 0 0 30px;
		padding: 12.59vw 0 5.8vw;
		background: url(../../img/renovation/house_bg.png) no-repeat center bottom / 100%;
		line-height: 1.3;
	}

	.costBlockLarge .house {
		padding: 13.28vw 0 4.88vw;
		background: url(../../img/renovation/house_bg02.png) no-repeat center bottom / 100%;
	}

	.costTxt br {
		display: none;
	}

	.pointTtl {
		margin: 0 0 60px;
	}

	.pointTtlIn {
		display: block;
		font-size: 2.8rem;
	}

	.pointTtlIn:before {
		left: 0;
	}

	.pointTtlIn:after {
		right: 0;
	}

	.especially {
		display: block;
	}

	.pointBox {
		width: 48.3%;
		margin: 0 0 35px;
	}

	.pointBox:nth-last-of-type(1) {
		margin: 0;
	}

	.pointHead {
		font-size: 2.0rem;
	}

	.pointNum {
		font-size: 3.0rem;
	}

	.pointTxt {
		font-size: 1.6rem;
	}

	#point {
		margin: 0 0 60px;
	}

	.concernTtl .br_ {
		display: inline-block;
		color: #1c4fa1 !important;
	}

	#caseConts {
		padding: 0;
	}

	.caseBox {
		width: 48.3%;
		margin: 0 0 40px;
	}

	.caseBox:nth-last-of-type(1) {
		margin: 0;
	}

	.caseHead {
		font-size: 2.0rem;
	}

	.caseNum {
		font-size: 3.8rem;
	}

	.caseTtl {
		padding: 0 0 14px !important;
		font-size: 2.0rem;
	}

	.caseFigure {
		margin: 0 0 20px;
	}

	.caseTxt {
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.mark {
		width: 86px;
		height: 86px;
		padding: 14px 0 0 10px;
		top: -50px;
		right: 12px;
	}

	.mark img {
		width: 62px;
	}

	#works {
		margin: 0 0 50px;
		padding: 50px 0 55px;
	}

	.worksTtl {
		margin: 0 0 30px;
	}

	.worksTtlIn {
		padding: 0 40px;
		font-size: 3.0rem;
	}

	.worksBox {
		width: 48.3%;
		margin: 0 0 25px;
		padding: 20px 2.5%;
	}

	.category {
		margin: 0 0 10px;
		font-size: 1.3rem;
	}

	.place {
		margin: 0 0 15px;
		font-size: 2.0rem;
		letter-spacing: 0.08em;
	}

	.worksCost {
		margin: 0 0 20px;
	}

	.worksCost dt, .worksCost dd {
		font-size: 1.4rem;
	}

	.worksConts li {
		padding: 0 0 0 3%;
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}

	.worksConts {
		margin: 0 0 20px;
	}

	.construction dt, .construction dd {
		font-size: 1.3rem;
	}

	.reformFigure {
		width: 100%;
		margin: 0 0 20px;
	}

	.reformConts {
		width: 100%;
		padding: 0;
	}

	.reformTxt .br:after {
		content: "\A";
		white-space: pre;
	}

	.possibleBox {
		padding: 20px;
	}

	.possibleItem {
		margin: 0 25px 16px 0;
	}

	#outline {
		margin: 0 0 60px;
		padding: 60px 0;
	}

	.outlineInner {
		padding: 20px 4%;
	}

	#table th {
		padding: 20px 0;
	}

	#table td {
		padding: 20px 5%;
		font-feature-settings: "palt";
	}

	#topNews {
		margin: 0 auto 60px;
	}

	#topNewsList {
		margin: 0 0 30px;
	}

	.topNewsBox {
		max-width: 100%;
		margin: 0;
		border-bottom: 1px solid #e5e5e5;
	}

	.topNewsBoxIn {
		padding: 24px 0;
		align-items: flex-start;
		border-bottom: 1px solid #e5e5e5;
	}

	.postThumb {
		width: 37%;
		max-width: 200px;
	}

	.postThumb img {
		width: 100%;
	}

	.topNewsBoxIn:hover .postThumb img {
		transform: none;
	}

	.postConts {
		width: 63.8%;
		padding: 0 0 30px 20px;
	}

	.dateCat {
		margin: 0 0 8px;
	}

	.listDate,
	.listCat {
		font-size: 1.2rem;
	}

	.listDate:after {
		margin: 0 10px;
	}

	.listTtl {
		line-height: 1.2;
	}

	.topNewsBoxIn:hover .listTtl {
		color: inherit;
	}

	.topNewsBoxIn:hover .postConts:before {
		right: 11px;
	}

	.topNewsBoxIn:hover .postConts:after {
		right: 0px;
	}

	#contsNav {
		margin: 0 0 34px;
		padding: 0 4%;
		justify-content: space-between;
	}

	.cNavBox {
		width: 32%;
		max-width: inherit;
		margin: 0 0 16px;
	}

	.cNavBoxIn {
		width: 100%;
	}

	.cNavImg {
		width: 100%;
	}

	.cNavBoxIn:hover .cNavImg {
		transform: none;
	}

	.cNavBoxIn:hover .cNavFigure:before {
		background: rgba(0, 0, 0, 0.5);
	}

	.cNavTtl {
		right: 20px;
		bottom: 20px;
	}

	.cNavTtlEn {
		margin: 0 0 6px;
		font-size: 2.5rem;
	}

	.cNavTtlJp {
		font-size: 1.4rem;
	}
}

/* -------------------------------------------------- */
/* SP */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {

	.start p {
		width: 104px !important;
	}

	.start img {
		width: 100%;
		height: auto;
	}

	.br_:after {
		content: "\A";
		white-space: pre;
	}

	.inner {
		width: 92%;
		margin: 0 auto;
	}

	#mv {
		width: 100%;
		height: calc(100vh - 60px);
		margin: 60px 0 40px;
	}

	.slick-track {
		height: calc(100vh - 60px) !important;
	}

	.mvSlider01 {
		background: url(../../img/top/bg_mv01.jpg) no-repeat center bottom / cover;
	}

	.mvSlider02 {
		background: url(../../img/top/bg_mv02.jpg) no-repeat center bottom / cover;
	}

	.mvSlider03 {
		background: url(../../img/top/bg_mv03.jpg) no-repeat center bottom / cover;
	}

	.mvSlider04 {
		background: url(../../img/top/bg_mv04.jpg) no-repeat center bottom / cover;
	}

	.scrollArea {
		left: 4%;
	}

	#mvCatch {
		transform: translate(-50%, -100%);
	}

	#catchMain {
		margin: 0 0 20px;
		font-size: 57px;
	}

	#catchSub {
		font-size: 1.5rem;
	}

	#topVision .inner {
		margin: 0 auto 65px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	#topVisionCatch {
		font-size: 3.0rem;
		line-height: 1.3;
	}

	#bgTxt {
		position: absolute;
		top: -10px;
		left: 56px;
		font-size: 125px;
		letter-spacing: 0;
	}

	#topVisionTxt {
		width: 100%;
		padding: 30px 0 0;
		font-size: 1.8rem;
		line-height: 1.4;
		letter-spacing: 0.05em;
		text-align: center;
	}

	#topVisionTxt p,
	#topVisionTxt h1 {
		text-align: left;
	}

	.topVisionBtn {
		width: 100%;
		margin-top: 30px;
		position: relative;
		left: 0;
		bottom: 0;
		display: inline-block;
	}

	.renovationTtl {
		background: url(../../img/renovation/sp_renovation_mv_bg.jpg) no-repeat center bottom / cover;
	}

	.pageTtl {
		padding: 15px 5% 15px;
	}

	.pageSubTtl {
		width: 100%;
		font-size: 1.3rem;
		text-align: center;
	}

	.pageTtlJp .br_:after {
		content: "\A";
		white-space: pre;
	}

	.cross:after {
		width: 10px;
		height: 10px;
		margin: 2px auto;
		display: block;
		content: "";
		background: url(../../img/renovation/cross.png) no-repeat 0 0 / 100%;
	}

	.renovationSecTtl {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}

	.renoTtlJp {
		font-size: 3.5rem;
	}

	.renoTtlEn {
		font-size: 2.0rem;
	}

	.introCatch {
		margin: 0 0 20px;
		font-size: 3.0rem;
	}

	#reform .introCatch {
		letter-spacing: 0.04em;
	}

	.introCatch .br_:before {
		content: "";
	}

	.introCatch .brSp:before {
		content: "\A";
		white-space: pre;
	}

	.subCatch {
		font-size: 2.5rem;
	}

	.introTxt {
		width: 100%;
		font-size: 1.6rem;
	}

	.cost {
		margin: 0 0 60px;
		padding: 0 3% 15vw;
		background: #f9f9f9 url(../../img/renovation/intro_figure.png) no-repeat center bottom 30px / 96%;
	}

	.costBlock {
		width: 28%;
		padding: 12.3vw 0 0;
	}

	.costBlockLarge {
		width: 36% !important;
		padding: 6.13vw 0 0;
	}

	.costBlock03 {
		padding: 12vw 0 0;
	}

	.house {
		margin: 0 0 30px;
		padding: 11.2vw 0 5.33vw;
		background: url(../../img/renovation/house_bg.png) no-repeat center bottom / 100%;
		font-size: 3.45vw;
		line-height: 1.3;
	}

	.costBlockLarge .house {
		padding: 9.6vw 0 4vw;
		background: url(../../img/renovation/house_bg02.png) no-repeat center bottom / 100%;
		font-size: 3.45vw;
	}

	.costBlock03 .house {
		padding: 5.6vw 0 2.13vw;
	}

	.house .br_:before, .house .br_:after {
		content: "\A";
		white-space: pre;
	}

	.costTxt {
		font-size: 1.3rem;
		line-height: 1.4;
	}

	.costBlockLarge .costTxt {
		font-size: 1.3rem;
	}

	.costTxt br {
		display: none;
	}

	.pointTtl {
		margin: 0 0 60px;
	}

	.pointTtlIn {
		display: block;
		font-size: 2.0rem;
	}

	.pointTtlIn:before {
		left: 0;
	}

	.pointTtlIn:after {
		right: 0;
	}

	.pointTtlIn .br_:before {
		content: "\A";
		white-space: pre;
	}

	.especially {
		display: block;
	}

	.pointBox {
		width: 100%;
		margin: 0 0 40px;
	}

	.pointBox:nth-last-of-type(1) {
		margin: 0;
	}

	.pointHead {
		font-size: 2.0rem;
	}

	.pointNum {
		font-size: 3.0rem;
	}

	.pointTxt {
		font-size: 1.6rem;
	}

	#point {
		margin: 0 0 60px;
	}

	.concernTtl * {
		font-size: 3.0rem;
		line-height: 1.4;
	}

	.concernTtl .br_ {
		color: #1c4fa1 !important;
	}

	.concernTtlMain .br_:after {
		content: "\A";
		white-space: pre;
	}

	#caseConts {
		padding: 0;
	}

	.caseBox {
		width: 100%;
		margin: 0 0 40px;
	}

	.caseBox:nth-last-of-type(1) {
		margin: 0;
	}

	.caseHead {
		font-size: 2.0rem;
	}

	.caseNum {
		font-size: 3.8rem;
	}

	.caseTtl {
		padding: 0 0 14px !important;
		font-size: 2.0rem;
	}

	.caseFigure {
		margin: 0 0 20px;
	}

	.caseTxt {
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.mark {
		width: 86px;
		height: 86px;
		padding: 14px 0 0 10px;
		top: -50px;
		right: 12px;
	}

	.mark img {
		width: 62px;
	}

	#works {
		margin: 0 0 50px;
		padding: 50px 0 55px;
	}

	.worksTtl {
		margin: 0 0 30px;
	}

	.worksTtlIn {
		padding: 0 40px;
		font-size: 3.0rem;
	}

	.worksBox {
		width: 100%;
		margin: 0 0 25px;
		padding: 20px 4%;
	}

	.worksBox:nth-last-of-type(1) {
		margin: 0;
	}

	.category {
		margin: 0 0 10px;
		font-size: 1.3rem;
	}

	.place {
		margin: 0 0 15px;
		font-size: 2.0rem;
	}

	.worksCost {
		margin: 0 0 20px;
	}

	.worksCost dt, .worksCost dd {
		font-size: 1.4rem;
	}

	.worksConts li {
		padding: 0 0 0 3%;
		font-size: 1.3rem;
		letter-spacing: 0.08em;
	}

	.worksConts {
		margin: 0 0 20px;
	}

	.construction dt, .construction dd {
		font-size: 1.3rem;
	}

	.reformFigure {
		width: 100%;
		margin: 0 0 20px;
	}

	.reformConts {
		width: 100%;
		padding: 0;
	}

	.reformTxt .br:after {
		content: "\A";
		white-space: pre;
	}

	.possibleTtl {
		font-size: 2.0rem;
	}

	.possibleBox {
		padding: 20px;
	}

	.possibleItem {
		width: 100%;
		margin: 0 25px 16px 0;
		display: block;
	}

	#topNews {
		margin: 0 auto 60px;
	}

	#topNewsList {
		margin: 0 0 30px;
	}

	.topNewsBox {
		width: 100%;
		max-width: 100%;
		margin: 0;
		border-bottom: 1px solid #e5e5e5;
	}

	.topNewsBoxIn {
		padding: 24px 0;
		align-items: flex-start;
	}

	.postThumb {
		width: 36.2%;
	}

	.postThumb img {
		width: 100%;
		height: auto;
	}

	.postConts {
		width: 63.8%;
		padding: 0 0 30px 20px;
	}

	.dateCat {
		margin: 0 0 8px;
	}

	.listDate,
	.listCat {
		font-size: 1.2rem;
	}

	.listDate:after {
		margin: 0 10px;
	}

	.listTtl {
		line-height: 1.2;
	}

	#outline {
		margin: 0 0 60px;
		padding: 60px 0;
	}

	.outlineInner {
		padding: 20px 4%;
	}

	#table th {
		width: 100%;
		padding: 20px 5%;
		display: block;
		font-weight: 700;
		text-align: left;
	}

	#table td {
		padding: 20px 5%;
		display: block;
		width: 100%;
		font-feature-settings: "palt";
	}

	.topNewsBox:hover .listTtl {
		color: inherit;
	}

	.topNewsBox:hover .postThumb img {
		transform: scale(1.0);
	}

	.topNewsBox:hover .postConts:before {
		right: 11px;
	}

	.topNewsBox:hover .postConts:after {
		right: 0;
	}

	#contsNav {
		margin: 0 0 34px;
		padding: 0 4%;
		flex-wrap: wrap;
	}

	.cNavBox {
		max-width: inherit;
		margin: 0 0 16px;
	}

	.cNavImg {
		width: 100%;
	}

	.cNavTtl {
		right: 7.3vw;
		bottom: 6.7vw;
	}

	.cNavBoxIn:hover .cNavFigure:before {
		background: rgba(0, 0, 0, 0.5);
	}

	.cNavBoxIn:hover .cNavImg {
		transform: scale(1.0);
	}

	.cNavTtlEn {
		margin: 0 0 6px;
		font-size: 2.5rem;
	}

	.cNavTtlJp {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 600px) {
	.cost {
		margin: 0 0 60px;
		padding: 0 3% 30vw;
		background: #f9f9f9 url(../../img/renovation/sp_intro_figure.png) no-repeat center bottom 30px / 96%;
	}
}

@media screen and (max-width: 767px) {
	.intro {
		margin: 0 0 60px;
		padding: 0 0 311px;
		background: url(../../img/renovation/intro_ill.svg) no-repeat center bottom / 436px;
	}
}

@media screen and (max-width: 470px) {
	.intro {
		margin: 0 0 60px;
		padding: 0 0 67vw;
		background: url(../../img/design/intro_ill.svg) no-repeat center bottom / 100%;
	}
}

@media screen and (max-width: 374px) {
	#catchMain {
		font-size: 4.0rem;
	}

	.possibleItem .assist {
		margin: 0 0 0 50px;
	}

	.topNewsBtn {
		width: 100%;
		margin: auto;
	}
}