@charset "utf-8";

/* ----------------------- */
/* 野村会計事務所メインCSS */
/* ----------------------- */
/* Modified : 2026/01/05 20:02 */

/* ―――――――― */
/* ■カスタム変数群 */
/* ―――――――― */
:root {
	--theme-back:	white;		/* 標準の背景色 */
	--theme-text:	#545454;	/* 標準の文字色 */
	--title-text:	#000000;	/* 表題の文字色 */

	--max-content-width:	1280px;
	--btnset-outer-width:	1010px;
	--main-content-width:	900px;
	--sub-content-width:	770px;
	--midashi-outer-width-home:	650px;
	--midashi-outer-width-deep:	450px;

	--midashi-bar-color:	#fa6300;
	--midashi-text-color:	black;

	--plan-color-simple:	#5b77af;	/* 旧2d69f5; */
	--plan-color-light:		#82b7bf;	/* 旧56b8d6; */
	--plan-color-standard:	#e8955d;	/* 旧ee863e; */

	--wideStdBtn-backcolor: black;		/* WIDE STDボタンの背景色 */
	--wideStdBtn-textcolor: white;		/* WIDE STDボタンの文字色 */
	--wideStdBtn-bordercolor: black;	/* WIDE STDボタンの枠線色 */

	--smallBtn-backcolor: black;		/* 小さめボタンの背景色 */
	--smallBtn-textcolor: white;		/* 小さめボタンの文字色 */
	--smallBtn-bordercolor: black;		/* 小さめボタンの枠線色 */

	--drawer-backcolor: #fcfaed;		/* ドロワーメニューの背景色 */
	--drawer-linkcolor: black;			/* ドロワーメニュー項目の文字色 */
	--hamburger-bar-open-color: #fff;		/* ハンバーガーボタン平時の線色(ドロワーを開くボタンの線色) */
	--hamburger-bar-close-color: #fff;		/* ハンバーガーボタン開時の線色(ドロワーを閉じるボタンの線色) */
	--hamburger-label-textcolor: white;		/* ハンバーガーボタンのラベル文字色 */
	--hamburger-button-color: black;		/* ハンバーガーボタンのボタン色(背景色) */

	--kaku-fontset: "Jost", "Zen Kaku Gothic Antique", sans-serif;
	--maru-fontset: "Jost", "Zen Maru Gothic", sans-serif;
	--maru-fontonly: "Zen Maru Gothic", sans-serif;
	--mplus-fontonly:"M PLUS 1", sans-serif;

	scroll-behavior: smooth;
}

/* ――――――――――― */
/* ■全環境用のベースCSS  */
/* ――――――――――― */
html, body { height: 100%; }
body {
	margin: 0;
	padding: 0;
	background-color: var(--theme-back);
	color: var(--theme-text);
	font-size: 16px;
	font-family: var(--kaku-fontset);
	line-height: 1.5;
}

.pageCover {
	margin: 0;
	padding: 0;
}
	/* ============ */
	/* ▼汎用装飾群 */
	/* ============ */

	a {
		color: var(--title-text);
		text-decoration: none;
	}
	a:hover {
		opacity: 0.5;
	}

	/* ▽消極的な改行制御区間 */
	i {
		font-style: normal;
		display: inline-block;
	}

	/* ▽モバイルだけの改行調整 */
	br.sp-only {
		display: block;
		margin: 0.5em 0;
	}

	/* ▽画面幅に応じて自動縮小する画像 */
	.autoResize {
		max-width: 100%;
		height: auto;
	}

	/* ---------- */
	/* ▽標準区画 */
	/* ---------- */
	.stdSection {
		margin: 8rem 0;
		padding: 0;
	}

	/* ---------------- */
	/* ▽汎用レイアウト */
	/* ---------------- */
	.rightPictComplex {
		display:flex;
		align-items:flex-start;
		justify-content:flex-start;
		gap: 1rem 2rem;
	}
		.leftSentences { }
			.leftSentences p:first-child { margin-top: 0; }
			.leftSentences p:last-child { margin-bottom: 0; }
		.rightPict { }

	.stdContentBox {
	}
		.centerPict {
			margin: 2rem 0;
			text-align: center;
		}
			.centerPict img {
				max-width: 500px;
				width: 100%;
				height: auto;
			}


	/* -------------- */
	/* ▽標準テーブル */
	/* -------------- */
	.stdTable {
		border-collapse: collapse;
		margin: 1rem auto;
		min-width: min(var(--sub-content-width), 100%);
	}
		.stdTable tr {
			border-bottom: 1px solid #eee;
		}
		.stdTable tr:last-child {
			border-bottom: 0 none;
		}
			.stdTable th,
			.stdTable td {
				text-align: left;
				font-weight: normal;
				padding: 1rem 2rem;
			}
			.stdTable th {
				white-space: nowrap;
			}

	.basicTable {
		border-collapse: collapse;
		margin: 1rem auto;
		max-width: 500px;
		width: min(500px,100%);
		border: 2px solid black;
	}
		.basicTable th,
		.basicTable td {
			border: 1px solid black;
			color: black;
			padding: 0.67rem 1rem;
		}
		.basicTable thead th {
			background-color: #fff1e9;
		}
		.basicTable tbody tr:nth-child(2n) {
			background-color: #e4f1ff;
		}

	.basicTableTitle {
		width: min(500px,100%);
		margin: 2rem auto 0;
		font-size: 1.1rem;
	}
	.basicTableTitle::before {
		content: '●';
		color: #fe5701;
	}

	/* -------- */
	/* ▽見出し */
	/* -------- */
	.midashi {
		max-width: var(--midashi-outer-width-home);
		margin: 1em auto;
		text-align: center;
		font-family: var(--kaku-fontset);
		font-weight: 500;
		font-size: 2.125rem;
		color: var(--midashi-text-color);
		line-height: 1.5;
	}

	.subMidashi {
		border-left: var(--midashi-bar-color) solid 5px;
		padding: 0 0 0 0.5rem;
		color: var(--midashi-text-color);
	}

	/* ------------ */
	/* ▽ボタン配置 */
	/* ------------ */
	.btnComplex {
		max-width: var(--btnset-outer-width);
		list-style-type: none;
		margin: 3.125rem auto;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 1.5625rem 3.125rem;	/* 50px 25px */
	}
		.btnComplex li {
		}

	/* -------------- */
	/* ▽汎用ボタン群 */
	/* -------------- */
	.btn {
		text-decoration: none;
		text-align: center;
		line-height: 1;
		font-family: var(--mplus-fontonly);
	}

	/* ▼WIDE STD：横長角丸黄背景ボタン */
	.wideStdBtn {
		display: block;
		width: fit-content;
		min-width: 14.5rem;
		max-width: 100%;
		margin: 0 auto;
		padding: 0.9rem 1.5rem;
		border: 2px solid var(--wideStdBtn-bordercolor);
		border-radius: 1.35rem;
		background-color: var(--wideStdBtn-backcolor);
		color: var(--wideStdBtn-textcolor);
	}
	.wideStdBtn:hover {
		border-color: var(--wideStdBtn-bordercolor);
		background-color: var(--wideStdBtn-textcolor);
		color: var(--wideStdBtn-backcolor);
		opacity: 1;
		cursor: pointer;
	}

	/* ▼Small Button */
	.smallBtn {
		display: inline-block;
		width: fit-content;
		margin: 0;
		padding: 0.35em 0.75em;
		min-width: 90px;
		line-height: 1;
		text-align: center;
		font-weight: 500;
		letter-spacing: 1px;
		border: 1px solid var(--smallBtn-bordercolor);
		border-radius: 0;
		background-color: var(--smallBtn-backcolor);
		color: var(--smallBtn-textcolor);
	}
	.smallBtn:hover {
		border-color: var(--smallBtn-bordercolor);
		background-color: var(--smallBtn-textcolor);
		color: var(--smallBtn-backcolor);
		opacity: 1;
	}

	/* ▼ボタンデコレーション */
		/* 右矢印アイコン付き */
		.withArrowBtn {
			background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LnN0MXtmaWxsOndoaXRlO308L3N0eWxlPjwvZGVmcz48Zz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNTAsMS41QzIzLjIsMS41LDEuNSwyMy4yLDEuNSw1MFMyMy4yLDk4LjUsNTAsOTguNWMyNi44LDAsNDguNS0yMS43LDQ4LjUtNDguNVM3Ni44LDEuNSw1MCwxLjV6IE00NS41LDc1LjMgbC04LjQtOC40TDU0LjEsNTBMMzcuMSwzM2w4LjQtOC40TDcwLjgsNTBMNDUuNSw3NS4zeiIvPjwvZz48L3N2Zz4=");
			background-size: 1rem;
			background-position: center right 8px;
			background-repeat: no-repeat;
		}
		.withArrowBtn:hover {
			background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48Zz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNTAsMS41QzIzLjIsMS41LDEuNSwyMy4yLDEuNSw1MFMyMy4yLDk4LjUsNTAsOTguNWMyNi44LDAsNDguNS0yMS43LDQ4LjUtNDguNVM3Ni44LDEuNSw1MCwxLjV6IE00NS41LDc1LjMgbC04LjQtOC40TDU0LjEsNTBMMzcuMSwzM2w4LjQtOC40TDcwLjgsNTBMNDUuNSw3NS4zeiIvPjwvZz48L3N2Zz4=");
		}

		.withArrowBtn.whiteblueBtn {
		}
		.withArrowBtn.blackBtn {
			background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LnN0MXtmaWxsOndoaXRlO308L3N0eWxlPjwvZGVmcz48Zz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNNTAsMS41QzIzLjIsMS41LDEuNSwyMy4yLDEuNSw1MFMyMy4yLDk4LjUsNTAsOTguNWMyNi44LDAsNDguNS0yMS43LDQ4LjUtNDguNVM3Ni44LDEuNSw1MCwxLjV6IE00NS41LDc1LjMgbC04LjQtOC40TDU0LjEsNTBMMzcuMSwzM2w4LjQtOC40TDcwLjgsNTBMNDUuNSw3NS4zeiIvPjwvZz48L3N2Zz4=");
		}

		/* 右紙飛行機アイコン付き */
		.withPlane {
			background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uc3ZnUGFwZXJQbGFuZSB7ZmlsbDogI2ZmZjt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9InN2Z1BhcGVyUGxhbmUiIGQ9Ik04LjMxLDUwLjczYy0zLjkyLDIuMjQtMy41Niw4LjIxLjYzLDkuOTVsMjQuMzcsMTAuMTZ2MTcuOTRjMCwzLjE0LDIuNTQsNS42OCw1LjY4LDUuNjgsMS42OCwwLDMuMjgtLjc1LDQuMzYtMi4wNWwxMC43Ny0xMi45LDIxLjUyLDguOTZjMy4yOCwxLjM3LDcuMDktLjc4LDcuNjItNC4yOWwxMS4xMS03Mi4yNGMuMzMtMi4xLS41OS00LjIyLTIuMzQtNS40Mi0xLjc1LTEuMi00LjA1LTEuMy01LjktLjI0TDguMzEsNTAuNzNoMFpNMTcuMzYsNTUuMTZsNTkuMzEtMzMuODgtMzguMTQsNDIuNjIuMjEuMTctMjEuMzgtOC45MVpNNzUuNTUsNzkuNDJsLTI4LjkzLTEyLjA3LDM3LjE4LTQxLjU2LTguMjUsNTMuNjNaIi8+PC9zdmc+");
			background-size: 14.286px;
			background-position: center right 8px;
			background-repeat: no-repeat;
			/* 紙飛行機の掲載分量だけ右側に余白を設ける */
			padding-right: calc(0.75em + 15px);
		}
		.withPlane:hover {
			background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uc3ZnUGFwZXJQbGFuZSB7ZmlsbDogIzAwMDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9InN2Z1BhcGVyUGxhbmUiIGQ9Ik04LjMxLDUwLjczYy0zLjkyLDIuMjQtMy41Niw4LjIxLjYzLDkuOTVsMjQuMzcsMTAuMTZ2MTcuOTRjMCwzLjE0LDIuNTQsNS42OCw1LjY4LDUuNjgsMS42OCwwLDMuMjgtLjc1LDQuMzYtMi4wNWwxMC43Ny0xMi45LDIxLjUyLDguOTZjMy4yOCwxLjM3LDcuMDktLjc4LDcuNjItNC4yOWwxMS4xMS03Mi4yNGMuMzMtMi4xLS41OS00LjIyLTIuMzQtNS40Mi0xLjc1LTEuMi00LjA1LTEuMy01LjktLjI0TDguMzEsNTAuNzNoMFpNMTcuMzYsNTUuMTZsNTkuMzEtMzMuODgtMzguMTQsNDIuNjIuMjEuMTctMjEuMzgtOC45MVpNNzUuNTUsNzkuNDJsLTI4LjkzLTEyLjA3LDM3LjE4LTQxLjU2LTguMjUsNTMuNjNaIi8+PC9zdmc+");
		}

		/* 左アイコン付き */
		.withLeftIcon {
			position: relative;
		}
		.withLeftIcon::before {
			content: '';
			position: absolute;
			top: 0.6rem;
			left: 1.5rem;
			width: 1.67rem;
			height: 1.67rem;
			background-size: 1.67rem;
			background-position: center center;
			background-repeat: no-repeat;
		}
			.withIconPin::before {
				background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4OCIgaGVpZ2h0PSIxMDUiIHZpZXdCb3g9IjAgMCAyNi40IDMxLjUiPjxkZWZzPjxzdHlsZT4uaVBpbi1JbnNpZGV7ZmlsbDojRkZGRkZGO308L3N0eWxlPjwvZGVmcz48Zz48cGF0aCBjbGFzcz0iaVBpbi1PdXRzaWRlIiBkPSJNMjEuMywxMi41YzAsNS45LTguMSwxNC43LTguMSwxNC43cy04LjEtOC42LTguMS0xNC43YzAtNC41LDMuNi04LjEsOC4xLTguMUMxNy43LDQuNCwyMS4zLDgsMjEuMywxMi41eiIgLz48cGF0aCBjbGFzcz0iaVBpbi1PdXRzaWRlIiBkPSJNMjEuMywxMi41aC0xLjFjMCwxLjItMC40LDIuNy0xLjIsNC4zYy0xLjEsMi40LTIuNyw0LjgtNC4xLDYuNmMtMC43LDAuOS0xLjMsMS43LTEuOCwyLjIgYy0wLjIsMC4zLTAuNCwwLjUtMC41LDAuNmwtMC4xLDAuMmwwLDAuMWwwLjgsMC43bDAuOC0wLjdsLTAuMS0wLjFjLTAuNC0wLjUtMi40LTIuNy00LjItNS40Yy0wLjktMS40LTEuOC0yLjktMi40LTQuNCBjLTAuNi0xLjUtMS0yLjktMS00LjFjMC0xLjksMC44LTMuNywyLTQuOWMxLjMtMS4zLDMtMiw0LjktMmMxLjksMCwzLjcsMC44LDQuOSwyYzEuMywxLjMsMiwzLDIsNC45SDIxLjNoMS4xIGMwLTUuMS00LjEtOS4yLTkuMi05LjJDOC4xLDMuMyw0LDcuNCw0LDEyLjVjMCwxLjgsMC42LDMuNiwxLjQsNS4zYzEuMiwyLjYsMi45LDUuMSw0LjQsN2MxLjUsMS45LDIuNiwzLjEsMi42LDMuMSBjMC4yLDAuMiwwLjUsMC4zLDAuOCwwLjNzMC42LTAuMSwwLjgtMC40YzAsMCwyLjEtMi4zLDQuMS01LjNjMS0xLjUsMi4xLTMuMiwyLjktNC45YzAuOC0xLjcsMS40LTMuNSwxLjQtNS4ySDIxLjN6Ii8+PC9nPjxwYXRoIGNsYXNzPSJpUGluLUluc2lkZSIgZD0iTTE2LDEyLjJjMCwxLjUtMS4yLDIuOC0yLjgsMi44Yy0xLjUsMC0yLjgtMS4yLTIuOC0yLjhjMC0xLjUsMS4yLTIuOCwyLjgtMi44QzE0LjgsOS41LDE2LDEwLjcsMTYsMTIuMnoiLz48L3N2Zz4=");
			}
			.withIconTel::before {
				background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTM0Ny4xLDI0LjdsLTQwLDk2Yy02LjgsMTYuMy0yLjEsMzUuMSwxMS42LDQ2LjNsNDkuMyw0MC4zYy0zMy4zLDcwLjQtOTAuMywxMjcuNC0xNjAuNywxNjAuN2wtNDAuNC00OS4zIGMtMTEuMS0xMy43LTMwLTE4LjQtNDYuMy0xMS42bC05Niw0MGMtMTguNiw3LjctMjguNSwyOC0yMy4yLDQ3LjRsMjQsODhDMzAuMiw0OTkuOSw0Niw1MTIsNjQsNTEyYzI0Ny40LDAsNDQ4LTIwMC42LDQ0OC00NDggYzAtMTgtMTIuMS0zMy44LTI5LjUtMzguNmwtODgtMjRDMzc1LjEtMy45LDM1NC44LDYsMzQ3LjEsMjQuN0wzNDcuMSwyNC43eiIvPjwvc3ZnPg==");
			}
			.withIconForm::before {
				background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1NTYgNDY0Ij48Zz48cGF0aCBkPSJNNTQzLjM4LDI1MC4wNGMtMC4xLTQuODgtMC4zOS05LjY5LTAuODYtMTQuNGMtMC4wMS0wLjEtMC4wMi0wLjItMC4wMy0wLjI5Yy0yLjMxLTIzLjI4LTguMzctNDQuMTQtMTEuODgtNTcuODkgYy01LjQ1LTIxLjMzLTE1LjE1LTQxLjktMTUuMTUtNDEuOXMtOTEuMTQtMzYuOC0yMTYuODctMjYuNzhjLTc3LjA3LDYuMTUtMTM4Ljk5LDQ5LjEyLTE4OCw3OS40NyBjLTMwLjk0LDE5LjE2LTU5LjM5LDI1LjMtNzQuODMsMzkuMjZjLTM5Ljg4LDM2LjA4LTE2LjI1LDg5LjYxLTE2LjI1LDg5LjYxbDI2LjA3LTAuMDNoNS41NWM2LjE0LDIyLjk1LDI3LjAyLDM5Ljg3LDUxLjksMzkuODcgYzI0Ljg4LDAsNDUuNzUtMTYuOTIsNTEuODktMzkuODdoMjU5LjM5YzYuMTQsMjIuOTUsMjcuMDIsMzkuODcsNTEuOSwzOS44N3M0NS43NS0xNi45Miw1MS44OS0zOS44N2gxMi41bC0wLjAzLTAuNThoMC4wMyBjMCwwLDQuNTYtMi43NSw5Ljc3LTMyLjNjMCwwLDAsMCwwLjAxLDBjMC4wNy0wLjQsMC4xNS0wLjg1LDAuMjEtMS4yN2MwLjEtMC41OCwwLjItMS4xNiwwLjMtMS43NmMwLjMyLTEuODksMC42My0zLjg0LDAuOTYtNS45NSBjMC4zMy0yLjE4LDAuNTktNC4zNSwwLjgxLTYuNTNjMC4wOC0wLjc3LDAuMTQtMS41NSwwLjItMi4zMWMwLjEyLTEuMzksMC4yMi0yLjc3LDAuMy00LjE2YzAuMDUtMC45NCwwLjEtMS44OCwwLjEzLTIuODIgYzAuMDQtMS4xNywwLjA3LTIuMzQsMC4wOS0zLjUxYzAuMDEtMS4wNiwwLjAzLTIuMTEsMC4wMy0zLjE2QzU0My40MywyNTEuODQsNTQzLjQsMjUwLjk1LDU0My4zOCwyNTAuMDR6IE0xMDMuMDMsMzQwLjE0IGMtMjAuNDIsMC0zNi45Ni0xNi41NS0zNi45Ni0zNi45NmMwLTIwLjQxLDE2LjU1LTM2Ljk2LDM2Ljk2LTM2Ljk2YzIwLjQxLDAsMzYuOTYsMTYuNTUsMzYuOTYsMzYuOTYgQzEzOS45OSwzMjMuNTksMTIzLjQ0LDM0MC4xNCwxMDMuMDMsMzQwLjE0eiBNMjA5LjExLDE5MC43NmMtMzUuMjUsMC02Ny45NC0xLjkxLTY3Ljk0LTEuOTFzODEuMjctNTYuOTMsMTQ5LjA5LTYxLjkzIGMzLjksMTcuMDksOSwzNy41NCwxMi4zLDYzLjQ4QzI2MC4yMywxODguNzQsMjIyLjAyLDE5MC43NiwyMDkuMTEsMTkwLjc2eiBNMzkxLjkxLDE4My43MmwwLjM4LDAuNDYgYy0xMy41OCw1Ljk3LTQzLjQxLDcuMzgtNzUuNTgsNi42NmMtMy4yLTI2LjI2LTguMjUtNDYuOTMtMTIuMjYtNjQuNjljMzAuMzMtMS4xNyw2Mi4wMy00LjE2LDg5LjYxLTEuNTkgQzQwMC43OCwxNDYuOTIsNDA0LjU4LDE3My4yLDM5MS45MSwxODMuNzJ6IE00MTMuMjcsMTcxLjA1YzIuMzgtMTQtMC4yMi0zMC40Mi00LjE1LTQ0Ljk0YzM4Ljg3LDQuNDIsNjYuMDksMTAuNzQsNjIuOTYsMTMuODggQzQ2Ny40LDE0NC42Niw0MzcuNTksMTU3LjAzLDQxMy4yNywxNzEuMDV6IE00NjYuMjIsMzQwLjE0Yy0yMC40MSwwLTM2Ljk2LTE2LjU1LTM2Ljk2LTM2Ljk2YzAtMjAuNDEsMTYuNTUtMzYuOTYsMzYuOTYtMzYuOTYgYzIwLjQxLDAsMzYuOTYsMTYuNTUsMzYuOTYsMzYuOTZDNTAzLjE4LDMyMy41OSw0ODYuNjMsMzQwLjE0LDQ2Ni4yMiwzNDAuMTR6Ii8+PC9nPjwvc3ZnPg==");
			}

	/* ======== */
	/* ■MV領域 */
	/* ======== */
	.mvCover {
		margin: auto;
		padding: 0;
		max-width: var(--max-content-width);
	}
		.mvInside { }
			.mvImg {
				width: 100%;
				height: auto;
			}

	/* ============ */
	/* ■ヘッダ領域 */
	/* ============ */
	.pageHeader {
		display: block;			/* HOMEのTAB版だけは消す */
		max-width: var(--max-content-width);
		margin: 1rem auto;
		padding: 0;
		position: relative;
		min-height: 50px;
	}

		/* ……………… */
		/* ▼左肩ロゴ枠 */
		/* ……………… */
		.headerTitle {
			margin: 0;
			line-height: 1;
			width: fit-content;
			position: absolute;
			top: 0.25rem;
			left: 0;
		}
			.headerTitle a {
				display: inline-block;
			}
				.headerLogo {
					width: 200px;
					height: auto;
				}

		/* HOMEのTAB版だけの左肩ロゴ */
		.headerTabTitle {
			margin: 0;
			line-height: 1;
			width: fit-content;
			position: absolute;
			top: 20px;
			left: 15px;
		}

		/* ……………………………………… */
		/* ▼グローバルメニュー枠(PCのみ) */
		/* ……………………………………… */
		.headerMenuLine {
			margin: 0;
			padding: 0 90px 0 216px;
		}
			.headerMenu {
				display: flex;
				align-items:center;
				justify-content:center;
				gap: 2rem;
				min-height: 50px;
				margin: 0;
				padding: 0;
				list-style-type: none;
				font-weight: 500;
				letter-spacing: 1px;
				text-align: center;
			}
				.headerMenu i {
					line-height: 1;
				}

			.headerMenu	.smallBtn:hover {
				opacity: 0.5;
			}

	/* ========== */
	/* ■本文領域 */
	/* ========== */
	main {
	}
		/* …………………… */
		/* ▼パンくずリスト */
		/* …………………… */
		.pankuzuBox {
			margin: 0 auto;
			max-width: 1200px;
			padding: 0 1rem;
		}
			.pankuzuList {
				font-size: 0.8rem;
				margin: 0;
				padding: 0;
				list-style-type: none;
				letter-spacing: 0;
			}
				.pankuzuList li {
					display: inline-block;
				}
				.pankuzuList li:not(:first-child)::before {
					content: '>';
					display: inline-block;
					margin: 0 0.5rem;
				}
				.pankuzuList li:empty {
					display: none;
				}

		/* ………………… */
		/* ▼冒頭挨拶区画 */
		/* ………………… */
		.firstArea {
			margin-top: 6rem;
		}
			.firstTitle { }
			.firstContents {
				margin: 3rem 0;
			}
				.firstGuide {
					text-align: center;
					font-size: 1.125rem;
				}

		/* …………………… */
		/* ▼姿勢・特徴区画 */
		/* …………………… */
		.featuresArea {
		}
			.featuresListCover { }
				.featuresList {
					list-style-type: none;
					margin: 0 auto;
					padding: 2em 3em;
					max-width: var(--main-content-width);
				}

					/* ‥‥‥‥ */
					/* 特徴1BOX */
					/* ‥‥‥‥ */
					.oneFeature {
						margin-bottom: 3em;
					}
						.oneFeatureTitle {
						}
						.oneFeatureBox {
							display: flex;
							gap: min(4rem , 7vw);
						}
							.oneFeatureExp { }
								.oneFeatureExp p {
									margin: 0;
									padding: 0;
									text-align: justify;
								}
								.oneFeatureExp p + p {
									margin-top: 1em;
								}
							.oneFeaturePict {
								flex: 0 0 206px;
							}
								.oneFeaturePict img {
									width: 206px;
									height: auto;
								}


		/* …………………… */
		/* ▼コンタクト区画 */
		/* …………………… */
		.contactArea {
			background-image: url("/imgs/bg_footer.jpg");
			background-size: cover;
			background-position: center bottom;
			background-repeat: no-repeat;
			color: #fff;
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 100px 30px;
		}
			.contactInside { }

				.contactTitle {
					text-align: center;
					font-size: 1.67rem;
					font-weight: 400;
				}
					.contactTitle span {
						display: inline-block;
						margin: 0 0.5rem;
					}
				.contactAddress {
					margin: 1.5rem 0 3rem;
					font-size: 1.75rem;
					text-align: center;
				}
					.contactAddress .zip { margin-bottom: 0.67rem; font-size: 1.5rem; }
					.contactAddress .address { margin-bottom: 1rem; }
					.contactAddress .tel { }
						.contactAddress a { color: white; }

					.contactA1Logo {
						width: 100%;
						height: auto;
						max-width: 270px;
					}

		/* ==================== */
		/* ■DeepPage：本文領域 */
		/* ==================== */
		.deepPage main {
		}

			/* -------------------- */
			/* ▽見出し(上書き調整) */
			/* -------------------- */
			.deepPage  .midashi {
				max-width: var(--midashi-outer-width-deep);
			}
/*
			.pageCompany .midashi {
				max-width: 340px;
			}
			.pageRecruit .midashi {
				max-width: 270px;
			}
			.pageContact .midashi {
				max-width: 400px;
			}
*/
			/* ……………………………… */
			/* ▼法人・個人のお客様区画 */
			/* ……………………………… */
			.serviceArea { }
				.serviceTitle { }
				.serviceContent {
					margin: 1rem;
				}
					.serviceFirstGuide { text-align: center; }

				/* 汎用 */
				.serviceHeaderSet {
					margin-left: auto;
					margin-right: auto;
					padding-left: 1rem;
					padding-right: 1rem;
					max-width: var(--main-content-width);	/* max-widthは、それぞれの使用場所で上書き調整する前提 */
				}

				/* …………………… */
				/* ▼業務内容小枠群 */
				/* …………………… */
				.serviceBoxesCover {
				}

					.serviceBoxesList {
						margin: 0 auto;
						padding: 2rem 0;
						list-style-type: none;
					}
						.oneServiceBox {
						}
							.oneServiceTitle { }
							.oneServiceContents { }
								.oneServiceGuide {
									text-align: justify;
								}
								.oneServiceImage {
								}

				/* ……………… */
				/* ▼プラン枠群 */
				/* ……………… */
				.planBoxesCover { }

					.planBoxesCover .serviceHeaderSet {
						max-width: 1180px;
					}

					.planBoxesList {
						margin: 2rem auto 0;
						padding:0;
						list-style-type: none;
					}
						.onePlanBox {
							border: 1px solid gray;
						}
							.planTitle {
								margin: 0;
								padding: 0.9rem 1rem;
								font-size: 1.3rem;
								line-height: 1;
								text-align: center;
								background-color: gray;
								color: white;
							}
							.planContents { }
								.planGuide {
									list-style-type: disc;
									margin: 1rem auto;
									padding: 0 0 0 1.75em;
									width: fit-content;
								}
								.planImage {
									text-align: center;
								}
									.planImage img {
										max-width: 274px;
										height: auto;
									}
								.planDetail {
									padding: 2rem 1rem;
								}
									.planSummary {
										margin: 0 0 2rem 0;
									}
										.planSummaryTable { }
											.planSummaryTable th span {
												display:flex;
												align-items:center;
												justify-content:center;
												width: 3.5em;
												height: 3.5em;
												border-radius: 50%;
												background-color: black;
												color: white;
												text-align: center;
											}
											.planSummaryTable td {
												padding-left: 1rem;
												font-size: 1.33rem;
												font-weight: 500;
											}
												.planSummaryTable td strong {
													font-weight: 500;
													color: var(--midashi-bar-color);
												}

									.planExplains { }
										.planExplainList { }
											.planExplainList dt {
												border-left: 2px solid var(--midashi-bar-color);
												padding: 0 0 0 0.5em;
												line-height: 1;
											}
											.planExplainList dd {
												margin: 0.125em 0 0.5em 1em;
											}

						/* プラン別の色分け */
						.onePlanBox.simpleplan { border-color: var(--plan-color-simple); }
							.onePlanBox.simpleplan .planTitle,
							.onePlanBox.simpleplan .mendan,
							.onePlanBox.simpleplan .consul { background-color: var(--plan-color-simple); }
							.onePlanBox.simpleplan .kessan { background-color: var(--plan-color-standard); }
						.onePlanBox.lightplan { border-color: var(--plan-color-light); }
							.onePlanBox.lightplan .planTitle,
							.onePlanBox.lightplan .mendan,
							.onePlanBox.lightplan .consul { background-color: var(--plan-color-light); }
							.onePlanBox.lightplan .kessan { background-color: var(--plan-color-standard); }
						.onePlanBox.standardplan { border-color: var(--plan-color-standard); }
							.onePlanBox.standardplan .planTitle,
							.onePlanBox.standardplan .mendan,
							.onePlanBox.standardplan .consul { background-color: var(--plan-color-standard); }

				/* ………………………… */
				/* ▼個人向け料金案内枠 */
				/* ………………………… */
					.feeForPersons .serviceHeaderSet {
						max-width: 500px;
					}
					.basicTableCover {
						padding: 0 1rem;
					}

						/* ‥‥‥‥‥‥‥‥ */
						/* ▽個人向け料金表 */
						/* ‥‥‥‥‥‥‥‥ */
						.kojinFeeTable {
						}
							.kojinFeeTable .type { text-align: left; }
							.kojinFeeTable .fee  { text-align: center; }

							.kojinFeeTable .orange { background-color:#fff1e9; }
							.kojinFeeTable .blue   { background-color:#e4f1ff; }
							.kojinFeeTable .white  { background-color:white; }

					.feeForPersons .tableNotes {
						width: fit-content;
						margin: 2rem auto 0;
					}

			/* ………………… */
			/* ▼起業支援区画 */
			/* ………………… */
			.kigyouArea {
				margin-left: auto;
				margin-right: auto;
				max-width: var(--main-content-width);
				padding-left: 1rem;
				padding-right: 1rem;
			}
				.kigyouTitle { }
				.oneKigyouContent {
					margin: 5rem 0;
				}

			/* ………………… */
			/* ▼相続支援区画 */
			/* ………………… */
			.souzokuArea {
				margin-left: auto;
				margin-right: auto;
				max-width: var(--main-content-width);
				padding-left: 1rem;
				padding-right: 1rem;
			}
				.oneSouzokuContent {
					margin: 5rem 0;
				}
					.oneSouzokuTitle {
						margin-bottom: 2em;
					}

					.oneSouzokuContent td.cond { text-align: left; }
					.oneSouzokuContent td.fee { text-align: center; }

					.oneSouzokuContent .cond br { display: none; }

					.souzokuExampleHead {
						font-size: 1rem;
						font-weight: normal;
						margin: 1.25rem 0 0 0;
					}
					.souzokuExampleHead + p {
						margin-top: 0;
					}

					.souzokuExampleTitle {
						font-size: 1rem;
						font-weight: normal;
						margin: 1.25rem 0 0 0;
					}
					.souzokuExampleTitle::before {
						content: '●';
						color: var(--midashi-bar-color);
					}

			/* ……………… */
			/* ▼ご案内区画 */
			/* ……………… */
			.aboutArea {
				margin-left: 1rem;
				margin-right: 1rem;
			}
				.aboutContents {
					margin: 5rem 0 0 0;
				}

			/* …………………… */
			/* ▼ごあいさつ区画 */
			/* …………………… */
			.greetingArea {
				margin-left: 1rem;
				margin-right: 1rem;
			}
				.greetingTitle { }

				.greetingCover {
					display:flex;
					align-items:flex-start;
					justify-content:center;
					gap: 12%;
					max-width: var(--main-content-width);
					margin: 1rem auto;
				}
					.greetingPhoto { }
						.greetingPhotoImg {	}
							.greetingPhotoImg img {
								max-width: 360px;
								height: auto;
							}
						.greetingPhotoSign {
							margin-top: 1rem;
						}
							.greetingPhotoSign img {
								max-width: 250px;
								height: auto;
							}

					.greetingDetail { }

						.personalSpec {
							margin: 1rem 0;
							padding: 0;
						}
							.personalSpec dt,
							.personalSpec dd {
								margin: 0;
								padding: 0;
								display: inline-block;
							}
							.personalSpec dt {
								min-width: 5.5em;
								padding-right: 1em;
							}
							.personalSpec dd {
								min-width: calc( 100% - 7em );
								vertical-align: top;
							}

					.greetingDetail h3 {
						font-size: 1rem;
					}
					.greetingDetail hr {
						margin: 1.5rem 0;
						border: 1px solid #ccc;
					}

			/* ………………… */
			/* ▼アクセス区画 */
			/* ………………… */
			.accessArea { }
				.accessTitle { }

				.accessCover { }
					.accessList {
						width: fit-content;
						margin: 3rem auto 2rem;
						padding:0;
						list-style-type: none;
					}
						.accessList > li {
							margin: 0 0 1rem 0;
						}
							.accessWayHead {
								background-color: #f98e00;
								width: fit-content;
								min-width: 14em;
								font-size: 1rem;
								padding: 0.125rem 0.5rem;
							}
							.accessWays {
								margin: 0 0 0 2rem;
								padding: 0;
								list-style-type: none;
							}

								.parkings {
								}
									.parkings p { margin:0; }
									.parkingItems {
										list-style-type: none;
										margin: 0;
										padding: 0;
									}
										.parkingItems > li {
											background-image: url("/imgs/ico_parking.svg");
											background-size: 1rem;
											background-position: left 4px;
											background-repeat: no-repeat;
											padding-left: 1.2rem;
											margin: 0.25rem 0;
										}
											.parkDetails {
												list-style-type: none;
												margin: 0;
												padding: 0;
											}

			/* ………………………… */
			/* ▼横ぶち抜き地図区画 */
			/* ………………………… */
			.buchiMapArea {
				margin: 0;
				padding: 0;
			}
				.buchiMapArea iframe {
					width: 100%;
					height: 299px;
				}

			/* ………………… */
			/* ▼採用情報区画 */
			/* ………………… */
			.recruitArea { }
				.recruitTitle { }
				.recruitContents { }
					.recruitGuide {
						margin: 3rem auto;
						max-width: var(--max-content-width);
						width: fit-content;
					}

			/* ………………… */
			/* ▼電話案内区画 */
			/* ………………… */
			.telArea {
			}
				.telGuide {
					max-width: var(--max-content-width);
					margin: 1rem auto;
					text-align: center;
				}
					.telNumber {
						margin: 3rem 0 0;
						font-size: 2rem;
						font-weight: 600;
					}
					.openHour { }

			/* ……………………… */
			/* ▼お問い合わせ領域 */
			/* ……………………… */
			.contactFormArea {
			}
				.contactBody {
				}
					.contactform {
						max-width: 1000px;
						width: fit-content;
						margin: 3rem auto 0;
						padding: 1rem;
					}

						/* ▼PHP生成領域 */
						#messageform {
							color: var(--base-green);
						}
							/* 入力エラー報告枠 */
							.inputerrors { }

							/* 必須アイコン */
							.required-sign img {
								vertical-align: -3px;
								margin-left: 0.5rem;
								margin-right: 3px;
							}

							/* 入力テーブル */
							.contacttable { }
							.contacttable th {
								font-weight: normal;
								color: #666;
							}
								/* 冒頭ガイド */
								.requireGuide {
									margin: 0 0 3rem 0;
									color: black;
								}

								/* 見出し段・入力段共通 */
								.itemLabel,
								.inputColumn {
									padding: 0 0 1rem 0;
								}

								/* 見出し段 */
								.itemLabel {
									white-space: nowrap;
									text-align: left;
								}
									.itemLabel label {
										display: inline-block;
									}

								/* 見出し段の上端配置 */
								.itemLabel.placeTop {
									vertical-align: top;
								}

								/* 入力段 */
								.inputColumn {
									vertical-align: top;
								}

									/* 入力欄の多段組 */
									.inputSetBox {
										display: flex;
										line-height: 1.125;
										gap: 1rem;
									}
										.inputSetOne {
										}
											.inputSetOne u {
												text-decoration: none;
												font-size: 0.85rem;
												display: inline-block;
												color: #666;
											}

									/* テキスト入力欄共通 */
									#messageform input[type="text"],
									#messageform input[type="tel"],
									#messageform input[type="email"],
									#messageform textarea {
										border: 2px solid #ccc;
										font-size: 16px;
										padding: 0.25em;
										width: 100%;
										color: black;
										box-sizing: border-box;
									}
									#messageform textarea::placeholder {
										color: #ccc;
									}

										.freetext { }
											.freetext.inputName { max-width: 8rem; }
											.freetext.zipnumber	{ max-width: 8rem; }
											.freetext.telnumber { max-width: 16rem; }
											.freetext.mailinput { max-width: 24rem; }
											.inputYMDBox {
												align-items: end;
											}
											.freetext#year  { max-width: 4.5rem; }
											.freetext#month { max-width: 3.5rem; }
											.freetext#date  { max-width: 3.5rem; }
										.freeinputbox {  }

									/* セレクトボックス */
									#messageform select {
										font-size: 16px;
										padding: 0.125em;
									}

									/* ラジオボタン・チェックボックス群枠 */
									.itemSelectArea {
										font-size: 16px;
										width: 100%;
										color: black;
									}
										.selectOptions i {
											margin-left: 0.175rem;
										}

								/* フォームボタン */
								.formbuttons {
									padding: 1.75rem 0;
									text-align: center;
								}
									/* 送信ボタン */
									input.btn {
										font-size: 1rem;
									}
									.confirmbutton {
										border: 1px solid black;
										background-color: black;
										border-radius: 1rem;
										color: white;
										text-align: center;
										padding: 0.75rem;
										font-size: 1.125rem;
										min-width: 270px;
									}
									.confirmbutton:hover {
										background-color: gray;
									}

									/* 戻るボタン */
									.confirmbutton.backbutton {
										background-color: white;
										color: black;
									}
									.confirmbutton.backbutton:hover {
										background-color: #ccc;
									}

									/* 戻るボタンと送信ボタンが並んでいる場合 */
									.backorsend {
										margin: 1rem auto;
										max-width: 540px;
									}
									.backorsend .confirmbutton {
										width: 45%;
										min-width: auto;
									}

							/* 入力内容チェックテーブル */
							.checktable {
								border-collapse: collapse;
								border: 2px solid var(--base-green);
								margin: 1.5rem auto;
							}
								.checktable th,
								.checktable td {
									border: 1px solid var(--base-green);
									padding: 0.25rem;
									line-height: 1.25;
								}
								.checktable thead th {
									background-color: var(--green-list-head-color);
									color: white;
								}
									.checkitem {
										display: block;
									}


	/* ============ */
	/* ■フッタ領域 */
	/* ============ */
	.pageFooter {
		margin: 0;
		padding: 0;
		color: #fff;
	}
		/* フッタ内共通装飾 */
		.pageFooter a {
			color: #fff;
		}

		/* ---------- */
		/* フッタ上側 */
		/* ---------- */
		.footerUpper{
			display: flex;
			align-items:center;
			justify-content:center;

			background-image: url("/imgs/img_foot_PC.jpg");
			background-position: top center;
			background-size: cover;
			min-height: 500px;
		}

			/* ……………… */
			/* ▼連絡先区画 */
			/* ……………… */
			.footerContact {
				width: fit-content;
				text-align: center;
			}
				.footerTitle {
					margin: 0;
					font-size: 2.25rem;
					font-weight: 700;
				}
					.footerUpper .footerLogoLink {
					}
						.footerUpper .footerLogoLink img {
							width: 240px;
							height: auto;
						}

				.footerAddress {
					margin: 0.5rem 0;
					font-size: 1.33rem;
					font-weight: 500;
				}
					.footerAddress .zip { }
					.footerAddress .address { }
						.footerAddress .building { display: inline-block; margin:0 0.5em; }
					.footerAddress .tel { margin: 0 0 0.5rem; font-size:1.75rem; }

				.footerBtns {
					display: flex;
					align-items:center;
					justify-content:center;
					margin: 4rem 0 0;
					gap: min(5rem,6.5vw);
				}

		/* ---------- */
		/* フッタ下側 */
		/* ---------- */
		.footerLower {
			margin: 0;
			padding: 5rem 0;
			background-color: black;
		}

			/* …………………… */
			/* ▼フッタロゴ区画 */
			/* …………………… */
			.footerLogo {
				margin: 0 0 2rem 0;
				text-align: center;
			}
				.footerLower .footerLogoLink {
				}
					.footerLower .footerLogoLink img {
						width: 180px;
						height: auto;
					}

			/* ……………………… */
			/* ▼サイトマップ区画 */
			/* ……………………… */
			.footerSitemap {
				margin: 1rem;
				display: flex;
				align-items:center;
				justify-content:center;
				gap: 4rem;
			}
				.footerSitemapList {
					display: flex;
					gap: 1.5rem;
					flex-wrap: wrap;
					margin: 0;
					padding: 0;
					list-style-type: none;
				}
					.footerSitemapList li {
					}
						.footerSitemapList li a {
							padding: 0;
							letter-spacing: 0.1rem;
							font-size: 1rem;
							font-weight: 500;
						}

	/* ============================ */
	/* ■(モバイル下端)固定ボタン枠 */
	/* ============================ */
	.bottomFixedMenuBtnBox {
		display: none;		/* モバイルのみ */
	}

	/* =================================== */
	/* ■ドロワーメニュー(PC/モバイル兼用) */
	/* =================================== */
	.hamburgerSet {}

		/* ▼ドロワーボタンの表示と動作 */
		.drawerMenu .drawerBg {
			width: 100%;
			height: 100%;
			position: fixed;
			z-index: 999;
			background-color: rgba(255, 255, 255, 0.5);		/* ドロワーが開いているときにページ全体にかぶせる覆い */
			display: none;
			top: 0;
			left: 0;
		}
		.drawerMenu .drawerBtn {
			display: block;
			background: none;
			border: none;
			width: 31px;
			height: 31px;
			letter-spacing: 0.1em;
			cursor: pointer;
			position: fixed;
			top: 9px;		/* ボタンの配置(上) */
			right: 9px;		/* ボタンの配置(右) */
			z-index: 1001;
			text-align: center;
			outline: none;
			border-radius: 50px;
			background-color: var(--hamburger-button-color);	/* 3本線枠の背景色 */
			padding: 10px 15px 20px 15px;						/* 3本線周囲の余白量：上下と左右で合計サイズを合わせると正円になる */
			box-sizing: content-box;
		}
		/* ▽ドロワーが開いている状態でのドロワーボタン */
		.drawerMenu .drawerBtn.active {
			padding: 10px 10px 20px 20px;		/* クロスする場合の3本線周囲の余白量 */
			background-color: var(--hamburger-button-color);
		}
		.drawerMenu .drawerBtn.active .drawerBar {	width: 23px; transform-origin: left center; }	/* 3本線がクロスする場合の長さ */
		.drawerMenu .drawerBtn.active .drawerBar1 {	transform: rotate(45deg); }
		.drawerMenu .drawerBtn.active .drawerBar2 {	opacity: 0;	}
		.drawerMenu .drawerBtn.active .drawerBar3 {	transform: rotate(-45deg); }
		.drawerMenu .drawerBtn.active .drawerLabelMenu {	display: none;	}
		.drawerMenu .drawerBtn.active .drawerLabelClose {	display: block;	}
		.drawerMenu .drawerBar {
			display: block;
			height: 3px;			/* 3本線の太さ */
			margin: 5px 2px;		/* 3本線の「上下間隔」と「横の長さ」 */
			transition: all 0.2s;
			transform-origin: 0 0;
		}

		/* ▼ドロワーボタンの色 */
		.drawerMenu .drawerBtn { color: var(--hamburger-label-textcolor); } /* 3本線下部のラベル文字色 */
		.drawerMenu .drawerBtn .drawerBar { background-color: var(--hamburger-bar-open-color); } 			/* 3本線の色:平時 */
		.drawerMenu .drawerBtn.active .drawerBar { background-color: var(--hamburger-bar-close-color); }	/* 3本線の色:開時 */

		/* ▼ドロワーボタン下のラベル */
		.drawerMenu .drawerText {
			text-align: center;
			font-size: 10px;
		}
		.drawerMenu .drawerLabelClose {
			letter-spacing: 0;
			display: none;
			margin-left: -10px;
		}
		.drawerMenu .drawerLabelMenu {
			display: block;
		}

		/* ▼ドロワーメニュー本体(ラッパー) */
		.drawerMenu .drawerNaviWrapper {
			background-color: var(--drawer-backcolor);		/* 重なるメニューの背景色 */
			background-image: var(--theme-mizutama);		/* 重なるメニューの背景画像 */
			width: 310px;									/* 重なるメニューの横幅(※変更する場合はtransformの値も変える：＋12pxくらいの値に) */
			height: 100%;
			transition: all 0.2s;
			transform: translate(322px, 0);				/* 初期状態では、画面外に移動させておく： (0, -100%) なら上から下へ現れる */
			position: fixed;
			top: 0;
			right: 0;
			z-index: 1000;	/* 最前面表示 */
		}
		.drawerMenu .drawerNaviWrapper.open {
			transform: translate(0);					/* openクラスが付加されたら、元の位置に戻す */
		}

		/* ドロワーメニュー本体のスクロールベース */
		.drawerScrollBase {
			max-height: 100%;
			overflow: auto;
			box-sizing: border-box;
		}

		/* ▼ドロワーメニュー本体 */
		.drawerMenu .drawerNaviList {
			margin: 0;
			padding: 0;
			list-style: none;
			padding: 16px 6px 150px;				/* メニューの動的な表示開始位置を調整する際は、padding-topの値を変更する。スクロールのために下端に余分に空間を確保する。 */
		}
			.subDrawerNaviList {
				padding-left: 20px;
			}

		/* ▼ドロワーメニュー(リンク)項目 */
		.drawerMenu .drawerLink {
			color: inherit;
			text-decoration: none;
			display: block;
			margin: 5px 0;	/* 項目の上下間隔 */
			padding: 6px 18px;
			border-radius: 0.5em;
			font-weight: 500;
		}
		.drawerMenu .drawerLink:hover {
			opacity:0.5;
		}

		/* ▼ドロワーメニュー項目：アイコンリンク */
		.drawerMenu .iconLinkItems {
			text-align: left;
			margin: 50px 0 0 18px;
		}
			.iconLinkList {
				list-style-type: none;
				margin: 0;
				padding: 0;
				display: flex;
				gap: 20px;
				align-items:center;
				justify-content:start;
				width: fit-content;
			}
				.iconLinkItems img {
					display: block;
					height: 42px;
					width: auto;
				}

		/* ▼ドロワーメニュー項目：長ボタンリンク */
		.wideBtnLinkItems {
			margin: 2.5rem 0;
			padding: 0 1rem;
			text-align: center;
		}
			.wideBtnLinkItems a.btn {
				display: block;
				margin: 0;
				padding: 0.9rem 1.5rem;
				border-radius: 1.35rem;
				box-sizing: border-box;
				text-align: center;
				font-size: 1rem;
				max-width: 100%;
				width: 100%;
				min-width: auto;
			}
				.wideBtnLinkItems a .iconInBtn {
					margin-right: 0.75em;
				}

		/* ▼ドロワーメニュー内部上端のロゴ */
		.logoOnMenu {
			margin: 0;
			padding: 30px 8px 10px 20px;

			background-color: white;
		}
			.drawerMenu .logoOnMenu a {
				display: flex;
				align-items:center;
				justify-content:flex-start;

				background-color: white;
			}
				.drawerMenu .logoOnMenu a {
					margin: 0;
					padding: 0;
				}
				.drawerMenu .logoOnMenu .drawerUsagi {
					width: auto;
					height: 50px;
				}
				.drawerMenu .logoOnMenu .drawerLogo {
					width: 180px;
					height: auto;
				}
			.drawerMenu .logoOnMenu a:hover {
				/* 反転表示を適用せず、半透明にする */
				opacity: 0.5;
				background-color: transparent;
			}
			.drawerMenu .logoOnMenu img {
				width: 100px;
				height: auto;
			}

		/* 状況に応じた表示の切り替え（ドロワーメニュー専用）※適用優先度の関係で、共通装飾として以外に、ここにも同じ内容を記述しておく必要がある。 */
		.drawerMenu a.top-only { display: none;  }
		.drawerMenu a.not-top  { display: block; }
		.homePage .drawerMenu a.top-only { display: block; }
		.homePage .drawerMenu a.not-top  { display: none;  }


/* ==================================== */
/* ■PC・タブレットサイズ以上用スタイル */
/* ==================================== */
@media screen and (min-width:1000px) {

	.sp-only,
	.tab-only,
	.mobile-only {
		display: none !important;
	}

	/* ============ */
	/* ▼汎用装飾群 */
	/* ============ */
	/* -------- */
	/* ▽見出し */
	/* -------- */
	.midashi {
		border-left: var(--midashi-bar-color) solid 10px;
	}

	/* ========== */
	/* ■本文領域 */
	/* ========== */
		/* ==================== */
		/* ■DeepPage：本文領域 */
		/* ==================== */
			/* ……………………………… */
			/* ▼法人・個人のお客様区画 */
			/* ……………………………… */
				/* …………………… */
				/* ▼業務内容小枠群 */
				/* …………………… */
				.serviceBoxesCover {
					background-color: #d3e5ef;
				}
					.serviceBoxesList {
						display:flex;
						align-items:stretch;
						justify-content:center;
						flex-wrap: wrap;
						gap: 2rem;
						max-width: 1100px;
					}
						.oneServiceBox {
							background-color: white;
							max-width: 330px;
							padding: 1.5rem;
							box-sizing: border-box;
						}
							.oneServiceTitle {
								max-width: 320px;
								font-size: 1.25rem;
								text-align: center;
								min-height: 3.3rem;
								line-height: 1.15;
							}
							.oneServiceTitle::after {
								content: '';
								display: block;
								margin: 0.25em auto 0;
								width: 145px;
								border-bottom: var(--midashi-bar-color) solid 3px;
							}
							.oneServiceContents { }
								.oneServiceGuide {
									min-height: 15em;
								}

				/* ……………… */
				/* ▼プラン枠群 */
				/* ……………… */
				.planBoxesCover { }

					.planBoxesList {
						display:flex;
						align-items:stretch;
						justify-content:center;
						gap: 2rem;
					}
						.onePlanBox {
							width: 370px;
						}
								.planGuide {
									min-height: 3em;
								}

				/* ………………………… */
				/* ▼個人向け料金案内枠 */
				/* ………………………… */
								.forPersons .oneServiceGuide {
									min-height: 16em;
								}

			/* ………………… */
			/* ▼相続支援区画 */
			/* ………………… */
					.oneSouzokuContent .basicTable th,
					.oneSouzokuContent .basicTable td {
						width: 50%;
					}

			/* ………………… */
			/* ▼アクセス区画 */
			/* ………………… */
											.parkDetails {
												display: inline;
											}
											.parkDetails.paraka::before { content: '、'; }
											.parkDetails.meikyo::before { content: '（'; }
											.parkDetails.meikyo::after  { content: '）'; }
												.parkDetails li {
													display: inline;
												}
												.parkDetails li::after {
													content: '、';
												}
												.parkDetails li:last-child::after {
													content: '';
												}


}
/* ================================ */
/* ■タブレットサイズのみ用スタイル */
/* ================================ */
@media screen and (max-width:999px) and (min-width:451px) {

	.sp-only,
	.pc-only {
		display: none !important;
	}

	/* ============ */
	/* ▼汎用装飾群 */
	/* ============ */
	/* ------------ */
	/* ▽ボタン配置 */
	/* ------------ */
		.btnComplex li:first-child {
			width: 100%;
		}

	/* ============ */
	/* ■ヘッダ領域 */
	/* ============ */
	.homePage .pageHeader{
		display: none;			/* HOMEのTAB版だけは消す */
	}
	.deepPage .pageHeader{
		display: block;
		margin: 1rem 1rem;
	}

	/* ========== */
	/* ■本文領域 */
	/* ========== */
		/* ==================== */
		/* ■DeepPage：本文領域 */
		/* ==================== */
			/* …………………… */
			/* ▼ごあいさつ区画 */
			/* …………………… */
				.greetingCover {
					gap: 1.5rem;
				}

	/* ============ */
	/* ■フッタ領域 */
	/* ============ */
		/* ---------- */
		/* フッタ上側 */
		/* ---------- */
		.footerUpper{
			background-image: url("/imgs/img_foot_TAB.jpg");
		}

		/* ---------- */
		/* フッタ下側 */
		/* ---------- */
		.footerLower{
		}
			/* ……………………… */
			/* ▼サイトマップ区画 */
			/* ……………………… */
			.footerSitemap {
				margin: 1rem 5%;
				gap: 2rem;
			}
				.footerSitemapList {
				}
					.footerSitemapList li {
					}

}

@media screen and (max-width:650px) and (min-width:451px) {

				.greetingCover {
					flex-wrap: wrap;
				}

}

/* ====================================================== */
/* ■タブレットサイズ以下用スタイル（スマホサイズも含む） */
/* ====================================================== */
@media screen and (max-width:999px) {


	/* ============ */
	/* ■ヘッダ領域 */
	/* ============ */
	.pageHeader{
	}

	/* ============ */
	/* ▼汎用装飾群 */
	/* ============ */
	/* -------- */
	/* ▽見出し */
	/* -------- */
	.midashi {
		max-width: 320px;
		font-size: 1.67rem;
	}
	.midashi::after {
		content: '';
		display: block;
		margin: 0.25em auto 0;
		width: 145px;
		border-bottom: var(--midashi-bar-color) solid 3px;
	}

	/* ========== */
	/* ■本文領域 */
	/* ========== */
		/* ………………… */
		/* ▼冒頭挨拶区画 */
		/* ………………… */
			.firstTitle {
				font-size: 1.5rem;
			}
			.firstTitle i + i {
				padding-left: 0.8em;	/* 右端に句点があるためのバランス微調整 */
			}

		/* ==================== */
		/* ■DeepPage：本文領域 */
		/* ==================== */
			/* ……………………………… */
			/* ▼法人・個人のお客様区画 */
			/* ……………………………… */
				/* …………………… */
				/* ▼業務内容小枠群 */
				/* …………………… */
						.oneServiceBox {
							margin: 0 auto 2rem;
							padding: 0 1rem;
							max-width: 700px;
						}
							.oneServiceTitle {
								border-left: var(--midashi-bar-color) solid 3px;
								padding: 0 0 0 0.5em;
							}
							.oneServiceContents {
								display:flex;
								align-items:stretch;
								justify-content:center;
								gap: 1rem;
							}
								.oneServiceImage {
									max-width: min(33vw,240px);
									min-width: min(33vw,240px);
								}

				/* ……………… */
				/* ▼プラン枠群 */
				/* ……………… */
				.planBoxesCover {
				}
					.planBoxesList {
						padding-left: 0.25rem;
						padding-right: 0.25rem;
					}

						.onePlanBox {
							margin: 1rem auto 3rem;
							max-width: max(80vw,390px);
						}
								.planDetail {
									display:flex;
									align-items:stretch;
									justify-content:center;
									flex-wrap: wrap;
									gap: 1.5rem;
								}

			/* ………………… */
			/* ▼アクセス区画 */
			/* ………………… */
										.parkingItems > li {
											margin: 0.5rem 0;
										}

	/* ============ */
	/* ■フッタ領域 */
	/* ============ */
	.pageFooter {
	}

		/* ---------- */
		/* フッタ上側 */
		/* ---------- */
			/* ……………… */
			/* ▼連絡先区画 */
			/* ……………… */
			.footerContact {
			}
				.footerTitle {
					font-size: 1.5rem;
				}

}

/* ====================================== */
/* ■スマートフォンサイズ用上書きスタイル */
/* ====================================== */
@media screen and (max-width:450px) {

	.pc-only,
	.tab-only,
	.wide-only {
		display: none !important;
	}

	/* ============ */
	/* ▼汎用装飾群 */
	/* ============ */
	/* ---------- */
	/* ▽標準区画 */
	/* ---------- */
	.stdSection {
		margin: 6rem 0;
	}

	/* ---------------- */
	/* ▽汎用レイアウト */
	/* ---------------- */
	.rightPictComplex {
		flex-direction: column;
	}

	/* -------------- */
	/* ▽標準テーブル */	/* モバイルではテーブルを崩す */
	/* -------------- */
	.stdTable,
	.stdTable tr,
	.stdTable th,
	.stdTable td {
		display: block;
	}
	.stdTable {
		margin: 1rem;
		min-width: 0;
	}

		.stdTable th { margin: 1.5rem 0 1rem; padding:0; }
		.stdTable td { margin: 1rem 0; padding:0; }

	.basicTable {
	}
		.basicTable th,
		.basicTable td {
			border: 1px solid black;
			color: black;
			padding: 0.5rem 0.5rem;
		}

	/* ============ */
	/* ■ヘッダ領域 */
	/* ============ */
	.pageHeader {
		display: block;			/* HOMEのTAB版だけは消す */
		margin: 1rem 1rem;
	}

	/* ========== */
	/* ■本文領域 */
	/* ========== */
		/* …………………… */
		/* ▼パンくずリスト */
		/* …………………… */
		.pankuzuBox {
			margin: 0.25rem 0;
			padding: 0 0 0 1rem;
		}
			.pankuzuList {
				font-size: 0.7rem;
			}

		/* ………………… */
		/* ▼冒頭挨拶区画 */
		/* ………………… */
			.firstContents {
				margin: 3rem 1rem;
			}
				.firstGuide {
					text-align: justify;
					font-size: 1.1rem;
				}

		/* …………………… */
		/* ▼姿勢・特徴区画 */
		/* …………………… */
				.featuresList {
					padding: 1.25em 1em 0;
				}
					/* ‥‥‥‥ */
					/* 特徴1BOX */
					/* ‥‥‥‥ */
					.oneFeature {
						margin-bottom: 0;
					}
						.oneFeatureBox {
							align-items:center;
							justify-content:center;
							flex-direction: column;
						}

				.featuresListCover .btnComplex {
					margin-top: 0;
					padding-top: 0;
				}

		/* …………………… */
		/* ▼コンタクト区画 */
		/* …………………… */
				.contactTitle {
					font-size: 1.25rem;
				}
				.contactAddress {
					font-size: 1.33rem;
				}
					.contactAddress .zip { font-size: 1rem; }

		/* ==================== */
		/* ■DeepPage：本文領域 */
		/* ==================== */
			/* ……………………………… */
			/* ▼法人・個人のお客様区画 */
			/* ……………………………… */
				/* ……………… */
				/* ▼プラン枠群 */
				/* ……………… */
								.planDetail {
									justify-content:flex-start;
								}
									.planSummary {
										margin: 0;
									}

			/* ………………… */
			/* ▼相続支援区画 */
			/* ………………… */
					.oneSouzokuContent .cond br { display: block; }

			/* ……………… */
			/* ▼ご案内区画 */
			/* ……………… */
				.aboutContents {
					margin: 0;
				}

			/* …………………… */
			/* ▼ごあいさつ区画 */
			/* …………………… */
				.greetingCover {
					margin: 1rem;
					flex-direction: column-reverse;
					gap: 1.5rem;
				}
							.greetingPhotoImg img {
								max-width: 100%;
								height: auto;
							}
						.greetingPhotoSign {
							text-align: right;
						}
							.greetingPhotoSign img {
								max-width: 210px;
							}

			/* ………………… */
			/* ▼アクセス区画 */
			/* ………………… */
				.accessCover {
					display: flex;
					flex-direction: column-reverse;
				}
					.accessList {
						margin: 1rem;
					}
							.accessWays {
								margin-left: 1rem;
							}

			/* ……………………… */
			/* ▼お問い合わせ領域 */
			/* ……………………… */
							/* 入力テーブル：テーブルは崩す */
							.contacttable { }
								.contacttable tr,
								.contacttable th,
								.contacttable td {
									display: block;
								}

								/* 冒頭ガイド */
								.requireGuide {
									margin-bottom: 1rem;
								}
									.requireGuide i {
										letter-spacing: -1px;
									}

								/* 見出し段 */
								.itemLabel {
									margin-top: 0.25rem;
									padding: 0;
								}

								/* 入力段 */
								.inputColumn {
									margin-top: 0.1rem;
								}

									/* 入力欄の多段組 */
									.inputSetBox {
									}

									/* ラジオボタン・チェックボックス群枠 */
									.itemSelectArea {
										padding-left: 0.25rem;
										line-height: 1.75;
									}

	/* ============ */
	/* ■フッタ領域 */
	/* ============ */
		/* ---------- */
		/* フッタ上側 */
		/* ---------- */
		.footerUpper{
			background-image: url("/imgs/img_foot_SP.jpg");
		}
			/* ……………… */
			/* ▼連絡先区画 */
			/* ……………… */
				.footerTitle { }
				.footerAddress { }
						.footerAddress .building { display: block; }
		/* ---------- */
		/* フッタ下側 */
		/* ---------- */
		.footerLower{
			padding: 2.5rem 0 6rem;
		}
			/* …………………… */
			/* ▼フッタロゴ区画 */
			/* …………………… */
			.footerLogo {
				margin-bottom: 1.5rem;
			}
			/* ……………………… */
			/* ▼サイトマップ区画 */
			/* ……………………… */
			.footerSitemap {
				flex-direction: column;
				margin: 1rem 2.5rem;
				align-items:flex-start;
				justify-content:flex-start;
				gap: 2.5rem;
			}

			.footerSitemapContact .smallBtn {
				padding-left: 0;
				min-width: auto;
			}

	/* ============================ */
	/* ■(モバイル下端)固定ボタン枠 */
	/* ============================ */
	.bottomFixedMenuBtnBox {
		display: block;
	}
		.bottomFixedMenu {
			margin: 0;
			padding: 0;
			list-style-type: none;
			position: fixed;
			z-index: 3;
			bottom: 0;
			background-color: var(--theme-pink);
			display: flex;
			align-items:center;
			justify-content:center;
			gap: 0;
			width: 100%;
		}
			/* 1.5画面スクロールするまで非表示にする */
			.mobileNoShow {
				display: none;
			}

		.bottomFixedMenu li {
			flex:1;
		}
			.bottomFixedLink {
				display: flex;
				align-items:center;
				justify-content:center;
				padding: 0.4rem 0 0.5rem;
				font-weight: 500;
				color: white;
				font-size: 0.9rem;
			}
				.bottomFixedLink i {
					display: flex;
					align-items:center;
					justify-content:center;
					height: 2rem;
					background-repeat: no-repeat;
				}

			.bottomFixed1 { background-color:#633b00; }
			.bottomFixed2 { background-color:#d36d00; }
				.fTelSign {
					background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI5MCIgdmlld0JveD0iMCAwIDMwIDQ1Ij48ZGVmcz48c3R5bGU+LnBob25lMXtmaWxsOiNmZmZmZmY7fSA8L3N0eWxlPjwvZGVmcz48Zz48cGF0aCBjbGFzcz0icGhvbmUxIiBkPSJNMjIuMTQsMS4xNUg3Ljg2Yy0yLjQ0LDAtNC40MywxLjk5LTQuNDMsNC40M3YzMy44NGMwLDIuNDQsMS45OSw0LjQzLDQuNDMsNC40M2gxNC4yOGMyLjQ0LDAsNC40My0xLjk5LDQuNDMtNC40M1Y1LjU4YzAtMi40NC0xLjk5LTQuNDMtNC40My00LjQzWk0xNSw0MS4yM2MtLjk5LDAtMS44LS44MS0xLjgtMS44cy44MS0xLjgsMS44LTEuOCwxLjguODEsMS44LDEuOC0uODEsMS44LTEuOCwxLjhaTTIzLjk1LDYuNzZ2MjguMzdINi4wNVY2Ljc2aDE3Ljg5WiIvPjwvZz48L3N2Zz4=");
					padding-left: 1.5rem;
					background-size: 1.125rem;
					background-position: 0 4px;
				}
				.fMailSign {
					background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uY2xzLTEge2ZpbGw6ICNmZmY7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTk4LjI2LDIyLjQxYy0uNC0yLjA0LTEuMzEtMy45Ni0yLjY0LTUuNTgtLjI3LS4zNC0uNTUtLjY0LS44Ni0uOTUtMi4zNi0yLjM3LTUuNjQtMy43My05LTMuNzNIMTQuMjRjLTMuNCwwLTYuNiwxLjMzLTkuMDEsMy43My0uMy4zLS41OS42MS0uODcuOTYtMS4zMiwxLjYxLTIuMjMsMy41My0yLjYyLDUuNTctLjE2LjgtLjI1LDEuNjMtLjI1LDIuNDd2NTAuMjNjMCwxLjc1LjM2LDMuNDUsMS4wNiw1LjA3LjYxLDEuNDQsMS41MywyLjgsMi42NywzLjk0LjI5LjI5LjU3LjU1Ljg4LjgxLDIuMjgsMS44OSw1LjE3LDIuOTMsOC4xMywyLjkzaDcxLjUyYzIuOTgsMCw1Ljg3LTEuMDQsOC4xNC0yLjk1LjMtLjI1LjU5LS41Ljg3LS43OSwxLjEtMS4xLDEuOTgtMi4zNywyLjYxLTMuNzZsLjA4LS4yYy42OS0xLjU5LDEuMDQtMy4yOCwxLjA0LTUuMDRWMjQuODhjMC0uODMtLjA4LTEuNjYtLjI0LTIuNDhaTTguMSwyMC4yOGMuMTgtLjI2LjQxLS41NC43LS44MywxLjQ2LTEuNDYsMy4zOS0yLjI2LDUuNDQtMi4yNmg3MS41MmMyLjA3LDAsNCwuOCw1LjQ0LDIuMjYuMjUuMjUuNDkuNTMuNjkuODFsLjU1Ljc0LTM4LjE3LDMzLjI3Yy0xLjE4LDEuMDMtMi42OSwxLjYtNC4yNywxLjZzLTMuMDctLjU3LTQuMjYtMS42TDcuNiwyMWwuNS0uNzNaTTYuNTcsNzUuNTZjLS4wMi0uMTQtLjAzLS4yOS0uMDMtLjQ0VjI1LjkzbDI5LjYyLDI1Ljg0LTI5LjMzLDI1LjU3LS4yNy0xLjc4Wk04OS41OCw4MS44Yy0xLjE1LjY2LTIuNDcsMS4wMS0zLjgyLDEuMDFIMTQuMjRjLTEuMzUsMC0yLjY3LS4zNS0zLjgyLTEuMDFsLTEuMi0uNjksMzAuMy0yNi40MSwzLjMyLDIuODljMS45OSwxLjczLDQuNTMsMi42OCw3LjE1LDIuNjhzNS4xOC0uOTUsNy4xNy0yLjY4bDMuMzItMi44OSwzMC4yOSwyNi40MS0xLjIuNjlaTTkzLjQ2LDc1LjEyYzAsLjE1LDAsLjMtLjAyLjQ0bC0uMjYsMS44LTI5LjM0LTI1LjU2LDI5LjYyLTI1Ljg1djQ5LjE4WiIvPjwvc3ZnPg==");
					padding-left: 1.6rem;
					background-size: 1.3rem;
					background-position: 0 8px;
				}

}


/* ―――――――――――― */
/* ★OPアニメーション用CSS  */
/* ―――――――――――― */
/* 1. 画面全体レイアウト */
html, body { height: 100%; }
body { margin: 0; }

/* 2. ページ本体は最初は隠す */
.opcih {
	opacity: 0;
	transition: opacity .8s ease;	/* 最終解放用 */
}

/* 3. 冒頭の縦書き3行のコンテナ(共通) */
.intro {
	color: black;
	z-index: 999;
	font-family: var(--kaku-fontset);
	font-size: 2rem;
}
.intro p {
	margin: 0 1em;
}
@media screen and (min-width:1000px) {
	/* 3. 冒頭の縦書き3行のコンテナ(PC用追記) */
	.intro {
		position: absolute;
		top: 120px;
		left: 0;
		right: 0;
		margin: 0 auto;
		padding: 0;
		width: min(100%, var(--max-content-width));
		display: flex;
		flex-direction: row-reverse;
	}
}
@media screen and (max-width:999px) and (min-width:451px) {
	/* 3. 冒頭の縦書き3行のコンテナ(TAB用追記) */
	.intro {
		position: fixed;
		top: 100px;
		left: 0;
		right: 0;
		display: grid;
		place-items: center;
	}
}
@media screen and (max-width:450px) {
	/* 3. 冒頭の縦書き3行のコンテナ(SP用追記) */
	.intro {
		position: fixed;
		inset: 0;
		display: grid;
		place-items: center;
	}
}

/* 4. 縦書き指定 */
.intro__lines {
	writing-mode: vertical-rl;
}

/* 5. 各行のフェードイン（順次） */
.intro__line {
	opacity: 0;
	transform: translateY(1em);
	animation: lineIn .8s ease forwards;
}
.intro__line:nth-child(1) { animation-delay: .0s; }
.intro__line:nth-child(2) { animation-delay: .6s; }
.intro__line:nth-child(3) { animation-delay: 1.2s; }
.intro__line:nth-child(4) { animation-delay: 2s; }		/* 最後の待機用 */

@keyframes lineIn {
	0%   { opacity: 0; transform: translateY(1em); }
	100% { opacity: 1; transform: translateY(0); }
}

/* 6. 3行目が出きったら画面全体を解放するための「終端」アニメ */
.intro.intro--done + .opcih {
	opacity: 1;
}
@media screen and (max-width:999px) {
	/* 7. intro をフェードアウト(PC以外) */
	.intro.is-fadeout {
		animation: introOut .8s ease forwards;
	}
	@keyframes introOut {
		to { opacity: 0; visibility: hidden; }
	}
}

/* =================================== */
/* 印象編 4 最低限おぼえておきたい動き */
/* 4-1 ふわっ（その場で） */
.fadeIn{
	animation-name: fadeInAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* 4-2 ふわっ（下から） */
.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 4-2 パタッ（左上へ） */
.flipLeftTop{
	animation-name: flipLeftTopAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes flipLeftTopAnime{
	from {
		transform: translate(-20px,80px) rotate(-15deg);
		opacity: 0;
	}
	to {
		transform: translate(0,0) rotate(0deg);
		opacity: 1;
	}
}

/* 4-2 パタッ（右上へ） */
.flipRightTop{
	animation-name: flipRightTopAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes flipRightTopAnime{
	from {
		transform: translate(-20px,80px) rotate(25deg);
		opacity: 0;
	}
	to {
		transform: translate(0,1) rotate(0deg);
		opacity: 1;
	}
}

/* 4-4 ボンッ（拡大） */
.zoomIn{
	animation-name: zoomInAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}
@keyframes zoomInAnime{
	from {
		transform: scale(0.6);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

/*4-9　シャッ（左から）*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}
@keyframes bgextendAnimeBase{
	from {
		opacity:0;
	}
	to {
		opacity:1;  
	}
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--theme-pink);/*伸びる背景色の設定*/
}
.middleFooterTitle .bgLRextend::before{
	background-color: white;/*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgLRextendTrigger,
.bgappearTrigger,
.fadeUpTrigger,
.zoomInTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger{
	opacity: 0;
}
