@charset "UTF-8";
/*******************************
 ヘッダー関連
********************************/
/* header burger navi */
.header-burger:hover{
	background-color: transparent;
}
.header-burger:hover .top-border,
.header-burger:hover .center-border,
.header-burger:hover .bottom-border{
	border-top:solid 2px #3e3a39;
}

/* ハンバーガーメニュー */
.header-pc
.header-menu-contents{
	width: 95%;
}
.header-menu-close:hover::before,
.header-menu-close:hover::after{
	opacity: 1;
}
.header-menu-close:hover .header-close-icon{
	opacity: 0;
	transition: all 0.5s;
}

/* ハンバーガーメニュー 共通 */
.header-menu-arrow{
	width: 50px;
}
.header-menu-arrow::before,
.header-menu-arrow::after{
	right: -2px;
    width: 8px;
    height: 1px;
}
.header-menu-arrow::before{
	top: calc(-100% - 1px);
	transform: rotate(215deg);
}
.header-menu-arrow::after{
	bottom: calc(-100% - 1px);
	transform: rotate(-215deg);
}

.header-menu-nav-arrow{
	padding-left: 30px;
}
.header-menu-nav-arrow::before,
.header-menu-nav-arrow::after{
	left: 0px;
	width: 10px;
	height: 1px;
}
.header-menu-nav-arrow::before{
	top: calc(57% - 7px);
	transform: translateY(-50%) rotate(230deg);
}
.header-menu-nav-arrow::after{
	top: calc(57% - 0px);
	transform: translateY(-50%) rotate(-230deg);
}

/* ハンバーガーメニュー */
.header-menu-wrapper{
	padding-top: 8px;
	overflow-y: scroll;
	transform: translateX(100%);
}
.header-menu-contents{
	width: 90%;
	padding-top: 2.5em;
	display: block;
	justify-content: baseline;
	align-items: baseline;
}
.header-menu-contents .width-limit{
	display: flex;
	flex-direction: column;
	padding: 0 0 5em 0;
}
.header-menu-accessflex{
	display: none;
}
.header-menu-btnflex{
	margin-bottom: 1.5em;
    flex-direction: column;
	order: 2;
}
.header-menu-btn{
	width: 100%;
    margin-bottom: 15px;
}
.header-menu-btnlink{
	padding: 17px 0;
}
.header-menu-btn:nth-child(1) .header-menu-btnlink{
    padding: 22px 0;
}
.header-menu-btn-contact{
	margin-bottom: 25px;
	font-size: 1rem;
	letter-spacing: 1.1px;
}
.header-menu-btn-tel{
	margin-bottom: 10px;
	font-size: 1.7rem;
	letter-spacing: 4px;
}
.header-menu-btn-time{
	font-size: 0.9rem;
	letter-spacing: 1.2px;
}

.header-menu-nav-box{
	width: 100%;
	margin-bottom: 2em;
	order: 1;
}
.header-menu-pc-nav{
	display: none;
}
.header-menu-sp-nav{
	padding-left: 0;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
}
.header-menu-nav-item{
	width: 100%;
	margin-bottom: 0;
	font-size: 1rem;
	letter-spacing: 1.3px;
	line-height: 1.4;
	transition: none;
}
.header-menu-nav-item .header-menu-nav-arrow{
	padding: 15px 10px 15px 20px;
	border-top: solid 1px #9FA0A0;
}
.header-menu-nav-item:nth-last-child(1) .header-menu-nav-arrow{
	border-bottom: solid 1px #9FA0A0;
}

/* サブメニュー（SP） */
.header-menu-nav-parent{
	display: flex;
	padding: 15px 10px 15px 0;
	border-top: solid 1px #9FA0A0;
}
.header-menu-nav-parent .header-menu-nav-arrow{
	padding: 0;
	border-top: none;
	transition: all 0.5s;
}
.nav-open .header-menu-nav-arrow{
	transform: translate(3px, -3px) rotate(90deg);
	transition: all 0.5s;
}
.header-menu-nav-text{
	padding-left: 20px;
}
.header-menu-nav-childrenbox{
    display: none;
	margin-bottom: 15px;
}
.header-menu-nav-children{
	display: block;
	position: relative;
	padding: 0 15px 20px 40px;
	font-size: 0.9rem;
}
.header-menu-nav-children::before{
	content: "";
	position: absolute;
	left: 23px;
	top: 11px;
	width: 4px;
	height: 1px;
	background-color: #3b3b3b;
}

/* SNS（SP） */
.header-menu-snsbox{
	padding-top: 0.8em;
	border-top: none;
	order: 3;
}
.header-menu-snsflex{
	flex-direction: column;
}
.header-menu-sns-item{
	width: 100%;
}
.header-menu-sns-itemflex{
	display: none;
}
.header-menu-sns-spbox{
	display: block;
}
.header-menu-snstext-p-pc{
	display: none;
}
.header-menu-snstext-p-sp{
	margin-bottom: 17px;
	padding-right: 0;
	font-size: 0.9rem;
	letter-spacing: 2px;
	line-height: 1.2;
}
.header-menu-sns-spflex{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding-left: 0;
	gap: 0.8em 0.9em;
}
.header-menu-snsicon{
	width: 35px;
	height: 35px;
	object-fit: contain;
}



/*******************************
 フッター
********************************/

/* フッターコンテンツ */
.footer-contactus .width-limit{
    width: 90%;
}
.footer-bgwhite .width-limit{
    width: 90%;
}
.footer-bottommenu-item .footer-menu-arrow:hover{
	transform: translateX(0);
}
.footer-menubox{
	max-width:600px;
	width:100%;
}
.footer-menu-item{
	width:32%;
	font-size:clamp(0.75rem, 0.45rem + 0.8vw, 0.9rem);
}

/*******************************
 コンセプトハウス
********************************/
.gallery .gallery-list{
	gap:50px 25px;
}
.gallery .gallery-list-item{
	width:calc(calc(100% - 50px) / 2);
}