@charset "UTF-8";

/*******************************************
*
* Page frame css for Hikkoshi8100
* ver 1.0
*
********************************************/

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@600&family=Noto+Sans+JP:wght@300;400;600&display=swap');


@font-face {
	font-family: 'heart_icf';
	src:
		url('./fonts/heart_icf.ttf?46m7rz') format('truetype'),
		url('./fonts/heart_icf.woff?46m7rz') format('woff'),
		url('./fonts/heart_icf.svg?46m7rz#heart_icf') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icf-"], [class*=" icf-"],
[class^="icf-"]::before, [class*=" icf-"]::before,
[class^="icf-"]::after, [class*=" icf-"]::after,
.singlePager a::before,.singlePager a::after,
a.btn::before,a.btn::after{
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'heart_icf' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


.icf-left:before {
	content: "\e901";
	color: #e75574;
}
.icf-serch:before {
	content: "\e904";
	color: #d65f75;
}
.icf-heart:before {
	content: "\e905";
	color: #DF4661;
}
.icf-campain:before {
	content: "\e907";
	color: #DF4661;
}
.icf-guide:before {
	content: "\e908";
	color: #DF4661;
}
.icf-service:before {
	content: "\e909";
	color: #DF4661;
}



/* ==========================================================
*
* Basic Setting
*
========================================================== */

html,
body {
	width: 100%;
	min-height:100%;
}

html {
	font-size: 62.5%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
}

body {
	font-size: 1.4rem;
	line-height: 125%;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	color:#333333;
	background-color:#ffffff;
	letter-spacing:0.05em;
}


body.opnav {
	height: 100%;
	overflow: hidden;
}

input,
textarea{
	font-family: 'Noto Sans JP', sans-serif;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}

a{
	color:#333333;
	text-decoration:none;
	transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
}

.pc a:hover{
	color:#e75574;
}

a > img{
	transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
}



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


}



/* ==========================================================
*
* ヘッダ
*
========================================================== */
header{
	display:block;
	width:max(100%,1160px);
	height:min(16vw,150px);
	margin:0 auto;
	position:relative;
	background-color:#ffffff;
	z-index:300;
}

#headerInner{
	display:block;
	overflow:hidden;
	width:100%;
	height:100px;
	position:relative;
	background-color:#ffffff;
	position:relative;
	z-index:305;
}


a#logoBtn{
	display:inline-block;
	overflow:hidden;
	width:258px;
	position:absolute;
	top:50%;
	left:40px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

a#logoBtn img{
	width:100%;
	height:auto;
}


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

	header{
		width:100%;
		position:fixed;
		top:0;
		left:0;
	}

	#headerInner{
		height:16vw;
	}

	a#logoBtn{
		width:auto;
		height: 12vw;
		position:absolute;
		top:50%;
		left:4vw;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	a#logoBtn img{
		width:auto;
		height:100%;
	}
}



/*------------------------------------------
 ヘッダリンク
 ------------------------------------------*/

#headerLink{
	display:block;
	overflow:hidden;
	position:absolute;
	top:50%;
	right:40px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}


#headerInfo{
	display:inline-block;
	overflow:hidden;
	min-width:340px;
	text-align:right;
}

#headerInfo > p{
	display:block;
	overflow:hidden;
}



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

	#headerLink{
		display:none;
	}

}



/*------------------------------------------
 電話番号
 ------------------------------------------*/
.telData{
	display:inline-block;
	overflow:hidden;
	white-space:nowrap;
	font-size:1.4rem;
	line-height:125%;
	text-align:right;
	position:relative;
}

.telData > strong{
	display:inline-block;
	overflow:hidden;
	font-size:3.2rem;
	font-weight:bold;
	line-height:155%;
	vertical-align:middle;
	padding-left:40px;
	background:url('../images/icon/freedial.svg') no-repeat 0 60%;
	background-size: 34px auto;
}

.telData > span{
	display:inline-block;
	overflow:hidden;
	text-align:left;
	vertical-align:middle;
	color:#888888;
}



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


}



/*------------------------------------------
 グローバルナビ
 ------------------------------------------*/
header > nav{
	display:block;
	overflow:hidden;
	width: calc(100% - 80px);
	margin: 0 auto;
	clear:both;
	border-top:1px solid #EDEDED;
	/*border-bottom:1px solid #EDEDED;*/
	position:relative;
}

ul#pcNavi{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:center;
	justify-content: space-around;

	width:100%;
	height:50px;
}

ul#pcNavi> li{
	/*
	display:inline-block;
	width:25%;
	float:left;
	*/
	flex-grow: 1;
	text-align:center;
}

ul#pcNavi > li > a{
	display:block;
	overflow:hidden;
	font-size:1.5rem;
	line-height:155%;
}

ul#pcNavi > li > a::before{
	display:inline-block;
	overflow:hidden;
	font-size:2.8rem;
	vertical-align:middle;
}

ul#pcNavi > li > a > span{
	display:inline-block;
	overflow:hidden;
	vertical-align:middle;
	padding-left:0.5em;
	font-weight:600;
}

ul#pcNavi > li+li{
	border-left:1px solid #EDEDED;
}

#spNavi{
	display:none;
}

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

	header > nav{
		display:block;
		overflow:hidden;
		width:100vw;
		height:100vh;
		padding-top:16vw;
		position:absolute;
		top:-1px;
		left:100%;
		background-color:#DF4661;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}


	.opnav header > nav{
		left:0;
	}

	ul#pcNavi{
		display:none;
	}

	#spNavi{
		display:block;
		overflow-y:auto;
		width:100%;
		height:calc(100% - 16vw);
		padding-bottom:10vw;
		position:relative;
	}

	/*見積もりボタン*/
	#spNavi .dualBtns{
		display:block;
		overflow:hidden;
		background-color:#ffffff;
	}

	#spNavi .dualBtns > a{
		display:block;
		overflow:hidden;
		padding:1em 1em;
		width:50%;
		color:#ffffff;
		font-size:1.4rem;
		line-height:155%;
		float:left;
		position:relative;
	}

	#spNavi .dualBtns > a::after{
		content: "\ea3c";
		position:absolute;
		top:calc(50% - 0.5em);
		right:1em;
	}

	#spNavi .dualBtns > a:nth-child(1){
		background: linear-gradient(to right,rgba(17,134,209,1) 0%,rgba(62,226,189,1) 100%);
	}
	#spNavi .dualBtns > a:nth-child(2){
		background: linear-gradient(to right,  rgba(252,74,26,1) 0%,rgba(247,183,51,1) 100%);
	}
	#spNavi .dualBtns > a > span{
		font-size:1.5rem;
		font-weight:600;
	}


	/*リンクリスト*/
	#spNavi > ul{
		display:block;
		overflow:hidden;
		padding:0 4vw;
		font-size:1.6rem;
		line-height:155%;
	}

	#spNavi > ul > li{
		display:block;
		overflow:hidden;
		border-bottom:1px solid #EDEDED;
	}


	#spNavi > ul a{
		display:block;
		overflow:hidden;
		padding:0.75em 0;
		color:#ffffff;
	}
	#spNavi > ul a::after{
		content: "\e901";
		float: right;
	}

	#spNavi > ul li a.toggleBtn::after{
		content: "\e90c";
		font-size:1.8rem;
		transform-origin: center;
		float: right;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}

	#spNavi > ul li a.toggleBtn + ul{
		max-height:0;
		padding-left:1em;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}

	#spNavi > ul li.opn a.toggleBtn::after{
		/*content: "\e90c";
		transform: scale(1, -1);*/
		transform: rotateZ(180deg);
	}
	#spNavi > ul li.opn a.toggleBtn + ul{
		max-height:100vh;
	}

	/*お電話はこちら*/
	#spNavi > section{
		display:block;
		overflow:hidden;
		padding:10vw 4vw;
	}

	#spNavi > section > p{
		display:block;
		overflow:hidden;
		padding-bottom: 0.75em;
		margin-bottom: 0.75em;
		font-size:1.6rem;
		line-height:155%;
		color:#ffffff;
		border-bottom:1px solid #ffffff;
	}

	#spNavi > section > a{
		display:block;
		overflow:hidden;
	}

	#spNavi > section a > .telData{
		display:block;
		overflow:hidden;
		padding:0.5em 0;
		text-align:center;

		background-color:#ffffff;
		-webkit-border-radius:50px;
		border-radius:50px;
	}

	#spNavi > section a > .telData > strong{
		line-height:125%;
	}

	#spNavi > section a >.telData > span{
		display:block;
		text-align:center;
	}

	/*閉じるボタン*/
	#spNavi a.icf-close{
		display:inline-block;
		overflow:hidden;
		font-size:1.6rem;
		font-weight:600;
		line-height:125%;
		color:#ffffff;
	}

	#spNavi a.icf-close > span:before{
		content:"\e90e";
		font-size:1.8rem;
		margin-right:0.25em;
	}


}




/*------------------------------------------
 メニューボタン for SP
 ------------------------------------------*/
a#spNaviBtn{
	display:none;
	z-index:306;
}



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

	a#spNaviBtn{
		display:inline-block;
		overflow:hidden;
		width:12vw;
		height:12vw;
		padding:6vw 6vw;
		background-color: #DF4661;
		-webkit-border-radius: 6px;
		border-radius: 6px;
		position:absolute;
		top:2vw;
		right:2vw;
	}

	a#spNaviBtn > span{
		display:block;
		overflow:hidden;
		width:6vw;
		border-top:2px solid #ffffff;
		position:absolute;
		left:3vw;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}

	a#spNaviBtn > span:nth-child(1){
		top:calc(50% - 8px);
	}
	a#spNaviBtn > span:nth-child(2){
		top:50%;
	}
	a#spNaviBtn > span:nth-child(3){
		top:calc(50% + 8px);
	}

	.opnav a#spNaviBtn{
		width:16vw;
		height:16vw;
		top:0;
		right:0;
		-webkit-border-radius:0;
		border-radius:0;
	}

	.opnav a#spNaviBtn > span{
		left:5vw;
	}

	.opnav a#spNaviBtn > span:nth-child(1){
		top:8vw;
		transform:rotate(225deg);
	}
	.opnav a#spNaviBtn > span:nth-child(2){
		width:0;
		opacity:0.0
	}
	.opnav a#spNaviBtn > span:nth-child(3){
		top:8vw;
		transform:rotate(135deg);
	}

}




/*------------------------------------------
 検索窓
 ------------------------------------------*/

form.searchbox{
	display:block;
	overflow:hidden;
	padding:0.5em 0 0.5em 1.5em;
	background-color:#F2F2F2;
	border-radius:25px;
	font-size:1.6rem;
	line-height:155%;
}

input.search-text{
	display:inline-block;
	overflow:hidden;
	padding:0 0;
	width:440px;

	border:none;
	background-color:#F2F2F2;
}

button.search-btn{
	display:inline-block;
	overflow:hidden;
	font-size:1.8rem;
	padding-right:1.0em;
	border:none;
	cursor:pointer;
	vertical-align:middle;
}

input.search-text:focus {
	outline:none;
}


.icf-serch:before{
	color:#333333;
	font-weight:bold;
}


#pcSearch{
	display:none;
	overflow:hidden;
	width:100%;
	height:50px;
	line-height:50px;
	position:absolute;
	top:0;
	left:0;
	background-color:rgba(255,255,255,0.5);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

#pcSearch form.searchbox{
	display:inline-block;
	position:absolute;
	top:50%;
	right:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.opf #pcSearch{
	/*display:block;*/
}


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

	#pcSearch{
		display:none!important;
	}

	.searchWind{
		padding:4vw 4vw;
	}

	form.searchbox{
		padding:0.25em 0 0.25em 1.0em;
	}

	input.search-text{
		display:inline-block;
		overflow:hidden;
		padding:0 0;
		width:calc(100% - 3em);
		font-size:1.6rem;

		border:none;
		background-color:#F2F2F2;
	}

	button.search-btn{
		display:inline-block;
		width:2em;
		font-size:1.8rem;
		line-height:125%;
		padding-right:0;
		background-color:unset;
	}

	input.search-text:focus {
		outline:none;
	}

}




/* ==========================================================
*
* 本文
*
========================================================== */
#contentBody{
	min-height:85vh;
}

.innerFrame{
	display:block;
	width:min(100%,1080px);
	margin:0 auto;
	/*position:relative;*/
}




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

	#contentBody{
		padding-top:16vw;
	}

	.innerFrame{
		padding:0 4vw;
	}

}


/*------------------------------------------
 ページタイトル
 ------------------------------------------*/
#pageTtl{
	display:block;
	overflow:hidden;
	width:100%;
	height:200px;
	background-color:#ea8e9f;
	background-image:url('../images/title_cut/title_bg.png');
	background-repeat:no-repeat;
	background-position:50% 0;
	background-size: auto 100%;
	position:relative;
}

#pageTtl > .innerFrame{
	height:200px;
	position:relative;
}

#pageTtl h1{
	font-size:3.1rem;
	font-weight:600;
	line-height:155%;
	color:#ffffff;
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#ttlCut{
	display:inline-block;
	overflow:hidden;
	width:270px;
	position:absolute;
	top:calc(50% - 90px);
	right:80px;

}


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

	#pageTtl{
		height:44vw;
	}

	#pageTtl > .innerFrame{
		display:inline-block;
		overflow:hidden;
		height:auto;
		text-align:center;
		position:absolute;
		top:50%;
		left:0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#pageTtl h1{
		font-size:2.4rem;
		font-weight:600;
		line-height:155%;
		color:#ffffff;
		position:relative;
		top:auto;
		left:auto;
		-webkit-transform:unset;
		transform:unset;
	}

	#ttlCut{
		width:auto;
		height:17vw;
		position:relative;
		top:auto;
		right:auto;
	}

	#ttlCut img{
		width:auto;
		height:100%;
	}



}


/*------------------------------------------
 パンくずリスト
 ------------------------------------------*/
#breadcrumb{
	display:block;
	overflow:hidden;
}

#breadcrumb ul{
	display:block;
	overflow:hidden;
	margin:1em 0;
	font-size:1.4rem;
	line-height:155%;
	letter-spacing:-.4em;
	color:#9a9a9a;
}


#breadcrumb ul > li{
	display: inline-block;
	overflow:hidden;
	letter-spacing:normal;
}

#breadcrumb ul > li + li::before{
	content:">";
	margin:0 0.5em;
}

#breadcrumb ul > li > a{
	display:inline-block;
	overflow:hidden;
	vertical-align:middle;
}



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

	#breadcrumb ul{
		font-size:1.2rem;
	}

}




/* ==========================================================
*
* フッタ スライドバナーブロック
*
========================================================== */
#addSlyde{
	display:block;
	overflow:hidden;
	padding:45px 0;
	border-top:1px solid #EDEDED;
}

#addSlyde ul{
	display:block;
	/*overflow:hidden;*/
	width:min(1112px,100%);
	margin:0 auto;
}

#addSlyde ul li{
	text-align:center;
}


#addSlyde ul li > a{
	display:inline-block;
	overflow:hidden;
	width:min(100%,255px);
}

#addSlyde ul li > a img{
	width:100%;
	height:auto;
}



#addSlyde ul:not(.slick-initialized){
	text-align: center;
}

#addSlyde ul:not(.slick-initialized) li{
	display:inline-block;
	margin:0 10px;
}


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

	#addSlyde{
		padding:8vw 0;
	}

	#addSlyde ul:not(.slick-initialized) li{
		margin:10px 0;
	}

}



/*********************
 * slick 設定Override
 *********************/
#addSlyde .slick-prev,
#addSlyde .slick-next {
	width:28px;
	height:28px;
	z-index:125;
}


#addSlyde .slick-prev:before,
#addSlyde .slick-next:before{
	/*display:none;*/
	color:#333333;
}

#addSlyde .slick-prev:before,
#addSlyde .slick-next:before {
	font-family: 'slick';
	/*font-size: 28px;*/
	display:inline-block;
	overflow:hidden;
	content:"";
	width:28px;
	height:28px;
	background-repeat:no-repeat;
	background-position:0 0;
}

#addSlyde .slick-prev {
	left:0;
}
#addSlyde .slick-prev:before{
	background-image:url('../images/btn_prev.svg');
}

#addSlyde .slick-next {
	right:0;
}
#addSlyde .slick-next:before{
	background-image:url('../images/btn_next.svg');
}

/*.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	color: transparent;
	outline: none;
	background:initial;
}*/



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

	#addSlyde .slick-prev {
		left:11%;
	}

	#addSlyde .slick-next {
		right:11%;
	}
}


/* ==========================================================
*
* フッタ
*
========================================================== */
footer{
	clear:both;
	display:block;
	overflow:hidden;
	background-color:#F2F2F2;
	padding-top:min(10vw,80px);
}

footer > .innerFrame{

}
footer a:hover{
	color:#e75574!important;
}

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

	footer{
		padding-bottom:19vw;
	}
}


/*------------------------------------------
 サイトマップ
 ------------------------------------------*/
#siteLink{
	display:block;
	overflow:hidden;
}
#siteLink > section{
	display:block;
	overflow:hidden;
	width:25%;
	float:left;
	padding-right:1em;
}

#siteLink > section li{
	display:block;
	overflow:hidden;
	position:relative;
}

#siteLink > section > ul{
	display:block;
	overflow:hidden;
}
#siteLink > section > ul > li{
	padding:0.5em 0;
}

#siteLink > section > ul > li > a{
	display:block;
	overflow:hidden;
	text-indent:-1.25em;
	padding-left:1.5em;
	font-size:1.6rem;
	font-weight:600;
	color:#333333;
	line-height:155%;
}
#siteLink > section > ul > li > a::before{
	content: "\e906";
	color: #e75574;
	margin-right:0.25em;
}


#siteLink > section > ul > li ul{
	display:block;
	overflow:hidden;
	padding-left:1em;
}
#siteLink > section > ul > li ul > li{
	padding:0.5em 0;
}
#siteLink > section > ul > li ul > li > a{
	display:block;
	overflow:hidden;
	text-indent:-1.5em;
	padding-left:1.5em;
	font-size:1.4rem;
	color:#333333;
	line-height:155%;
}

#siteLink > section > ul > li ul > li > a::before{
	content: "\e901";
	color: #e75574;
	margin-right:0.5em;
}


#ftLink section ul{
	display:block;
	overflow:hidden;
	margin-top:1em;
	font-size:1.2rem;
	line-height:200%;
}


#ftLink section ul > li > a{
	display:block;
	overflow:hidden;
	color:#888888;
}


#siteLink .hasChild a.toggleBtn+ul > li:first-child{
	display:none;
}




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

	#siteLink > section{
		width:100%;
		padding-right:0;
	}

	#siteLink > section > ul > li{
		padding:1.0em 0;
		border-top:1px solid #DEDEDE;
	}

	#siteLink > section > ul > li > a{
		text-indent:0;
		padding-left:0;
		position:relative;
	}

	#siteLink > section > ul > li > a::before{
		content: "";
		margin-right:0;
	}


	#siteLink > section > ul > li ul > li > a{
		text-indent:0;
		padding-left:0;
	}
	#siteLink > section > ul > li ul > li > a::before{
		content: "";
		margin-right:0;
	}
	#siteLink > section > ul > li ul > li > a::after{
		content: "\e901";
		color: #e75574;
		float:right;
	}

	#siteLink .hasChild a.toggleBtn::after{
		content: "\e90c";
		font-size:1.8rem;
		transform-origin: center;
		color:#DF4661;
		float: right;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}

	#siteLink .hasChild.opn a.toggleBtn::after{
		color:#ffffff;
		transform:rotateZ(180deg);
	}

	#siteLink .hasChild a.toggleBtn+ul > li:first-child{
		display:block;
	}


	#siteLink .hasChild > ul{
		max-height:0;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	#siteLink .hasChild.opn > ul{
		max-height:80vh;
	}


}



/*------------------------------------------
 フッタバナー
 ------------------------------------------*/
#ftData{
	display:block;
	overflow:hidden;
	background-color:#ffffff;
	position:relative;
	text-align:center;
	margin:80px 0;
}
#ftData > a[href="/"]{
	display:inline-block;
	overflow:hidden;
	margin:24px 32px 0;
	position:relative;
	float:left;
}


#callInfo{
	display:inline-block;
	overflow:hidden;
	white-space:nowrap;
	position:absolute;
	top:50%;
	left:57%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
#callInfo > *{
	vertical-align:middle;
}
#callInfo .telData{
	min-width: 360px;
	margin-left: 12px;
	font-size:1.4rem;
}

#callInfo > a[href^='tel:']{
	display:inline-block;
	overflow:hidden;
	pointer-events:none;
}

#callInfo .telData > strong{
	font-size:3.4rem;
}


a.pmark{
	display:inline-block;
	overflow:hidden;
	margin-left:40px;
}

a.pmark > span{
	display:none;
}



#ftData > a.icf-top{
	display:inline-block;
	overflow:hidden;
	width:116px;
	height:100px;
	font-size:1.2rem;
	font-weight:600;
	line-height:155%;
	text-align:center;
	background-color:#F8DDE2;
	position:relative;
	float:right;
}

a.icf-top > span{
	display:inline-block;
	overflow:hidden;
	white-space:nowrap;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

a.icf-top > span::before{
	display:block;
	content:"\e903";
	color: #EA8E9F;
	font-weight:bold;
	font-size:1.8rem;
	margin-bottom:0.25em;
}



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

	#ftData{
		margin:10vw 0;
		-webkit-border-radius: 10px;
		border-radius: 10px;
	}

	#ftData > a[href="/"]{
		margin:6vw 0 0;
		float:none;
	}


	#callInfo{
		display:block;
		overflow:hidden;
		white-space:nowrap;
		position:relative;
		top:auto;
		left:auto;
		-webkit-transform:unset;
		transform:unset;
		margin:3vw 0 4vw;
	}

	#callInfo .telData{
		display:block;
		overflow:hidden;
		min-width: 100%;
		margin-left: 0;
		text-align:center;
	}

	#callInfo .telData > strong{
		font-size:3.4rem;
	}

	#callInfo .telData > span {
		display: block;
		text-align: center;
		vertical-align: middle;
		color: #888888;
	}
	#callInfo .telData > span > br{
		display:none;
	}

	#callInfo > a[href^='tel:']{
		display:block;
		pointer-events:initial;
	}

	a.pmark{
		margin-left:0;
		margin-top:6vw;
	}


	#ftData > a.icf-top{
		display:block;
		width:100%;
		height:auto;
		padding:4vw 0;
		float:none;
	}

	a.icf-top > span{
		display:block;
		white-space:initial;
		position:relative;
		top:auto;
		left:auto;
		-webkit-transform:unset;
		transform:unset;
	}

	a.icf-top > span::before{
		display:block;
		content:"\e903";
		color: #EA8E9F;
		font-weight:bold;
		font-size:1.8rem;
		margin-bottom:0.25em;
	}

}


/*------------------------------------------
 サイト情報リンク
 ------------------------------------------*/
#ftLink{
	display:block;
	overflow:hidden;
	margin-bottom:70px;
}

#ftLink > ul{
	display:block;
	overflow:hidden;
	letter-spacing:-.4em;
}


#ftLink > ul > li{
	display: inline-block;
	overflow:hidden;
	letter-spacing:normal;
}

#ftLink > ul > li+li{
	margin-left:2em;
}

#ftLink > ul > li:last-child{
	float:right;
}

#ftLink > ul > li > a{
	display:block;
	overflow:hidden;
	font-size: 1.2rem;
	line-height:125%;
	color:#888888;
}



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


	#ftLink{
		margin-bottom:0;
	}

	#ftLink > ul{
		text-align:center;
	}


	#ftLink > ul > li{
		display: inline-block;
		overflow:hidden;
		text-align:left;
		width:50%;
	}

	#ftLink > ul > li+li{
		margin-left:0;
	}

	#ftLink > ul > li > a{
		padding:0.5em 0;
	}

	#ftLink > ul > li:last-child{
		display:block;
		width:100%;
		text-align:center;
		float:none;
		margin:10vw 0;
	}


}




/*------------------------------------------
 ページボトム
 ------------------------------------------*/
#bottomLine{
	display:block;
	overflow:hidden;
	padding:1em 0;
	background-color:#ffffff;
}

#bottomLine dl{
	display:block;
	overflow:hidden;
}


#bottomLine dl > dt{
	display:block;
	overflow:hidden;
	width: 300px;
	padding-top:0.25em;
	float:left;
}

#bottomLine dl > dt > span{
	display:inline-block;
	overflow:hidden;
	font-size:1.4rem;
	font-weight:600;
	color:#333333;
	padding:0.75em 0.75em;
	border:1px solid #DEDEDE;
}

#bottomLine dl > dd{
	display:block;
	overflow:hidden;
	width:calc(100% - 300px);
	float:left;
}

#bottomLine ul{
	display:block;
	overflow:hidden;
}
#bottomLine ul > li{
	display:inline-block;
	overflow:hidden;
	padding:0.25em 1em;
	border-right: 1px solid #DEDEDE;
}

#bottomLine ul > li:last-child{
	padding-right:0;
	border-right: unset;
}

#bottomLine ul > li > a{
	display:block;
	overflow:hidden;
	font-size:1.2rem;
	line-height:125%;
	color:#333333;
}

#bottomLine ul.icf-blank > li > a::after{
	content:"\e90a";
	color:#333333;
}



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

	#bottomLine{
		padding:4vw 0 8vw;
	}


	#bottomLine dl > dt{
		width: 100%;
		padding-top:0.25em;
		float:none;
	}

	#bottomLine dl > dt > span{
		display:block;
		padding:0.75em 0.75em;
		text-align:center;
	}

	#bottomLine dl > dd{
		width: 100%;
		float:none;
		padding-top:4vw;
	}

	#bottomLine ul{
		text-align:center;
	}
	#bottomLine ul > li{
		padding:0.25em 1em;
		border-right:none;
	}

}


/*------------------------------------------
 コピーライト
 ------------------------------------------*/
footer small{
	display:inline-block;
	overflow:hidden;
	font-size:1.0rem;
	line-height:125%;
	color:#888888;
	position:relative;
	float:right;
}


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

	footer small{
		float:none;
	}

}


/* ==========================================================
*
* フロートバナー
*
========================================================== */
#ovrframe{
	display:inline-block;
	overflow:hidden;

	position:fixed;
	/*bottom:calc(50% - 67px);*/
	bottom:10px;
	right:10px;
	z-index:256;
}

#ovrframe ul{
	display:none;
}

#floatBnr{
	display:inline-block;
	overflow:hidden;
	opacity:0;
	left:130px;
	position:relative;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.show #floatBnr{
	opacity:1.0;
	left:0;
}


#floatBnr a{
	display:block;
	overflow:hidden;
}

#floatBnr > a:hover img{
	filter: hue-rotate(135deg);
	/*filter: brightness(115%);*/
}

#floatBnr a:nth-child(2){
	display:none;
}

#floatBnr.office a:nth-child(1){
	display:none;
}
#floatBnr.office a:nth-child(2){
	display:block;
}


#telFrame{
	display:none;
}



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

	#ovrframe{
		display:block;
		width:100%;
		height:25vw;
		background-color:#ffffff;

		bottom:0;
		right:0;
	}

	#ovrframe ul{
		display:flex;
		padding:3vw 4vw 0;
		width:100%;
		/*
		position:absolute;
		top:50%;
		left:0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		*/
	}

	#ovrframe ul > li{
		width:50%;
		text-align:center;
	}

	#ovrframe ul > li > a{
		display:block;
		overflow:hidden;
		margin:4px 0;
	}

	#ovrframe ul > li > a.round_easy::before,
	#ovrframe ul > li > a.round_detail::before{
		display:none;
	}

	#ovrframe ul > li > a img{
		width:100%;
		height:auto;
	}

	#ovrframe ul > li:nth-child(1) > a{
		margin-right:2vw;
	}
	#ovrframe ul > li:nth-child(2) > a{
		margin-left:2vw;
	}

	#floatBnr{
		display:none;
	}

}




/* ==========================================================
*
* ヘッダ・フッタコンパクト版
*
========================================================== */
/*.page-id-383,
.parent-pageid-383,
.page-id-202,
.parent-pageid-202,
.page-id-270,
.parent-pageid-270{
	& header,
	#breadcrumb,
	#anotherLink,
	#addSlyde,
	#siteLink,
	#ftData,
	#bottomLine,
	#floatBnr{
		display:none!important;
	}

	& footer{
		padding-top: min(10vw,2em);
	}

	#ftLink{
		margin-bottom:2em;
	}


	#ftLink > ul{
		text-align:center;
	}

	#ftLink > ul > li:nth-child(-n+6){
		display:none;
	}

	#ftLink > ul > li:last-child{
		display:inline-block;
		margin-left:0;
		float:none;
	}
}*/


.page-id-383 header,
.page-id-383 #breadcrumb,
.page-id-383 #anotherLink,
.page-id-383 #addSlyde,
.page-id-383 #siteLink,
.page-id-383 #ftData,
.page-id-383 #bottomLine,
.page-id-383 #floatBnr,
.parent-pageid-383 header,
.parent-pageid-383 #breadcrumb,
.parent-pageid-383 #anotherLink,
.parent-pageid-383 #addSlyde,
.parent-pageid-383 #siteLink,
.parent-pageid-383 #ftData,
.parent-pageid-383 #bottomLine,
.parent-pageid-383 #floatBnr,
.page-id-202 header,
.page-id-202 #breadcrumb,
.page-id-202 #anotherLink,
.page-id-202 #addSlyde,
.page-id-202 #siteLink,
.page-id-202 #ftData,
.page-id-202 #bottomLine,
.page-id-202 #floatBnr,
.parent-pageid-202 header,
.parent-pageid-202 #breadcrumb,
.parent-pageid-202 #anotherLink,
.parent-pageid-202 #addSlyde,
.parent-pageid-202 #siteLink,
.parent-pageid-202 #ftData,
.parent-pageid-202 #bottomLine,
.parent-pageid-202 #floatBnr,
.page-id-270 header,
.page-id-270 #breadcrumb,
.page-id-270 #anotherLink,
.page-id-270 #addSlyde,
.page-id-270 #siteLink,
.page-id-270 #ftData,
.page-id-270 #bottomLine,
.page-id-270 #floatBnr,
.parent-pageid-270 header,
.parent-pageid-270 #breadcrumb,
.parent-pageid-270 #anotherLink,
.parent-pageid-270 #addSlyde,
.parent-pageid-270 #siteLink,
.parent-pageid-270 #ftData,
.parent-pageid-270 #bottomLine,
.parent-pageid-270 #floatBnr{
	display:none!important;
}


.page-id-383 footer,
.parent-pageid-383 footer,
.page-id-202 footer,
.parent-pageid-202 footer,
.page-id-270 footer,
.parent-pageid-270 footer{
	padding-top: min(10vw,2em);
}


.page-id-383 #ftLink,
.parent-pageid-383 #ftLink,
.page-id-202 #ftLink,
.parent-pageid-202 #ftLink,
.page-id-270 #ftLink,
.parent-pageid-270 #ftLink{
	margin-bottom:2em;
}

.page-id-383 #ftLink > ul,
.parent-pageid-383 #ftLink > ul,
.page-id-202 #ftLink > ul,
.parent-pageid-202 #ftLink > ul,
.page-id-270 #ftLink > ul,
.parent-pageid-270 #ftLink > ul{
	text-align:center;
}

.page-id-383 #ftLink > ul > li:nth-child(-n+6),
.parent-pageid-383 #ftLink > ul > li:nth-child(-n+6),
.page-id-202 #ftLink > ul > li:nth-child(-n+6),
.parent-pageid-202 #ftLink > ul > li:nth-child(-n+6),
.page-id-270 #ftLink > ul > li:nth-child(-n+6),
.parent-pageid-270 #ftLink > ul > li:nth-child(-n+6){
	display:none;
}

.page-id-383 #ftLink > ul > li:last-child,
.parent-pageid-383 #ftLink > ul > li:last-child,
.page-id-202 #ftLink > ul > li:last-child,
.parent-pageid-202 #ftLink > ul > li:last-child,
.page-id-270 #ftLink > ul > li:last-child,
.parent-pageid-270 #ftLink > ul > li:last-child{
	display:inline-block;
	margin-left:0;
	float:none;
}





/* for SP ---------------------------------*/
@media screen and ( max-width:768px) {
	/*
	.page-id-383,
	.parent-pageid-383,
	.page-id-202,
	.parent-pageid-202,
	.page-id-270,
	.parent-pageid-270{
		#contentBody {
			padding-top: 0;
		}

		#ovrframe{
			display:none;
		}

		& footer{
			padding:4vw 0!important;
		}

		#ftLink{
			margin-bottom:0;
		}

		#ftLink > ul > li:last-child{
			margin: 0 0;
		}
	}
	*/

	.page-id-383 #contentBody,
	.parent-pageid-383 #contentBody,
	.page-id-202 #contentBody,
	.parent-pageid-202 #contentBody,
	.page-id-270 #contentBody,
	.parent-pageid-270 #contentBody{
		padding-top: 0;
	}


	.page-id-383 #ovrframe,
	.parent-pageid-383 #ovrframe,
	.page-id-202 #ovrframe,
	.parent-pageid-202 #ovrframe,
	.page-id-270 #ovrframe,
	.parent-pageid-270 #ovrframe{
		display:none;
	}



	.page-id-383 footer,
	.parent-pageid-383 footer,
	.page-id-202 footer,
	.parent-pageid-202 footer,
	.page-id-270 footer,
	.parent-pageid-270 footer{
		padding:4vw 0!important;
	}


	.page-id-383 #ftLink,
	.parent-pageid-383 #ftLink,
	.page-id-202 #ftLink,
	.parent-pageid-202 #ftLink,
	.page-id-270 #ftLink,
	.parent-pageid-270 #ftLink{
		margin-bottom:0;
	}


	.page-id-383 #ftLink > ul > li:last-child,
	.parent-pageid-383 #ftLink > ul > li:last-child,
	.page-id-202 #ftLink > ul > li:last-child,
	.parent-pageid-202 #ftLink > ul > li:last-child,
	.page-id-270 #ftLink > ul > li:last-child,
	.parent-pageid-270 #ftLink > ul > li:last-child{
		margin: 0 0;
	}

}


