@charset "UTF-8";
/* =====================================================================
   style-pc.css：共通パーツのPCサイズ（1024px以上・印刷）
   基準：デザイン1920px（vw＝px÷19.2 / 幅・横位置は%）
   ===================================================================== */

/* ===== ヘッダー ===== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background: var(--color-bg);
}
.header__inner {
	position: relative;
	height: 11.3333vw;
}
.header__logo {
	position: absolute;
	top: 2.6042vw;
	left: 2.2917%;
	width: 10.6771%;
}
.header__logo img {
	display: block;
	width: 100%;
	height: auto;
}
.header__toggle {
	display: none;
}

/* ----- 右上メニュー ----- */
.header__util {
	position: absolute;
	top: 2.2368vw;
	left: 66.9531%;
}
.util-nav {
	display: flex;
	font-size: clamp(calc(0.7467rem * var(--fmin)), 0.9333vw, 1.12rem);
	line-height: 1.5;
	letter-spacing: 0.075em;
}
.util-nav__item + .util-nav__item {
	margin-left: 1.267em;
}
.util-nav__item a {
	position: relative;
	display: block;
	padding-left: 1.2835em;
	white-space: nowrap;
}
.util-nav__item a::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 0.865em;
	height: 0.865em;
	border-radius: 50%;
	background: var(--color-icon);
	content: "";
	transform: translateY(-50%);
}
.util-nav__item a::after {
	position: absolute;
	top: 50%;
	left: 0.363em;
	width: 0.29em;
	height: 0.469em;
	background: var(--color-white);
	content: "";
	transform: translateY(-50%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* ----- フォームボタン（右上） ----- */
.header__btns {
	position: absolute;
	top: 1.9688vw;
	left: 81.3021%;
	display: flex;
	justify-content: flex-end;
	gap: 1.5873%;
	width: 16.4062%;
}
.header__btn {
	display: block;
	width: 49.2063%;
}
.header__btn img {
	display: block;
	width: 100%;
	height: auto;
}

/* ----- Gナビ ----- */
.header__gnav {
	position: absolute;
	top: 7.6985vw;
	right: 2.3175%;
}
.gnav {
	display: flex;
	font-size: clamp(calc(0.8533rem * var(--fmin)), 1.0667vw, 1.28rem);
	line-height: 1.5;
	letter-spacing: 0.215em;
	font-feature-settings: "palt";
	white-space: nowrap;
}
.gnav__item + .gnav__item {
	margin-left: 1.196em;
}

/* ===== INFORMATION ===== */
.info {
	box-sizing: border-box;
	height: 24vw;
	padding-top: 2.096vw;
	background: var(--color-white);
	text-align: center;
}
.info__title {
	padding-left: 0.118em;
	font-family: var(--font-en);
	font-size: clamp(calc(0.8533rem * var(--fmin)), 1.0667vw, 1.28rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.118em;
}
.info__price {
	margin-top: 1.5252vw;
	padding-left: 0.125em;
	font-size: clamp(calc(1.3333rem * var(--fmin)), 1.6667vw, 2rem);
	line-height: 1.5;
	letter-spacing: 0.24em;
}
.info__price-num {
	margin-left: 0.09em;
	letter-spacing: 0.26em;
}
.info__price-unit {
	margin-left: 0.3em;
	font-size: 0.64em;
	letter-spacing: 0.1em;
}
.info__text {
	margin-top: -0.1381vw;
	padding-left: 0.09em;
	font-size: clamp(calc(1.3333rem * var(--fmin)), 1.6667vw, 2rem);
	line-height: 1.5;
	letter-spacing: 0.182em;
}
.info__btns {
	display: flex;
	justify-content: center;
	gap: 1.3021%;
	margin-top: 5.2502vw;
}
.info__btn {
	display: block;
}
.info__btn--visit {
	width: 20%;
}
.info__btn--request {
	width: 20.1042%;
}
.info__btn img {
	display: block;
	width: 100%;
	height: auto;
}

/* ===== フッター ===== */
.footer__nav {
	box-sizing: border-box;
	height: 3.3333vw;
	padding-top: 1.0147vw;
	background: var(--color-band);
}
.footer-nav {
	display: flex;
	justify-content: center;
	font-size: clamp(calc(0.64rem * var(--fmin)), 0.8vw, 0.96rem);
	line-height: 1.5;
	font-feature-settings: "palt";
	white-space: nowrap;
}
.footer-nav__item + .footer-nav__item::before {
	margin: 0 1em;
	font-feature-settings: normal;
	content: "｜";
}
.footer__info {
	position: relative;
	height: 13.849vw;
}
.footer__contact {
	position: absolute;
	top: 1.4125vw;
	left: 17.3333%;
	width: 20.3229%;
}
.footer__lead,
.footer-co__role {
	font-size: clamp(calc(0.5333rem * var(--fmin)), 0.6667vw, 0.8rem);
	line-height: 1.5;
	letter-spacing: 0.025em;
	white-space: nowrap;
}
.footer__lead {
	font-feature-settings: "palt";
}
.footer__tel {
	margin-top: 0.5511vw;
	margin-left: 0.3075%;
	width: 99.6925%;
}
.footer__tel img {
	display: block;
	width: 100%;
	height: auto;
}
.footer__hours {
	margin-top: 0.3135vw;
	font-size: clamp(calc(0.5333rem * var(--fmin)), 0.6667vw, 0.8rem);
	line-height: 1.5;
	letter-spacing: 0.028em;
	font-feature-settings: "palt";
	white-space: nowrap;
}
.footer__companies {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.footer-co {
	position: absolute;
	top: 1.4073vw;
}
.footer-co__logo img {
	display: block;
	width: 100%;
	height: auto;
}
/* 会社ロゴの位置（ロゴ差し替え時はここを調整） */
.footer-co--rebible {
	left: 40%;
	width: 13.8542%;
}
.footer-co--rebible .footer-co__role {
	padding-left: 0.08em;
}
.footer-co--rebible .footer-co__logo {
	margin-top: 0.2959vw;
}
.footer-co--hokushin {
	left: 55.7813%;
	width: 9.3229%;
}
.footer-co--hokushin .footer-co__role {
	padding-left: 0.4em;
}
.footer-co--hokushin .footer-co__logo {
	margin-top: 0.0875vw;
}
.footer-co--revend {
	left: 67.0312%;
	width: 15.6771%;
}
.footer-co--revend .footer-co__role {
	padding-left: 0.2em;
}
.footer-co--revend .footer-co__logo {
	margin-top: 0.1396vw;
}

/* ----- 電話番号：PCでは押せない（見た目は変えない） ----- */
.tel-link {
	pointer-events: none;
	cursor: default;
}

/* ===== ページTOPへ戻る ===== */
.pagetop {
	right: 2.2917%;
	bottom: 2.2917vw;
	width: 3.125%;
}
.pagetop__arrow {
	border-width: 0.1042vw;
}
