@charset "utf-8";

/* =======================================================================================
	TEMPLATE
======================================================================================= */



/* =======================================================================================
	COMMON
======================================================================================= */
	.subHeading_sideline {
		line-height: 1.4;
		margin-bottom: calc(12px + .2em);
	}
@media screen and (max-width: 480px) {
	.hTxtStyh4.subHeading_sideline {
		font-size: 1.3rem;
		letter-spacing: normal;
	}
}



/* =======================================================================================
	PAGE
======================================================================================= */

/* ------------------------------------------------------------------------
	map
------------------------------------------------------------------------ */
/* mapContainer
------------------------------------------------------------------------ */
	.mapContainer {
		margin-top: var(--site-marpad-XS);
		margin-bottom: var(--site-marpad-XXL);
	}

/* mapContbox
------------------------------------------------------------------------ */
	.mapContbox {
		width: var(--site-sizeContentWide-M);
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}



/* mapBox-genchi
------------------------------------------------------------------------ */
	.mapBox-genchi {
	}


/* carNavi
------------------------------------------------------------------------ */
	.mapBox-carNavi {
		line-height: 1.75;
		font-size: 1.5rem;
		text-align: center;
		letter-spacing: .08em;
		margin-top: 15px;
	}
	.mapBox-carNavi .guidanceTtl {
		font-size: 1.333333em;
		background: rgba(0, 0, 0, .08);
		padding: .25em 10px;
	}
	.mapBox-carNavi .txtBox {
		padding: 2.4em 10px 2.6em;
	}
	.mapBox-carNavi .guidanceTxt {
		display: block;
		margin-bottom: .75em;
	}
	.mapBox-carNavi .addressTxt {
		display: block;
		font-size: 1.733333em;
	}
	.mapBox-carNavi .addressTxt::before {
		content: "「";
	}
	.mapBox-carNavi .addressTxt::after {
		content: "」";
	}
	/*.mapBox-carNavi .addressValue {
		-webkit-user-select: all;
		user-select: all;
	}*/
	.mapBox-carNavi .carNaviCap {
		display: block;
		line-height: 1.5;
		color: inherit;
		font-family: inherit;
		font-size: 1.05rem;
		/*margin-top: 1em;*/
		margin-top: 1.75em;
	}
@media screen and (max-width: 736px) {
	.mapBox-carNavi {
		font-size: 1.5rem;
		font-size: clamp(1.1rem, (14 / 600 * 100vw), 1.4rem); /* feeling. */
	}
	.mapBox-carNavi .guidanceTtl {
		font-size: 1.2em;
	}
	.mapBox-carNavi .txtBox {
		padding-top: 1.2em;
		padding-bottom: 1.4em;
	}
	.mapBox-carNavi .addressTxt {
		font-size: 1.5em;
	}
	.mapBox-carNavi .guidanceTxt {
		margin-bottom: .45em;
	}
	.mapBox-carNavi .carNaviCap {
		margin-top: .9em;
	}
}



/* mapBox-gallery
------------------------------------------------------------------------ */
	.mapBox-gallery {
	}



/* mapBox-busstop
------------------------------------------------------------------------ */
	.mapBox-bus {
	}
	.busstopSection {
		display: grid;
		grid-template-columns: calc(450 / 1040 * 100%) 1fr;
		align-items: center;
		gap: 40px;
		padding: calc(45px + 1em) 29px;
		border: 1px solid rgba(var(--site-themeColor-accent_1), 1);
	}
	/* ── 左カラム: ヘッダー＋バス停情報 ── */
	.busstopTextBox {
		flex: 1 1 420px;
	}
	.busstopHeader {
		line-height: 1.35;
		/*font-size: clamp(1.6rem, (20 / 1250 * 100vw), 2rem);*/
		font-size: 2rem;
		text-align: center;
		margin-bottom: 2em;
	}
	.busstopHeaderEn {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: .6em;
		overflow-wrap: break-word; /* 長い英語対策 */
		font-family: var(--site-font_family-en_1);
		letter-spacing: .12em;
		margin-bottom: .35em;
	}
	.busstopHeaderEn::before,
	.busstopHeaderEn::after {
		content: "";
		flex: 0 0 40px;
		border-top: 1px solid currentColor;
	}
	.busstopHeaderTitle {
		color: #944004;
		font-weight: 500;
		letter-spacing: .08em;
	}
	.busstopStopWrap {
	}
	.busstopStopBox {
		display: flex;
		align-items: center;
	}
	.busstopStopBox + .busstopStopBox {
		margin-top: 1.85em;
		padding-top: 1.85em;
		border: 0 solid rgba(var(--site-themeColor-accent_1), 1);
		border-width: 1px 0 0;
	}
	.busstopStopIcon {
		flex-shrink: 0;
		width: min((128 / 450 * 100%), 128px);
	}
	.busstopStopIcon .icon {
		width: calc(60 / 128 * 100%);
		aspect-ratio: 1;
		margin-left: auto;
		margin-right: auto;
	}
	.busstopStopContent {
		flex: 1;
		line-height: 1.5;
		font-size: clamp(1.2rem, (16 / 1250 * 100vw), 1.6rem);
	}
	.busstopStopRoute {
		letter-spacing: .05em;
		margin-bottom: .4em;
	}
	.busstopStopRoute .name {
		color: #944004;
		font-size: 1.375em;
		font-weight: 500;
		letter-spacing: .05em;
		margin-bottom: .75em;
	}
	.busstopStopWalk {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		font-size: 1.25em;
		letter-spacing: .1em;
	}
	.busstopStopWalkLabel {
	}
	.busstopStopWalkNum {
		line-height: 1;
		color: #944004;
		font-family: var(--site-font_family-en_2);
		font-size: 2.5em;
		letter-spacing: .07em;
	}
	.busstopStopWalkNum .kara {
		display: inline-block;
		font-size: .4em;
		font-weight: 600;
		margin-right: -.125em;
		translate: 0 -.3em;
	}
	.busstopStopWalkUnit {
	}
	.busstopStopWalkSub {
		letter-spacing: normal;
		font-size: .75em;
	}
	.busstopStopWalkSub .sup {
		display: inline-block;
	}
	/* ── 右カラム: 地図 ── */
	.busstopMap {
	}
	.busstopMap img {
		display: block;
	}
	.busstopMapCaption {
		display: block;
		top: 100%;
		bottom: auto;
		padding: 3px 0 0;
	}
@media screen and (max-width: 1200px) {
	.busstopSection {
		display: grid;
		grid-template-columns: 1fr;
		gap: 35px;
		padding: 45px clamp(25px, (45 / 1200 * 100vw), 45px);
	}
	.busstopStopWrap {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		justify-content: center;
	}
	.busstopStopBox  {
		padding-left: 10px;
		padding-right: 10px;
	}
	.busstopStopBox + .busstopStopBox {
		margin-top: 0;
		padding-top: 0;
		border-width: 0 0 0 1px;
	}
	.busstopStopIcon {
		width: min((95 / 450 * 100%), 100px);
	}
	.busstopStopIcon .icon {
		width: calc(60 / 95 * 100%);
	}
	.busstopMapCaption {
		position: revert;
		text-align: right;
		padding: .3em 0 0;
	}
}
@media screen and (max-width: 736px) {
	.busstopStopWrap {
		display: block;
	}
	.busstopHeader {
		font-size: clamp(1.5rem, (15 / 375 * 100vw), 1.9rem);
		margin-bottom: 45px;
	}
	.busstopStopBox  {
		display: block;
		text-align: center;
		padding-left: 0;
		padding-right: 0;
	}
	.busstopStopBox + .busstopStopBox {
		margin-top: 25px;
		padding-top: 25px;
		border-width: 1px 0 0;
	}
	.busstopStopIcon {
		width: min(18%, 70px);
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1em;
	}
	.busstopStopIcon .icon {
		width: 100%;
	}
	.busstopStopContent {
		font-size: clamp(1.4rem, (14 / 375 * 100vw), 1.6rem);
	}
	.busstopStopWalk {
		justify-content: center;
	}
	.busstopStopWalkSub {
		font-size: max(1rem, .65em);
	}
}
@media screen and (max-width: 480px) {
	.busstopSection {
		display: grid;
		grid-template-columns: 1fr;
		gap: 35px;
		padding: 35px 4vw;
	}
	.busstopHeader {
		margin-bottom: 30px;
	}
	.busstopHeaderEn {
		letter-spacing: .08em;
	}
	.busstopHeaderTitle {
		letter-spacing: -.02em;
	}
	.busstopStopBox + .busstopStopBox {
		margin-top: 15px;
		padding-top: 15px;
	}

}


/* buttonGroup
------------------------------------------------------------------------ */
	.mapBox-buttonGroup {
		--_columnGap: 25px;
		display: grid;
		grid-template-columns: repeat(auto-fit, clamp(250px, ((100% - var(--_columnGap)) / 2), 300px));
		justify-content: center;
		row-gap: 12px;
		column-gap: var(--_columnGap);
		margin-top: 60px;
	}
	.mapBox-buttonGroup a {
		width: 100%;
		max-width: none;
		font-family: var(--site-font_family-en_1);
		font-size: 2rem;
		letter-spacing: .095em;
		background-image: linear-gradient(135deg, #3f3f3f 0%, #626262 16%, #707070 29% 33%, #7b7b7b 67% 100%);
		margin: 0;
	}
	.mapBox-buttonGroup a .label {
		display: grid;
		grid-template-columns: auto auto;
		align-items: center;
		gap: 0 .6em;
	}
	.mapBox-buttonGroup a .ico {
		display: inline-block;
		height: 1.22em;
		background-color: #fff;
		-webkit-mask: center center / contain no-repeat;
				mask: center center / contain no-repeat;
		-webkit-mask-image: var(--_icon);
				mask-image: var(--_icon);
	}
	.mapBox-buttonGroup .gMapLink a .ico {
		aspect-ratio: 16 / 24;
		--_icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="46" height="67" viewBox="0 0 46 67" fill="%23000"><path d="M23,.05C10.4.05.2,10.25.2,22.95c0,5.1,1.7,9.8,4.5,13.6,17.3,23.8,18.3,30.4,18.3,30.4,0,0,1.1-6.6,18.3-30.4,2.8-3.8,4.5-8.5,4.5-13.6C45.8,10.25,35.6.05,23,.05ZM23,32.05c-5,0-9.1-4.1-9.1-9.1s4.1-9.1,9.1-9.1,9.1,4.1,9.1,9.1-4.1,9.1-9.1,9.1Z"/></svg>');
	}
	.mapBox-buttonGroup .printLink a .ico {
		aspect-ratio: 26 / 24;
		--_icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="74" height="67" viewBox="0 0 74 67" fill="%23000"><path d="M65.657,34.449c-.999,0-1.797.799-1.797,1.797s.799,1.797,1.797,1.797,1.797-.799,1.797-1.797-.799-1.797-1.797-1.797h0Z"/><path d="M60.565,34.449c-.999,0-1.797.799-1.797,1.797s.799,1.797,1.797,1.797,1.797-.799,1.797-1.797-.799-1.797-1.797-1.797h0Z"/><path d="M70.151,29.356h-9.586v-14.079L46.286,0H13.335v29.456H3.849c-1.997,0-3.495,1.598-3.495,3.495v18.872c0,1.997,1.598,3.495,3.495,3.495h11.083v7.389c0,2.396,1.897,4.294,4.294,4.294h35.547c2.396,0,4.294-1.897,4.294-4.294v-7.289h11.083c1.997,0,3.495-1.598,3.495-3.495v-18.972c0-1.997-1.598-3.595-3.495-3.595ZM45.987,4.094l8.987,9.686h-7.788c-.699,0-1.298-.599-1.298-1.298V4.094h.1ZM70.65,51.823c0,.3-.2.499-.499.499h-11.083v-5.791H14.933v5.791H3.849c-.3,0-.499-.2-.499-.499v-18.872c0-.3.2-.499.499-.499h66.301c.3,0,.499.2.499.499v18.872Z"/></svg>');
	}
@media screen and (max-width: 736px) {
	.mapBox-buttonGroup {
		--_columnGap: 12px;
		row-gap: 6px;
		margin-top: clamp(30px, (40 / 700 * 100vw), 40px);
	}
	.mapBox-buttonGroup a {
		font-size: clamp(1.7rem, (20 / 700 * 100vw), 2.0rem);
	}
}










/* ============================================================================
 print setting
-------------------------------------------------------------------------------
 *	add to:			2025.6.9
 *	style info:		印刷設定(printOnly)
============================================================================ */
	.unique--siteNameTxtPrintOnly,
	.printonly {
		display:none;
	}

@media print {

	/* *********************************************************************
		新フォーマット部の印刷設定
	********************************************************************* */
	/* ------------------------------------------------------
		body.printSetting
	------------------------------------------------------ */
	/* NONE */
	/* ------------------------------------- HEADER */
	body.printSetting .header-property,
	/* ----------------------------------- CONTENTS */
	body.printSetting .ttl-property-main,
	body.printSetting .list-property-control-wrap,
	body.printSetting .list-bukken-contact,
	body.printSetting .box-bukken-contact-list,
	/* ------------------------------------- FOOTER */
	body.printSetting .search-wrap,
	body.printSetting .search-wrap + .box-bukken,
	body.printSetting .area-user-footer-wrap,
	body.printSetting .footer-property {
		display: none;
	}
	/* WRAPPER */
	body.printSetting .wrapper {
		width: 1000px !important;
		margin: 0 auto;
	}
	/* FOOTER */
	body.printSetting .box-bukken-contact {
		color: #000 !important;
		background: #fff !important;
		border-top: 1px solid #aaa;
	}
	body.printSetting .box-bukken-contact * {
		color: inherit !important;
	}
	body.printSetting .box-bukken-contact-inner {
		padding: 20px 0;
	}
	body.printSetting .box-bukken-contact-text {
		margin-bottom: 0;
	}
	body.printSetting .box-bukken-contact-text .holiday {
		color: #902 !important;
	}
	body.printSetting .box-bukken-contact-tel > a {
		background: none;
		padding-left: 0;
	}
	/* ------------------------------------------------------
		all
	------------------------------------------------------ */
	/* WRAPPER */
	.wrapper {
		overflow: visible; /* hiddenの解除 */
		min-width: 0;
	}
	body:not(.printSetting) .wrapper {
		padding-top: 1em; /* ★弊害対策：h1.ttl-property-mainの高さを気持ち空けておく */
	}
	/* HEADER */
	.header-property {
		position: static; /* ヘッダー固定解除 */
	}
	.header-property-box {
		min-width: 0;
	}
	.header-property-top {
		width: 100%;
	}
	/* CONTENTS */
	.contents-property {
		display: block !important; /* flexを解除しfirefoxでも2枚以上印刷できるようにする。★弊害：h1.ttl-property-mainの位置が最上部表示になる */
		padding-top: 0 !important; /* ヘッダー固定時の余白解除 */
	}
	body:not(.printSetting) .ttl-property-main { /* ★弊害対策：最上部に表示 */
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		padding: 0;
	}
	/* FOOTER */
	.box-bukken-contact {
		page-break-inside: avoid; /* 印刷時に要素内での改ページを避ける */
		break-inside: avoid; /* 印刷時に要素内での改ページを避ける */
	}


	/* *********************************************************************
		サイト（unique--contents）の印刷設定
	********************************************************************* */
	body.printSetting .unique--siteNameTxtPrintOnly { 
		display: block;
		width: 100%;
		line-height: 1.3;
		color: #000;
		letter-spacing: 0.15em;
		text-align: center;
		background: #fff;
		margin: 0 0 10px;
		padding: 0.3em;
		border: 1px solid #ccc;
		font-size: 1.5em;
	}
	/* ------------------------------------------------------
		Basically fixed.
	------------------------------------------------------ */
	body.printSetting .mainElementHeaderWrap,
	body.printSetting .breadcrumbBox,
	body.printSetting .fNavWrap,
	body.printSetting .bnr_onlinesalonWrap,
	body.printSetting .slideFNavWrap,
	body.printSetting .mapBox-buttonGroup {
		display: none;
	}
	.screenonly {
		display: none !important;
	}
	.printonly {
		display: block;
	}
	/* ------------------------------------------------------
		Setting
	------------------------------------------------------ */
	/* BODY */
	body {
		opacity: 1;  /*読込時フェードインのリセット*/ 
		padding: 0 2px !important;
	}
	/* CONTENTS */
	#unique--contents {
		overflow: visible !important;  /*IE対策（Flaxboxの余白対策）のリセット */
	}
	body.printSetting .container {
		padding: 3em 0;
	}


	/* *********************************************************************
		現地案内図ページの印刷設定
	********************************************************************* */
	/* COMMON */
	[data-js_show_target],
	[data-js_show_target_suite_descendant] {
		opacity: 1 !important;
	}
	.firstContaier {
		margin-top: 25px;
	}
	.mapContbox {
		page-break-inside: avoid; /* 印刷時に要素内での改ページを避ける */
		break-inside: avoid; /* 印刷時に要素内での改ページを避ける */
	}

	/* CONTENTS */
	.mapContainer {
		/*width: 77%;
		margin-left: auto;
		margin-right: auto;*/
		margin-top: 0;
		margin-bottom: 0;
		/*padding: 0 0 20px!important;*/
	}
	.breakInsideAvoidBox {
		page-break-inside: avoid; /* 印刷時に要素内での改ページを避ける */
		break-inside: avoid; /* 印刷時に要素内での改ページを避ける */
		margin-top: 0;
	}
	.breakInsideAvoidBox + .breakInsideAvoidBox {
		margin-top: 30px;
	}


	.mapBox-genchi,
	.mapBox-carNavi,
	.mapBox-gallery {
		width: 66%;
		/*margin-bottom: 0;*/
	}
	/*.mapBox-busstop {
		width: 100%;
	}*/
	.mapBox-busstop .busstopHeader {
		font-size: 1.1em;
		letter-spacing: .05em;
	}

	.mapBox-carNavi {
		line-height: 1.5;
		font-size: 1em;
		margin-top: 10px;
	}
	.mapBox-carNavi .guidanceTtl {
		font-size: 1.2em;
	}
	.mapBox-carNavi .txtBox {
		padding: 15px 10px;
	}
	.mapBox-carNavi .guidanceTxt {
		margin-bottom: .5em;
	}
	.mapBox-carNavi .addressTxt {
		font-size: 1.5em;
	}
	.mapBox-carNavi .carNaviCap {
		font-size: 1rem;
		margin-top: 1.1em;
	}


	/* FOOT */
	.mainElementFooterWrap {
		margin-top: 25px;
		padding: 17px 4px;
		border-top: 1px solid #aaa;
	}
	.pageLastCaptionWrap {
		background: none;
		padding: 0;
		/*padding: 0 0 20px;*/
	}

}



