@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:2;color:#000;height:100%;position:relative;letter-spacing:1.28px;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea, select{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.5;color:#333;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border: 0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:500;}
ol,ul{list-style: none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="text"],input[type="submit"],input[type="email"],input[type="tel"],select{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw-100:100vw;
	--vw-50:calc(var(--vw-100)*.5);
	/* --dd-height:70px; */
}

html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{overflow:hidden;}

/* menu open */
body.fixed{height:100svh;overflow:hidden;}
#wrapper.fix{overflow:visible;}
#content_wrap,#footer_wrap{transition:filter .3s;}
#wrapper.fix #content_wrap,#wrapper.fix #footer_wrap{
	filter:blur(10px);
}
#header_wrap{
	position:fixed;
	top:0;
	z-index:11;
	width:100%;
	padding:0;
	margin:auto;
	background:#fff;
	transition:transform 0.3s;
}
#header_wrap.hide{transform:translateY(-100%);}
#wrapper.fix #header_wrap{background:transparent;}
#logo{display:block;max-width:275px;width:100%;height:auto;padding:16px 0 14px 25px;transition:filter .3s;}
#wrapper.fix #logo{filter:blur(10px);}
#header_menu_box{position:absolute;top:0;right:0;z-index:12;}
#toggle{position:relative;z-index:13;}
.toggle_txt{display:none;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	border:none;
	width:86px;
	height:64px;
	font-size:0;
	padding:0;
	text-decoration:none;
	border-radius:0;
	background:none;
	cursor:pointer;
}
.toggle_txt{
	position:relative;
	display:block;
	width:86px;
	height:64px;
	background:none;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:36px;
	height:2px;
	background:#000;
	transition:all 0.3s;
}
.toggle_btn::before{top:25px;}
.toggle_btn::after{top:33px;}
.toggle_txt::before{top:41px;}
#wrapper.fix .toggle_btn::before{
	top:33px;
	transform:rotate(150deg);
}
#wrapper.fix .toggle_txt::before{
	top:33px;
	transform:rotate(-150deg);
}
#wrapper.fix .toggle_btn::after{
	opacity:0;
	visibility:hidden;
}
#menu{
	position:fixed;
	top:0;
	right:0;
	z-index:11;
	width:50%;
	max-width:683px;
	height:100dvh;
	padding:101px 50px 50px;
	background:#fff;
	overflow-y:auto;
	transform:translateX(100%);
	visibility:hidden;
	transition:transform 0.4s ease,visibility 0s linear 0.4s;
}
#wrapper.fix #menu{
	transform:translateX(0);
	visibility:visible;
	transition:transform 0.4s ease;
}
.menu_head{
	padding:15px 0 0;
	font-weight:bold;
	font-size:1.8rem;
	letter-spacing:1.44px;
	line-height:1.5;
	border-top:1px solid #000;
	margin-bottom:21px;
}
.menu_item{
	margin:0 0 48px;
}
.sub_menu_list{
	margin:0;
	padding:0;
}
.sub_menu_item,.menu_download_list{
	list-style:none;
	margin:7px 0 0;
	line-height:1.5;
}

.sub_menu_item a{
	display:inline-block;
	font-weight:500;
	padding:0 0 0 20px;
	background:url(/residential/img/arrow_r_white.svg) no-repeat left center;
}

.sub_menu_item a,.menu_download_item a{
	text-decoration:none !important;
	font-weight:500;
	padding-left:19px !important;
}
.sub_menu_item a:hover,.menu_download_item a:hover{text-decoration:underline !important;}
.sub_menu_item a[target="_blank"]{padding-left:20px;background-position:left center;}

.download_list a:hover{text-decoration:underline !important;}

.menu_download_sub_list{
	border-top:1px solid #ccc;
	padding:12px 0 0 0;
	margin-top:10px;
}
.menu_download_sub_item{
	padding-left:23px;
	background:url(/residential/img/icon_child.svg) no-repeat 10px 8px;
	margin-bottom:8px;
}
.menu_download_sub_item:last-child{margin-bottom:0;}
.menu_download_item a[href$=".pdf"],
.menu_download_item a[href$=".doc"],.menu_download_item a[href$=".docx"],
.menu_download_item a[href$=".xls"],.menu_download_item a[href$=".xlsx"]{
	background-position:left 6px;
}

.menu_download_form{margin-top:26px;}
.menu_download_form_link{
	display:block;
	max-width:230px;
	color:#fff !important;
	text-decoration:none !important;
	background:#000 !important;
	border:1px solid #000;
	border-radius:3px;
	padding:12px 20px !important;
	font-size:1.6rem;
	letter-spacing:0;
	transition:border .3s;
	font-weight:500;
	text-align:center;
	transition:background .3s,color .3s;
}
.menu_download_form_link:hover{
	color:#000 !important;
	background:#fff !important;
}
.menu_download_form_link span{
	display:inline-block;
	padding-left:20px;
	background: url(/residential/img/icon_popup_white.svg) no-repeat 0 center !important;
}
.menu_download_form_link:hover span{
	background: url(/residential/img/icon_popup.svg) no-repeat 0 center !important;
}


/* footer */
#footer_wrap{
	margin:150px auto 0;
	position:relative;
}
#footer_area{padding:0 25px;}
#return{
	position:relative;
	z-index:1;
}
.return_btn{
	display:block;
	position:fixed;
	right:24px;
	bottom:24px;
	width:50px;
	height:50px;
	background:#fff;
	border-radius:50%;
	border:1px solid #000;
	text-decoration:none;
	opacity:0;
	visibility:hidden;
	text-decoration:none !important;
	transition:background 0.3s,border .3s, opacity 0.3s, visibility 0.3s;
}
.return_btn::before,.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:10px;
	height:6px;
	transition:opacity .3s,visibility .3s;
}
.return_btn:hover{background:#000;}
.return_btn::before{background:url(/residential/img/common/arrow_t_black.svg) center no-repeat;}
.return_btn::after{background:url(/residential/img/common/arrow_t_white.svg) center no-repeat;opacity:0;visibility:hidden;}
.return_btn:hover::before{opacity:0;visibility:hidden;}
.return_btn:hover::after{opacity:1;visibility:visible;}
.return_txt{display:none;}
.return_btn.display{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	bottom:20px;
	opacity:1;
	visibility:visible;
}
.footer_cta{
	background:#000;
	padding:67px 30px 70px;
}
.footer_cta_in{
	max-width:1100px;
	margin:auto;
}
.footer_cta_in h2{
	font-family: "Noto Serif", serif;
	font-size:3.2rem;
	letter-spacing:2.56px;
	font-weight:600;
	line-height:1.2;
	margin:0 0 34px;
	color:#fff;
	text-align:center;
}
.cta_step{
	margin:0;
	padding:0;
	border-top:1px solid rgba(255,255,255,0.5);
	color:#fff;
}
.cta_step_item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid rgba(255,255,255,0.5);
	padding:31px 0;
}
.step_num{
	display:flex;
	align-items:center;
	justify-content:center;
	line-height:1.2;
	width:180px;
	flex-shrink:0;
	font-family: "Noto Serif", serif;
	font-size:1.3rem;
	font-weight:600;
	text-align:center;
}
.step_num span{
	font-size:3.6rem;
	letter-spacing:2.88px;
	display:inline-block;
	margin-left:15px;
	line-height:1;
}
.cta_step_item p{width:calc(100% - 180px);}
.cta_link{
	margin-top:40px;
	background:#fff;
	padding:40px 30px 50px;
	text-align:center;
}
.download_list{
	display:flex;
	flex-wrap:wrap;
	gap:30px;
	justify-content:center;
	font-weight:500;
	margin-bottom:25px;
}
.download_item a:hover{text-decoration:none !important;}

.download_form_link{
	display:block;
	max-width:230px;
	margin:auto;
	color:#fff !important;
	text-decoration:none !important;
	background:#000 !important;
	border:1px solid #000;
	border-radius:3px;
	padding:12px 20px !important;
	font-size:1.6rem;
	line-height:1.5;
	letter-spacing:0;
	transition:border .3s;
	font-weight:500;
	text-align:center;
	transition:background .3s,color .3s;
}
.download_form_link:hover{
	color:#000 !important;
	background:#fff !important;
}
.download_form_link span{
	display:inline-block;
	padding-left:20px;
	background: url(/residential/img/icon_popup_white.svg) no-repeat 0 center !important;
}
.download_form_link:hover span{
	background: url(/residential/img/icon_popup.svg) no-repeat 0 center !important;
}
.footer_b{
	display:flex;
	justify-content:space-between;
	padding:15px 0;
	font-size:1.2rem;
	letter-spacing:0;
}
.footer_link a{
	color:#333;
	text-decoration:none;
	padding:0 0 0 15px !important;
	background:url(/residential/img/icon_popup.svg) no-repeat 0 center !important;
}
.footer_link a:hover{text-decoration:underline;}
.copyright small{font-size:1.2rem;letter-spacing:0;}

.sp_size{display:none !important;}

a:hover{text-decoration:underline;}
a[target="_blank"]{
	padding-left:27px;
	background:url(/residential/img/icon_popup.svg) no-repeat 5px center;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:27px;
	background:url(/residential/img/icon_word.svg) no-repeat 5px 6px;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:27px;
	background:url(/residential/img/icon_excel.svg) no-repeat 5px 6px;
}
a[href$=".pdf"]{
	padding-left:27px;
	background:url(/residential/img/icon_pdf.svg) no-repeat 5px 6px;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	pointer-events:none;
}


/*----- main -----*/
a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	pointer-events:none;
}

img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

@media screen and (max-width:1200px){
}
@media screen and (max-width:1024px){
body{font-size:1.4rem;}
/* footer */
#footer_wrap{
	margin:100px auto 0;
}
.footer_cta{padding:50px 30px 60px;}
.footer_cta_in h2{
	font-size:2.4rem;
	line-height:1.5;
	letter-spacing:2.56px;
	margin:0 0 24px;
}
.cta_step_item{
	padding:24px 0;
}
.step_num{
	width:180px;
	font-size:1.2rem;
}
.step_num span{font-size:3rem;}
.cta_link{
	margin-top:30px;
	padding:30px 20px 40px;
}
.download_list{
	gap:20px;
	margin-bottom:20px;
}
.download_form_link{font-size:1.4rem;}

.footer_b{
	display:flex;
	justify-content:space-between;
	padding:15px 0;
	font-size:1.2rem;
	letter-spacing:0;
}
.footer_link a{
	color:#333;
	text-decoration:none;
	padding:0 0 0 15px;
	background:url(/residential/img/icon_popup.svg) no-repeat 0 center;
}
.footer_link a:hover{text-decoration:underline;}
.copyright small{font-size:1.2rem;letter-spacing:0;}


}


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

.footer_cta_in h2{font-size:2.4rem;}


/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}

}
@media screen and (max-width:767px){
#logo{max-width:261px;}
.toggle_btn,.toggle_txt{
	width:76px;
	height:58px;
}
.toggle_btn::before{top:20px;}
.toggle_txt::before{top:36px;}
.toggle_btn::after{top:28px;}

#menu{width:100%;padding:100px 30px 40px;}

#footer_area{padding:0 20px;}
.footer_cta{padding:30px 20px 40px;}
.cta_step_item{display:block;}
.step_num{width:auto;text-align:center;}
.cta_step_item p{width:auto;margin-top:10px;}
.cta_link{padding:20px 20px 30px;}
.download_list{gap:10px 20px;}


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

/*----- print -----*/
@media print{
	:root{--vw-100:1200px;}
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*----- print end -----*/