@charset "UTF-8";
/********************************************************************************

parts-config.css for サイト名

********************************************************************************/

/*============================================================
 CSS変数 for parts共通　※サイトデザインに従い適宜設定
*============================================================*/
:root {
}

/*============================================================
 ボタン
*============================================================*/
/* 標準ボタン設定　※設定必須
---------------------------------------- */
.parts-btn {
	--width: fit-content;
	--min-width: 240px;
	--max-width: unset;
	--min-height: 48px;
	--margin: 0 auto;
	--padding: 4px 24px;
	--font-size: var(--rem18px);
	--line-height: 20px;
	--border-radius: 9999px;
	--border: unset;
	
	--color: var(--common-color-accent);
	--background: var(--common-color-gr);
	--hover-color: var(--common-color-accent);
	--hover-background: var(--common-color-gr);
	--hover-border: unset;
	--transition: 0.3s;

	position: relative;
}
.parts-btn .label {
	position: relative;
}
.parts-btn::before {
	display: block;
	content: "";
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	border-radius: 9999px;
	background: #fff;
	position: absolute;
	top: 2px;
	left: 2px;
}
.parts-btn:hover:before {
	background: var(--common-color-gr-light);}

/* オプション設定
---------------------------------------- */
/* ヘッダーボタン */
.parts-btn[data-header] {
	--min-width: 120px;
	--min-height: 48px;
}

/* フッターボタン */
.parts-btn[data-footer] {
	--min-width: 192px;
	--min-height: 56px;
	--margin: 0;
}

/* アイコン付き */
.parts-btn[data-icon] .label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px;
}
.parts-btn[data-icon] .label::before {
	display: block;
	content: "";
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px auto;
}
.parts-btn[data-icon="tel"] .label::before {
	background-image: url(../images/common/icon-btn-tel.svg);
}
.parts-btn[data-icon="reserve"] .label::before {
	background-image: url(../images/common/icon-btn-reserve.svg);
}

/* ボーダーなしボタン */
.parts-btn[data-border-none] {
	--color: #fff;
	--hover-color: #fff;
	--hover-background: var(--common-color-gr-dark);
}
.parts-btn[data-border-none]::before {
	display: none;
}

/*============================================================
 リスト
*============================================================*/
/* 箇条書きリスト（ul）
---------------------------------------- */
/* 基本設定 */
.parts-list-dot {
	--gap: 8px;
	--marker-color: var(--common-color-text);
}
.parts-list-dot[data-marker="accesnt"] li::marker {
	color: var(--common-color-accent);
}

/* 連番リスト（ol）
---------------------------------------- */
/* 基本設定 */
.parts-list-num {
	--gap: 8px;
	--marker-color: var(--common-color-text);
}

/* 定義リスト（dl）
---------------------------------------- */
/* 基本設定 */
.parts-dl {
	--gap: 24px;

	--row-padding: 0 0 16px 0;
	--row-border-bottom: solid 1px #dcdcdc;
	--row-gap: 8px 16px;

	--label-width: 112px;
	--label-font-weight: bold;
	--label-font-size: 16px;
	--label-line-height: 160%;
	--label-color: var(--common-color-gray);

	/* ベーステキスト以外の場合指定 */
	/* --data-font-weight: 400;
	--data-font-size: 16px;
	--data-line-height: 160%;
	--data-color: var(--common-color-text); */
}


/*============================================================
 テキスト
*============================================================*/
/* 行数制限(省略文字「...」付)
---------------------------------------- */
.parts-text[data-type="clamp"] {
	--line: 2;
}



/********************************************************************************

for tablet

********************************************************************************/
@media screen and (max-width: 1247px) {
	/*============================================================
	 ボタン
	*============================================================*/
	/* オプション設定
	---------------------------------------- */
	/* ヘッダーボタン */
	.parts-btn[data-name="header"] {
		--width: 140px;
		--min-height: 48px;
		--font-size: var(--rem14px);
	}

	/*============================================================
	 テキスト
	*============================================================*/
	/* 行数制限(省略文字「...」付)
	---------------------------------------- */
	.parts-text[data-type="clamp"] {
		--line: 3;
	}
}



/********************************************************************************

for SP

********************************************************************************/
@media screen and (max-width: 767px) {
	/*============================================================
	 ボタン
	*============================================================*/
	

	/*============================================================
	 テキスト
	*============================================================*/
	/* 行数制限(省略文字「...」付)
	---------------------------------------- */
	.parts-text[data-type="clamp"] {
		--line: 2;
	}

}
