@charset "utf-8";
@keyframes fadeIn{0%{opacity:0;}100%{opacity:1;}}

*,*::after,*::before{box-sizing:border-box;margin:0;padding:0;}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s)::before,:where(del,ins,s)::after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s)::before{content:"stricken text start "}:where(s)::after{content:" stricken text end"}:where(del)::before{content:"deletion start "}:where(del)::after{content:" deletion end"}:where(ins)::before{content:"insertion start "}:where(ins)::after{content:" insertion end"}/*:where(audio,iframe,img,svg,video){max-block-size:100%}*/:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type="search"]){-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){:where([type="search"]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type="tel"],[type="url"],[type="email"],[type="number"]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:oklch(0% 0 0 / .3)}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity 300ms ease-out,display 300ms allow-discrete,overlay 300ms allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden="until-found"]){display:none!important}ul,li{list-style:none;}

html{
	display:block;
	position:relative;
	width:100%;
	height:100%;
	display-cutout: none;/*test 9/18*/
}
body{
	position:relative;
	width:100%;
	min-height:100%;
	background-color:#ffffff;
	font-family:"Helvetica Neue","Helvetica","ヒラギノ角ゴ W3 JIS2004","Hiragino Kaku Gothic W3 JIS2004","Arial","Yu Gothic","Meiryo",sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	letter-spacing:0em;
	line-height:1.5;
	color:#333;
	overflow-x:hidden;
	overflow-y:auto;
}
body:before{
	content:"";
	position:fixed;
	top:0;
	left:0;
	display:block;
	width:100vw;
	height:100vh;
	background-color:#fff;
	opacity:1;
	z-index:10000;
	transition:opacity 1.6s ease-in-out;
}
body.loaded:before{
	opacity:0;
	pointer-events:none;
}
body.navOpen{overflow-y:hidden;}
a,label{
	color:#006039;
	text-decoration:none;
	transition:all 0.4s;
}
img,svg{width:100%;height:auto;vertical-align:top;}
*[hidden]{
	position:fixed;
	top:-9999px;
	left:0;
}
*[data-bold]{
	font-family:"Helvetica Neue","Helvetica","ヒラギノ角ゴ W3 JIS2004","Hiragino Kaku Gothic W3 JIS2004","Arial","Yu Gothic","Meiryo",sans-serif;
	font-weight:bold;
}
*[data-maru]{
	font-family:dnp-shuei-mgothic-std,sans-serif;
	font-weight:bold;
}
*[data-fade]{
	transition: opacity 0.8s ease-in-out,transform 0.8s ease-in-out;
	opacity:0;
}
*[data-fade="toLeft"]{transform:translateX(80px);}
*[data-fade="toRight"]{transform:translateX(-80px);}
*[data-fade].show{opacity:1;}
*[data-fade="toLeft"].show,
*[data-fade="toRight"].show{transform:translateX(0);}
.videoFrame,
.videoFrame iframe{
	display:block;
	position:absolute;
}
.videoFrame{
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	overflow:hidden;
	transition:opacity 0.4s ease;
}
.videoFrame.show{opacity:1;}
.videoFrame video{
	display:block;
	position:absolute;
	top:-1px;
	left:-1px;
	width:calc(100% + 2px);
	height:calc(100% + 2px);
}
a,button,label{cursor:pointer;}
a:hover,button:hover,label:hover{color:#99bfb0;}
button{
	display:block;
	background-color:transparent;
	border:none;
	cursor:pointer;
	outline:none;
}
a use,
button use,
label use{
	fill:#006039;
	transition:fill 0.4s;
}
a:hover use,
button:hover use,
label:hover use{fill:#99bfb0;}
address{font-style:normal;}
address span{display:block;}
section[data-full]{width:100%;}
.swiper-button-next,
.swiper-button-prev{position:static;}
.swiper-button-next:after,
.swiper-button-prev:after{content:none;}
.sw-arrow svg use{fill:#fff;}
#header{
	line-height:1.0;
	z-index:1000;
}
#header .hdInner{width:100%;}
#header #hdLogo{pointer-events:auto;}
#header li{list-style:none;}
#hdLogo a{
	display:block;
	position:relative;
}
#hdLogo a:before{
	content:"";
	display:block;
	width:calc(100% - 6px);
	height:calc(100% - 6px);
	position:absolute;
	top:3px;
	left:3px;
	background-color:#fff;
	border-radius:22px;
	z-index:0;
}
#hdLogo svg{
	position:relative;
	z-index:1;
}
#hdLogo a:hover svg use{fill:#006039;}
#globalMenu a,
#globalMenu label{
	font-weight:bold;
	white-space:nowrap;
}
.mLi{position:relative;}
.mLi+.mLi{background:url("../img/common/bar.svg") no-repeat left top;}
.mLink{
	display:block;
	position:relative;
}
.mLink:before{
	content:"";
	display:block;
	position:absolute;
	background-color:#006039;
	opacity:0;
	transition:opacity 0.4s;
}
.mLi:hover{
	transition:opacity 0.4s;
	opacity:0.5;
}
.mLi:hover .mLink:before{opacity:0.5;}
.mLi[data-active] .mLink:before{opacity:1;}
.mLink > *{display:block;}
.mLink strong{color:#333;}
.easeMenuOuter{
	display:grid;
	grid-template-columns:1fr;
	grid-template-rows:0fr;
	transition:grid-template-rows .4s ease-in-out;
}
.easeMenu{
	transition:all 0.4s;
	overflow:hidden;
}
#newhouseCheck:checked ~ .mLabel[for="newhouseCheck"]:before{transform:rotate(0deg);}
#newhouseCheck:checked ~ .easeMenuOuter{grid-template-rows:1fr;}
.easeMenu li+li{background:url("../img/common/bar.svg") no-repeat left top;}
.easeMenu li a{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.easeMenu li a:after{
	content:"";
	display:block;
	background:url("../img/common/trim.svg") no-repeat center center / contain;
}
.pullLi .mLabel{position:absolute;}
.mLabel:before,
.mLabel:after{
	content:"";
	position:absolute;
	display:block;
	height:1px;
	background-color:#006039;
	transition:transform 0.4s;
	transform-origin:center center;
}
.mLabel:before{transform:rotate(90deg);}
.mLabel i{
	display:block;
	position:absolute;
}
.subMenu li[data-active] a{color:#99bfb0;}
.snsLine a:hover{opacity:0.6;}
.snsLine a use{fill:#34ac37;}
select,input,textarea{
	font-family:"Helvetica Neue","Helvetica","ヒラギノ角ゴ W3 JIS2004","Hiragino Kaku Gothic W3 JIS2004","Arial","Yu Gothic","Meiryo",sans-serif;
}
#footer{
	width:100%;
	color:#fff;
	font-weight:bold;
	text-align:left;
}
#footer .inner{margin:0 auto;}
#footer *:not(.ftLead){line-height:1.0;}
#footer .inner *:not(.ftLead){display:block;}
#footer .inner > *:not(.ftLead){font-weight:400;}
#footer a{display:block;}
#footer .ftLead span{
	display:block;
	line-height:1.6;
}
#footer .inner p.tel a{
	display:inline-block;
	color:#fff;
}
#lineFtBtr a:hover{opacity:0.5;}
.sliderBox{width:100%;}
.sliderBox .sliderInner{
	display:block;
	position:relative;
	max-width:1280px;
	margin:0 auto;
}
.sliderHd{
	display:grid;
	background-color:#fff;
}
.sliderHd h2{
	grid-area:jpttl;
	display:block;
}
.sliderHd h2,
.sliderHd .leadTxt{
	display:block;
	line-height:1.0;
}
.sliderHd h2 > span{
	position:relative;
	display:block;
}
.sliderHd h2 > span:before,
.sliderHd h2 > span:after{
	content:"";
	display:block;
	position:absolute;
}
.sliderHd h2 > span:before{width:1px;}
.sliderHd h2 > span:after{height:1px;}
.sliderHd h2 > span > span{display:block;}
.sliderHd .leadTxt{grid-area:enttl;}
.sliderHd .sliderBtn{
	grid-area:pnlink;
	display:block;
}
.sliderHd .sliderBtn li{display:inline-block;}
.sliderHd .sliderBtn button{
	display:block;
	width:100%;
	height:100%;
	border-radius:50%;
	border:1px solid #006039;
	transition:all 0.4s ease;
}
.sliderBox .sliderBtn button:hover{background-color:#006039;}
.sliderBox .sliderBtn button:hover svg use{fill:#fff;}
.sliderHd .reLink{grid-area:alllink;}
.sliderBox .reLink a{border:1px solid #006039;}
.sliderBox .reLink a:hover{
	background-color:#006039;
	color:#fff;
}
.sliderBox .reLink a:hover svg use{fill:#fff;}
.sliderBox .swiper-wrapper{transition-timing-function: linear !important;}
.sliderBox .workBoxSet{z-index:0;}
.workBoxSet{font-weight:bold;}
.workBoxSet li{
	display:block;
	list-style:none;
}
.workBoxSet a:hover{opacity:0.5;}
.workBoxSet li a{
	display:grid;
	grid-template:"fimg fimg" auto "fttl fTag" auto "fttl fname" auto "fttl fYear" auto / 1fr auto;
	width:100%;
}
.workBoxSet li img{
	grid-area:fimg;
	overflow:hidden;
}
.workBoxSet li[data-new] a:after{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/blog/new-icon.svg) no-repeat;
}
.workBoxSet li .caseTag{grid-area:fTag;}
.workBoxSet li h3{
	grid-area:fttl;
	word-break:break-all;
	line-height:1.722;
}
.workBoxSet li .houseName,
.workBoxSet li .houseYear{
	display:block;
	line-height:1.0;
	text-align:center;
}
.workBoxSet li .houseName{grid-area:fname;}
.workBoxSet li .houseName span{display:block;}
.workBoxSet li .houseYear{grid-area:fYear;}
.workBoxSet li .houseYear span{
	display:block;
	margin:0 auto;
}
.caseTag{
	display:inline-flex!important;
	justify-content:center;
	align-items:center;
	border-radius:50%;
	color:#fff;
}
.caseTag span{
	display:block;
	line-height:1.0;
	white-space:nowrap;
}
.caseTag.newhouse{background-color:#bcceb6;}
.caseTag.reform{background-color:#e7cc76;}
.reLink{
	width:100%;
	text-align:center;
}
.reLink a{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	margin:0 auto;
	font-weight:bold;
	line-height:1.0;
}
.reLink a svg{transition:transform 0.4s;}
.reLink a:hover svg{transform:translateX(10px);}
li[data-cat="newhouse"] a,
body[data-cat="newhouse"] .caseHeader,
body[data-cat="newhouse"] #recommendGallery .swiper-slide a{color:#006039;}
li[data-cat="reform"] a,
body[data-cat="reform"] .caseHeader,
body[data-cat="reform"] #recommendGallery .swiper-slide a{color:#c46800;}
li[data-cat="newhouse"] .houseYear span,
body[data-cat="newhouse"] .workBoxSet li .houseYear span{border-top:1px solid #006039;}
li[data-cat="reform"] .houseYear span,
body[data-cat="reform"] .workBoxSet li .houseYear span{border-top:1px solid #c46800;}
body[data-cat="newhouse"] .reLink a{
	border:#006039 solid 1px;
	color:#006039;
}
body[data-cat="newhouse"] .reLink a:hover{
	background-color:#006039;
	color:#fff;
}
body[data-cat="newhouse"] .reLink a svg use{fill:#006039;}
body[data-cat="newhouse"] .reLink a:hover svg use{fill:#fff;}
body[data-cat="reform"] .reLink a{
	border:#c46800 solid 1px;
	color:#c46800;
}
body[data-cat="reform"] .reLink a:hover{
	background-color:#c46800;
	color:#fff;
}
body[data-cat="reform"] .reLink a svg use{fill:#c46800;}
body[data-cat="reform"] .reLink a:hover svg use{fill:#fff;}
.circleLink a,
.circleLink label{
	display:inline-flex;
	justify-content:flex-end;
	align-items:center;
	margin-left:auto;
	border-bottom:1px solid #006039;
	color:#006039;
	line-height:1.0;
	transition:all 0.4s;
	cursor:pointer;
}
.circleLink a:hover,
.circleLink label:hover{opacity:0.5;}
.circleLink a > *,
.circleLink label > *{display:block;}
.circleLink svg,
.circleLink img{transition:transform 0.4s;}
.circleLink *:hover svg,
.circleLink *:hover img{transform:translateX(10px);}
#movieCheck:checked ~ #movieLightBox{
	opacity:1;
	pointer-events:auto;
}
#movieLightBox{
	position:fixed;
	top:0;
	right:0;
	width:100vw;
	height:100vh;
	pointer-events:none;
	opacity:0;
	transition:all 0.4s;
	z-index:10000;
}
#movieLightBox > label{
	display:block;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.7);
	z-index:101;
}
#movieLightBox .inner{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	background-color:#000;
	overflow-x:hidden;
	overflow-y:auto;
	z-index:102;
}
#movieLightBox .inner > label{
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}
#movieLightBox .inner > label svg{
	display:block;
	position:absolute;
}
#movieLightBox .inner > label svg use{fill:#fff;}
#movieLightBox .inner > label:hover svg use{fill:#999;}
#movieLightBox .movieFrame{
	position:relative;
	z-index:2;
}
#movieLightBox .movieFrame:before{
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:56.25%;
}
#movieLightBox .movieFrame iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#lineLightBox{
	position:fixed;
	top:0;
	right:0;
	width:100vw;
	height:100vh;
	display:flex;
	align-items:center;
	justify-content:center;
	pointer-events:none;
	opacity:0;
	transition:all 0.4s;
	z-index:1001;
}
#lineCheck:checked ~ #lineLightBox{
	opacity:1;
	pointer-events:auto;
}
#lineLightBox > label{
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.7);
	z-index:101;
}
#lineLightBox .inner{
	position:relative;
	max-width:800px;
	background-color:#fff;
	border-radius:10px;
	overflow-x:hidden;
	overflow-y:auto;
	scroll-behavior:smooth;
	transition:all 0.4s ease;
	z-index:102;
}
#lineLightBox .inner > label{
	position:absolute;
	display:block;
	z-index:1;
}
#lineLightBox .inner > label svg{
	display:block;
	width:100%;
	height:100%;
}
#lineLightBox .inner > label svg use{fill:#006039;}
#lineLightBox .inner > label:hover svg use{fill:#4fad87;}
#lineLightBox .lbInner{margin:0 auto;}
#lineLightBox{
	text-align:center;
	color:#006039;
}
#lineLightBox a{display:block;}
#lineLightBox .telTxt a{display:inline-block;}
#lineLightBox .lineTxt{
	display:block;
	margin:0 auto;
}
#lineLightBox .lineTxt img{width:100%;}
#lineLightBox .snsLine{
	width:100%;
	text-align:center;
}
#lineLightBox .snsLine a{margin:0 auto;}
.notFound404{
	width:min(89.334vw,960px);
	margin:0 auto;
}
.notFound404 p{line-height:1.8;}
.reLink{
	width:100%;
	text-align:center;
}
.notFound404 .reLink a{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	margin:0 auto;
	font-weight:bold;
	line-height:1.0;
}
.notFound404 .reLink a svg{transition:transform 0.4s;}
.notFound404 .reLink a:hover svg{transform:translateX(10px);}
.notFound404 .reLink a{border:1px solid #006039;}
@media (hover:none){

}
@media (max-width:1599.98px){
	#gNavLayer{
		position:fixed;
		top:0;
		left:0;
		display:block;
		width:100vw;
		height:100vh;
		background:rgba(0,0,0,0.5);
		transition:opacity 0.4s ease 0.4s;
		opacity:0;
		cursor:pointer;
		pointer-events:none;
		z-index:998;
	}
	#gNavCheck:checked ~ #gNavLayer{
		opacity:1;
		pointer-events:auto;
	}
	.gNavBtn{
		display:block;
		position:relative;
		width:30px;/*25px > 30px*/
		height:22px;/*18px > 22px*/
		align-self:center;
		cursor:pointer;
	}
	.gNavBtn:before,
	.gNavBtn:after,
	.gNavBtn span{
		content:"";
		display:block;
		width:100%;
		height:2px;
		position:absolute;
		left:0;
		border-radius:2px;
		background-color:#006039;
		transition:all 0.4s;
	}
	.gNavBtn:before{
		top:0;
		transform-origin:left top;
	}
	.gNavBtn:after{
		bottom:0;
		transform-origin:left bottom;
	}
	.gNavBtn span{top:calc(50% - 1px);}
	#gNavCheck:checked ~ #header .gNavBtn:before,
	#gNavCheck:checked ~ #gNavBtn2.gNavBtn:before{transform:translate(2px,21px) rotate(-45deg);}
	#gNavCheck:checked ~ #header .gNavBtn span,
	#gNavCheck:checked ~ #gNavBtn2.gNavBtn span{opacity:0;}
	#gNavCheck:checked ~ #header .gNavBtn:after,
	#gNavCheck:checked ~ #gNavBtn2.gNavBtn:after{transform:translate(2px,-21px) rotate(45deg);}
}
@media (max-width:768.98px){
	body{font-size:calc(14 / 16 * 1rem);}/*12*/
	*[data-pc],
	*[data-tb]{display:none!important;}
	#header{
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:67px;
		padding:0 30px 0 28px;
		background-color:#ffffff;
	}
	#header,
	#header .hdOuter,
	#header .hdInner{overflow:visible;}
	#header .hdInner{
		display:grid;
		grid-template:"logo gbtn" 100% / 1fr 25px;
		width:100%;
		height:100%;
	}
	#header #hdLogo,
	.gNavBtn{
		position:relative;
		z-index:1;
	}
	#hdLogo{grid-area:logo;}
	#hdLogo a{
		width:90px;/*83px > 90px*/
		margin-bottom:-31px;
		padding-top:14px;
		background-color:#ffffff;
		border-radius:12px;
		transition:all 0.4s;
	}
	#gNavCheck:checked ~ #header #hdLogo a{
		opacity:0;
		pointer-events:none;
	}
	.gNavBtn{grid-area:gbtn;}
	#globalMenu{
		position:fixed;
		top:0;
		left:0;
		display:grid;
		grid-template:"gmenu sp" auto "smenu line" auto "gAf gAf" 1fr / 200px 113px;
		width:100vw;
		height:100vh;
		padding:88px calc(50vw - 156.5px) 52px;
		transform:translateX(calc(-100vw - 1px));
		transition:transform 0.4s;
		background:url("../img/common/menu_bg.svg") #fff no-repeat right 88px;
		background-size:47px auto;
		overflow-x:hidden;
		overflow-y:auto;
		scroll-behavior:smooth;
		z-index:0;
	}
	#gNavCheck:checked ~ #header #globalMenu{transform:translateX(0px);}
	#globalMenu:after{
		content:"";
		grid-area:gAf;
		display:block;
		width:100%;
		height:1px;
	}
	.mainMenu{
		grid-area:gmenu;
		align-self:flex-start;
		padding-left:15px;
	}
	.mLi{
		font-size:calc(17 / 16 * 1rem);
		letter-spacing:1.7px;
	}
	.mLi+.mLi{
		margin-top:24px;
		padding-top:24px;
		background-size:auto 1.5px;
	}
	.mLink:before{
		width:4px;
		height:32px;
		left:-15px;
		top:-1px;
	}
	#newhouseCheck:checked ~ .mLink:before{opacity:1;}
	.mLink strong{
		font-size:calc(17 / 16 * 1rem);/*14.333 > 17*/
		letter-spacing:3.4px;
	}
	.mLi:nth-child(2) .mLink strong{letter-spacing:4.2px;}
	.mLi:nth-child(4) .mLink strong{letter-spacing:10px;}
	.mLi:nth-child(5) .mLink strong{letter-spacing:1px;}
	.mLink span{
		margin-top:10px;
		padding-left:1px;
		font-size:calc(9 / 16 * 1rem);/*6>9*/
		letter-spacing:2.8px;
	}
	.pullLi .mLink{width:calc(100% - 34px);}
	.mLabel{
		width:34px;
		height:30px;
		right:0;
		top:24px;
	}
	.mLabel:before,
	.mLabel:after{
		right:9px;
		top:calc(50% - 7px);
		width:9px;
	}
	.mLabel i{
		top:0;
		right:0;
		width:100%;
		height:100%;
	}
	.easeMenuOuter .easeMenu{margin-right:-5px;}/********sp upset************/
	#newhouseCheck:checked ~ .easeMenuOuter .easeMenu{padding:38px 0 20px;}
	.easeMenu li{
		font-size:calc(16 / 16 * 1rem);/*14>16*/
		letter-spacing:1.8px;
	}
	.easeMenu li+li{
		margin-top:16px;
		padding-top:15px;
		background-size:auto 1.5px;
	}
	.easeMenu li:nth-child(2),
	.easeMenu li:nth-child(4){letter-spacing:2.8px;}
	.easeMenu li a{padding-left:2px;}
	.easeMenu li a:after{
		width:6px;
		height:14px;
		margin-right:4px;
	}
	.subMenu{
		grid-area:smenu;
		align-self:flex-start;
		margin-top:58px;/*50>58*/
		padding:0 0 50px 25px;/*0 0 4px 25px*/
		font-size:calc(16 / 16 * 1rem);/*14>16*/
	}
	.subMenu li:first-child{letter-spacing:1.4px;}
	.subMenu li:not(:first-child):not(:last-child){letter-spacing:12px;}
	.subMenu li:last-child{letter-spacing:2px;}
	.subMenu li+li{margin-top:20px;}
	.snsLine{
		grid-area:line;
    align-self:flex-end;
    justify-self:flex-end;
	}
	.snsLine a{
		display:block;
		width:90px;/*120px > 90px*/
		margin-left:auto;
		border-radius:50%;
		background-color:#34ac37;
		overflow:hidden;
	}
	#footer{
		position:relative;
		margin-top:100px;
		padding:20.8vw 0 20px;
		background:url("../img/common/ft-bg-sp.svg") left top no-repeat #fff;
		background-size:100% auto;
	}
	#footer .inner{
		width:100%;
		padding:0 30px 0 28px;
	}
	.flogo a{width:178px;}
	.ftLead{
		margin-top:38px;
		font-size:calc(15 / 16 * 1rem);
		letter-spacing:1.6px;
	}
	address{
		margin-top:30px;
		font-size:calc(13 / 16 * 1rem);/**14>13**/
		letter-spacing:1.6px;
	}
	#footer .inner address span{line-height:1.4;}
	#footer address{line-height:1.657!important;}
	#lineFloat{
		position:fixed;
		right:0;
		bottom:56px;
		width:40px;
		opacity:0;
		transition:opacity 0.4s ease;
		z-index:99;
	}
	#lineFloat.show{opacity:1;}
	#lineFloat a{
		display:block;
		background-color:#34ac37;
		border-radius:10px 0 0 10px;
		transition:all 0.4s ease;
	}
	.videoFrame iframe{
		top:-1px;
		left:-1px;
		width:calc(100% + 2px);
		height:calc(100% + 2px);
	}
	.tel{
		margin-top:11px;
		font-size:calc(13 / 16 * 1rem);/*14>13*/
		letter-spacing:2px;
	}
	.workHour{
		margin-top:16px;
		font-size:calc(13 / 16 * 1rem);/*14>13*/
		letter-spacing:1.8px;
	}
	#lineFtBtr{margin-top:37px;}
	#lineFtBtr a{width:160px;}
	#copyrights{
		margin-top:60px;
		font-size:calc(9.333 / 16 * 1rem);
		text-align:center;
		letter-spacing:1.0px;
	}
	.sliderBox{margin-top:102px;}
	.sliderHd{
		display:block;
		padding:0 8vw 32px;
	}
	.sliderHd h2 > span{
		padding:0px 10px 10px;
		font-size:calc(22 / 16 * 1rem);
		letter-spacing:13px;
	}
	.sliderHd h2 > span:before{
		height:52px;
		top:0;
		left:0;
	}
	.sliderHd h2 > span:after{
		width:calc(100% + 5px);
		bottom:0px;
		left:-5px;
	}
	.sliderHd .leadTxt{
		padding:8px 0 0 5px;
		font-size:calc(8 / 16 * 1rem);
		letter-spacing:2.7px;
		transform:translateX(3.88px);
	}
	.sliderHd .sliderBtn{
		justify-self:flex-end;
		text-align:right;
	}
	.sliderHd .sliderBtn li{
		display:inline-flex;
		justify-content:center;
		align-items:center;
		width:34px;
		height:100%;
	}
	.sliderHd .sliderBtn li+li{margin-left:6px;}
	.sliderHd .reLink{
		width:100%;
		margin-top:16px;
	}
	.sliderBox .swiper-slide{margin:0 12px;}
	.workBoxSet li{width:264px;}
  .workBoxSet li[data-new] a:after{
		background-position:right 15px;
		background-size:21px auto;
  }
	.workBoxSet li img{
		width:100%;
		margin:0 auto 18px;
		border-radius:18px;
	}
	.workBoxSet li .caseTag,
	.workBoxSet li .houseName,
	.workBoxSet li .houseYear{
		width:53px;
		margin-right:5px;
	}
	.workBoxSet li .caseTag{height:53px;}
	.workBoxSet li .caseTag.newhouse{font-size:calc(12 / 16 * 1rem);}
	.workBoxSet li .caseTag.reform{font-size:calc(11 / 16 * 1rem);}
	.workBoxSet li .caseTag.newhouse span{
		letter-spacing:22px;
		text-indent:22px;
	}
	.workBoxSet li .caseTag.reform span{
		letter-spacing:-2.5px;
		text-indent:-2.5px;
		letter-spacing:-1px;
	}
	.workBoxSet li h3{
		padding:8px 8px 0;
		font-size:calc(14 / 16 * 1rem);
	}
	.workBoxSet li .houseName{
		margin-top:12px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
	}
	.workBoxSet li .houseName span{margin:0 -7px;}
	.workBoxSet li .houseYear span{
		margin-top:6px;
		padding-top:8px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
	}
	.reLink{margin-top:57px;}
	.reLink a{
		padding:7px 14px;
		border-radius:4px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
		letter-spacing:2px;
	}
	.reLink a svg{
		width:19px;
		margin-left:19px;
	}
	.circleLink label,
	.circleLink a{padding:0 0 7px 5px;}
	.circleLink span{
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
		letter-spacing:1.1px;
	}
	.circleLink img,
	.circleLink svg{
		width:21px;
		margin-left:9px;
	}
	#movieLightBox .inner{width:100%;}
	#movieLightBox .lbInner{
		width:100%;
		padding:100px 8vw 78px;
	}
	#movieLightBox .inner > label svg{
		width:17px;
		top:27px;
		right:25px;
	}
	#movieLightBox .movieFrame{width:100%;}
	#lineLightBox .inner{width:96%;}
	#lineLightBox .inner > label{
		width:17px;
		top:27px;
		right:25px;
	}
	#lineLightBox .lbInner{
		width:100%;
		padding:70px 8vw 50px;
	}
	#lineLightBox .lineTxt{width:302px;}
	#lineLightBox .telTxt{margin-top:32px;}
	#lineLightBox .telTxt small{
		font-size:calc(13.2356 / 16 * 1rem);
		letter-spacing:3.8px;
	}
	#lineLightBox .telTxt span{
		margin-left:10px;
		font-size:calc(18.8352 / 16 * 1rem);
		letter-spacing:4px;
	}
	#lineLightBox .snsLine{margin-top:30px;}
	#lineLightBox .snsLine a{width:174px;}
	#lineLightBox .snsLine a{
		border-radius:0;
		background-color:transparent;
	}
	#lineLightBox .line{
		margin-top:29px;
		font-size:calc(14 / 16 * 1rem);/********sp upset************/
		letter-spacing:1.3px;
	}
	.notFound404{margin-top:80px;}
	.notFound404 h2{
		margin-bottom:36px;
		font-size:calc(20 / 16 * 1rem);
	}
	.notFound404 p{font-size:calc(15 / 16 * 1rem);}
}
@media (min-width:769px){
	body{
		display:grid;
		grid-template-areas:"hd main";
		grid-template-rows:100%; 
		font-size:calc(15 / 16 * 1rem);/*14*/
	}
	*[data-sp]{display:none!important;}
	a[href*="tel:"]{
		pointer-events:none;
		cursor:default;
		text-decoration:none;
	}
	#header{
		grid-area:hd;
		height:100%;
	}
	#header .hdOuter{
		position:sticky;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		scroll-behavior:smooth;
	}
	#header .hdInner{
		display:flex;
		flex-direction:column;
		align-items:center;
		min-height:100%;
		padding-left:7px;
	}
	#hdLogo{
		width:150px;
		margin-left:-10px;
	}
	#hdLogo a{
		display:block;
		position:relative;
	}
	#hdLogo svg{
		display:block;
		position:relative;
		z-index:1;
	}
	#globalMenu{width:180px;}
	.mLi+.mLi{
		margin-top:26px;
		padding-top:25px;
		background-size:auto 2px;
	}
	.mLink:before{
		width:5px;
		height:40px;
		left:-19px;
		top:-2px;
	}
	.mLink strong{
		font-size:calc(19 / 16 * 1rem);
		letter-spacing:3.2px;
	}
	.mLi:nth-child(4) .mLink strong{letter-spacing:10px;}
	.mLi:nth-child(5) .mLink strong{letter-spacing:1px;}
	.mLink span{
		margin-top:11px;
		padding-left:4px;
		font-size:calc(7 / 16 * 1rem);
		letter-spacing:3px;
	}
	.pullLi{cursor:pointer;}
	.pullLi .mLink{width:calc(100% - 18px);}
	.mLabel{
		width:18px;
		height:37px;
		right:0;
		top:25px;
	}
	.mLabel:before,
	.mLabel:after{
		right: 7px;
		top: 10px;
		width:11px;
	}
	.mLabel i{
		top:-12px;
		right:-12px;
		width:calc(100% + 24px);
		height:calc(100% + 24px);
	}
	.easeMenuOuter{margin:0 -6px 0 0;}
	#newhouseCheck:checked ~ .easeMenuOuter .easeMenu{padding:54px 0 20px;}
	.easeMenu li{
		font-size:calc(17 / 16 * 1rem);
		letter-spacing:1.8px;
	}
	.easeMenu li+li{
		margin-top:22px;
		padding-top:21px;
		background-size:auto 1.5px;
	}
	.easeMenu li:nth-child(2),
	.easeMenu li:nth-child(4){letter-spacing:2.4px;}
	.easeMenu li a{padding-left:2px;}
	.easeMenu li a:after{
		width:7px;
		height:14px;
	}
	.subMenu{
		padding-left:8px;
		font-size:calc(15 / 16 * 1rem);
	}
	.subMenu li+li{margin-top:25px;}
	.subMenu li{letter-spacing:14px;}
	.subMenu li:nth-child(1){letter-spacing:1.4px;}
	.subMenu li:nth-child(4){letter-spacing:2.2px;}
	.snsLine{
		width:150px;
		margin-top:40px;
		margin-left:-1px;
	}
	main{
		grid-area:main;
		z-index:0;
	}
	#footer{
		margin-top:100px;
		padding:105px 0 32px;
	}
	#footer .inner{
		display:grid;
		grid-template:"flogo ftline" auto "ftlead ftline" auto "ftad ftline" auto "fttel ftline" auto "ftwork ftline" auto "copyrights copyrights" auto / 1fr 300px;
	}
	.flogo{grid-area:flogo;}
	.flogo a{width:270px;}
	.ftLead{
		grid-area:ftlead;
		margin-top:47px;
		font-size:calc(19 / 16 * 1rem);
		letter-spacing:0.8px;
	}
	.ftLead span{width:318px;}
	address{
		grid-area:ftad;
		margin-top:32px;
		font-size:calc(14 / 16 * 1rem);/*15 > 14*/
		letter-spacing:2px;
	}
	.videoFrame iframe{
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
	.tel{
		grid-area:fttel;
		margin-top:16px;
		font-size:calc(14 / 16 * 1rem);/*15 > 14*/
		letter-spacing:2px;
	}
	.workHour{
		grid-area:ftwork;
		margin-top:16px;
		font-size:calc(14 / 16 * 1rem);/*15 > 14*/
		letter-spacing:1.8px;
	}
	#lineFtBtr{
		grid-area:ftline;
		align-self:flex-end;
		text-align:right;
	}
	#lineFtBtr a{
		width:200px;
		margin:0 0 -6px auto;
	}
	#copyrights{
		grid-area:copyrights;
		margin-top:58px;
		font-size:calc(12 / 16 * 1rem);/*13 > 12*/
		text-align:right;
		letter-spacing:1.4px;
	}
	.sliderBox{margin-top:132px;}
	.sliderHd{
		height:100%;
		grid-template:"jpttl enttl" auto "alllink alllink" 1fr / auto auto;
		position:absolute;
		top:0;
		left:0;
		background-color:#fff;
		z-index:1;
	}
	.sliderHd h2,
	.sliderHd .leadTxt{writing-mode:vertical-rl;}
	.sliderHd h2 > span{
		height:220px;
		padding:5px 7px 10px 7px;
		font-size:calc(28 / 16 * 1rem);
		letter-spacing:17px;
	}
	.sliderHd h2 > span:before{
		height:230px;
		top:0;
		left:0;
	}
	.sliderHd h2 > span:after{
		width:calc(100% + 6px);
		bottom:0px;
		left:-6px;
	}
	.sliderHd h2 > span > span{transform:translateX(4px);}
	.sliderHd .leadTxt{
		justify-self:flex-start;
		padding:7px 0 0 7px;
		font-size:calc(10 / 16 * 1rem);
		letter-spacing:3.5px;
		transform:translateX(5px);
	}
	.sliderHd .sliderBtn{
		width:100%;
		text-align:center;
	}
	.sliderHd .sliderBtn li{width:44px;}
	.sliderHd .sliderBtn li+li{margin-left:10px;}
	.sliderHd .reLink{margin-top:71px;}/*48px*/
	.sliderBox .swiper-slide{
		width:340px;
		margin:0 15px;
	}
	.workBoxSet li{width:340px;}
	.workBoxSet li[data-new] a:after{
		background-position:right 20px;
		background-size:25px auto;
  }
	.workBoxSet li img{
		margin-bottom:23px;
		border-radius:22px;
	}
	.workBoxSet li .caseTag,
	.workBoxSet li .houseName,
	.workBoxSet li .houseYear{
		width:70px;
		margin-right:16px;
	}
	.workBoxSet li .caseTag{height:70px;}
	.caseHeader .caseTag.newhouse{font-size:calc(16 / 16 * 1rem);}
	.caseHeader .caseTag.reform{font-size:calc(13 / 16 * 1rem);}
	.workBoxSet li .caseTag.newhouse span{
		letter-spacing:22px;
		text-indent:22px;
	}
	.workBoxSet li .caseTag.reform span{
		letter-spacing:-2.5px;
		text-indent:-2.5px;
	}
	.workBoxSet li h3{
		padding:16px 38px 0 26px;
		font-size:calc(18 / 16 * 1rem);
		letter-spacing:2px;
	}
	.workBoxSet li .houseName{
		margin-top:12px;
		font-size:calc(16 / 16 * 1rem);
		letter-spacing:4px;
		text-indent:-1.5px;
	}
	.workBoxSet li .houseName span{margin:0 -7px;}
	.workBoxSet li .houseYear span{
		margin:5px 4px 0;
		padding-top:9px;
		font-size:calc(17 / 16 * 1rem);/*******16>17**********/
		letter-spacing:1.5px;
		text-indent:-1.5px;
	}
	.reLink{margin-top:71px;}
	.reLink a{
		padding:10px 18px;
		border-radius:4px;
	}
	.reLink a span{
		font-size:calc(16 / 16 * 1rem);
		letter-spacing:3px;
	}
	.reLink a svg{
		width:24px;
		margin-left:16px;
	}
	.circleLink a,
	.circleLink label{padding:0 0 9px 6px;}
	.circleLink span{
		font-size:calc(16 / 16 * 1rem);
		letter-spacing:1.5px;
	}
	.circleLink svg,
	.circleLink img{
		width:27px;
		margin-left:12px;
	}
	#movieLightBox .inner > label svg{
		width:18px;
		top:43px;
		right:47px;
	}
	#movieLightBox .movieFrame{width:800px;}
	#lineLightBox .inner{width:80%;}
	#lineLightBox .inner > label{
		width:18px;
		top:43px;
		right:47px;
	}
	#lineLightBox .lbInner{
		width:550px;
		padding:80px 0;
	}
	#lineLightBox .telTxt{margin-top:35px;}
	#lineLightBox .telTxt small{
		font-size:calc(26 / 16 * 1rem);
		letter-spacing:4.1px;
	}
	#lineLightBox .telTxt span{
		margin-left:23px;
		font-size:calc(37 / 16 * 1rem);
		letter-spacing:8px;
	}
	#lineLightBox .snsLine{margin-top:36px;}
	#lineLightBox .snsLine a{width:240px;}
	#lineLightBox .line{
		margin-top:33px;
		font-size:calc(15 / 16 * 1rem);
		letter-spacing:1.5px;
	}
	.notFound404{margin-top:120px;}
	.notFound404 h2{
		margin-bottom:48px;
		font-size:calc(24 / 16 * 1rem);
	}
	.notFound404 p{font-size:calc(18 / 16 * 1rem);}
}
@media (min-width:769px) and (max-height:899.98px){
	#header .hdInner{padding:30px 0 20px;}
	#hdLogo{margin-bottom:50px;}
	.subMenu{margin-top:30px;}
}
@media (min-width:769px) and (min-height:900px) and (max-height:1081.98px){
	#header .hdInner{padding:30px 0 20px;}
	#hdLogo{margin-bottom:40px;}
	.subMenu{margin-top:50px;}
}
@media (min-width:769px) and (min-height:1082px){
	#header .hdInner{padding:90px 0 50px;}
	#hdLogo{margin-bottom:80px;}
	.subMenu{margin-top:109px;}
}
@media (min-width:769px) and (max-width:1599.98px) and (min-height:1082px){
	#hdLogo a{
		margin-top:-60px;
		transition:margin 0.4s;
	}
	#gNavCheck:checked ~ #header #hdLogo a{margin-top:0;}
}
@media (min-width:769px) and (max-width:1099.98px){
	#footer{
		background:url("../img/common/ft-bg-sp.svg") left top no-repeat #fff;
		background-size:100% auto;
	}
}
@media (min-width:769px) and (max-width:1279.98px){
	#footer .inner{width:70%;}
	address span{margin-right:-50px;}
	.sliderHd{
		width:200px;
		padding:0 42px 3px 43px;
	}
	.workBoxSet.swiper{padding-left:200px;}
}
@media (min-width:769px) and (max-width:1599.98px){
	body{grid-template-columns:0px 100%;}
	body:after{
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:67px;
		background-color:#fff;
		z-index:995;
	}
	#header .hdOuter{
		width:320px;
		pointer-events:none;
	}
	#gNavBtn2{z-index:1000;}
	#gNavCheck:checked ~ #header .hdOuter{
		pointer-events:auto;
		overflow-x:hidden;
		overflow-y:auto;
	}
	#header #hdLogo,
	#globalMenu{
		position:relative;
		z-index:1;
	}
	#header .hdInner{
		background-color:transparent;
		transition:background-color 0.4s;
	}
	#gNavCheck:checked ~ #header .hdInner{background-color:#fff;}
	#header #hdLogo{
		transform-origin:left top;
		transform:scale(0.8);/*0.7*/
		transition:transform 0.4s;
	}
	#gNavCheck:checked ~ #header #hdLogo{transform:scale(1.0);}
	.gNavBtn{
		position:fixed;
		right:25px;/*20>30>25*/
		top:26px;/*20>30 > 22>26*/
	}
	#globalMenu{
		transform:translateX(-320px);
		transition:transform 0.4s;
		background-color:#ffffff;
	}
	#gNavCheck:checked ~ #header #globalMenu{transform:translateX(0px);}
	main{margin-top:67px;}
}
@media (min-width:1100px){
	#footer{
		background:url("../img/common/ft-bg.svg") left top #fff no-repeat;
		background-size:3600px auto;
	}
}
@media (min-width:1280px){
	#footer .inner{width:1100px;}
	.sliderHd{
		width:320px;
		padding:0 115px 3px 90px;
	}
	.workBoxSet.swiper{padding-left:320px;}
}
@media (min-width:1420px){
	#footer .inner{
		width:auto;
		margin-left:160px;
		margin-right:160px;/**test          */
	}
}
@media (min-width:1600px){
	body{grid-template-columns:320px calc(100% - 320px);}
	*[data-big],
	*[data-tb]{display:none!important;}
	#header .hdOuter{
		overflow-x:hidden;
		overflow-y:auto;
	}
}

