@charset "UTF-8";

/*
ja_JP
new_chapter (PC)
*/

/* =========================================================
common
========================================================= */
#nc,
#nc-form-head,
#nc-form {
	/* font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif; */
	font-family: "Hiragino Kaku Gothic ProN","メイリオ",Meiryo;
}
#nc {
	color: #3B3D33;
	line-height: 1.9;
	letter-spacing: 0.06em;
	background-color: #EAE6D8;
	min-width: 950px;
}
#nc img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: 0;
}
/* hidden属性を確実に効かせる。flex指定のある要素はこれが無いと隠れない */
#nc [hidden] {
	display: none !important;
}
#nc .section {
	border-bottom: 3px double #d3cfbf;
	padding: 50px 30px;
}
#nc p {
	margin: 0;
}
#nc mark {
	background: linear-gradient(transparent 45%, #F7EC6E 45%);
	color: inherit;
	padding: 0 2px;
	/* 行をまたいだときに、折り返した側にもマーカーを引き直す。
	   既定(slice)だと帯が途中で切れ、余白だけ色が残る */
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
/* 最終行が1〜2文字だけになるのを避ける。非対応ブラウザでは無視される */
#nc p,
#nc dd,
#nc dt,
#nc li,
#nc h2,
#nc h3 {
	text-wrap: pretty;
	/* 対応ブラウザ(Chrome系)は文節で折る。非対応でも既定の折り返しに戻るだけ */
	word-break: auto-phrase;
}
/* サービスの流れの箱は中央寄せの短い文なので、行の長さを揃える。
   「調整し／ます。」のように最後に数文字だけ残るのを防ぐ */
#nc .nc-flow-step-title,
#nc .nc-flow-step-desc {
	text-wrap: balance;
}
#nc .nc-inner {
	max-width: 900px;
	margin: 0 auto;
}
#nc .nc-sec-head {
	font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 50px;
}
#nc .nc-sec-sub {
	color: #6E6F60;
	font-size: 16px;
	letter-spacing: 0.2em;
	margin-bottom: 5px;
}
#nc .nc-sec-title {
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0.3em;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	color: #3B3D33;
}
/* =========================================================
hero
========================================================= */
#nc .nc-hero {
	position: relative;
	width: 100%;
	height: 420px;
	overflow: hidden;
}
#nc .nc-hero-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
}
#nc .nc-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.50) 0%, rgba(0,0,0,0) 50%);
	pointer-events: none;
	z-index: 2;
}
#nc .nc-hero-text {
	position: absolute;
	left: 5%;
	top: 48%;
	transform: translateY(-50%);
	color: #fdfdfb;
	text-shadow: 0 5px 20px rgba(0,0,0,.8);
	white-space: nowrap;
	z-index: 5;
}
#nc .nc-hero-text h1 {
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: clamp(22px, 4.3vw, 44px);
	line-height: 1.4;
	letter-spacing: 0.06em;
	margin-bottom: 15px;
}
#nc .nc-hero-text p {
	font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif;
	font-size: clamp(16px, 1.8vw, 24px);
	line-height: 1.4;
	letter-spacing: 0.06em;
}
/* =========================================================
story
========================================================= */
#nc .nc-story {
	text-align: center;
}
#nc .nc-story-title {
	font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif;
	text-align: center;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.4;
	color: #3B3D33;
	letter-spacing: 0.3em;
	padding: 0;
	margin: 0 0 30px 0;
}
#nc .nc-story-text {
	font-size: 15px;
	line-height: 2.2;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}
#nc .nc-story-gallery {
	text-align: center;
	display: flex;
	gap: 1px;
	margin: 0 auto;
}
#nc .nc-story-gallery img {
  flex: 1;
  width: 0;
  height: 220px;
  object-fit: cover;
}
/* =========================================================
walls
========================================================= */
#nc .nc-walls {
	text-align: center;
}
#nc .nc-wall {
	margin: 0 auto 50px;
	max-width: 760px;
}
#nc .nc-wall:last-child {
	margin-bottom: 0;
}
#nc .nc-wall dt {
	font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.26em;
	border-bottom: 1px solid #85866F;
	padding-bottom: 10px;
	margin-bottom: 15px;
}
#nc .nc-wall dd {
	text-align: left;
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0.06em;
	margin: 0;
}
/* =========================================================
services
========================================================= */
#nc .nc-services {
	background-color: #EAE6D8;
	padding: 56px 30px;
}
#nc .nc-service {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	max-width: 760px;
	margin: 0 auto 42px;
}
#nc .nc-service:last-child {
	margin-bottom: 0;
}
#nc .nc-service-icon {
	flex: 0 0 92px;
	text-align: center;
	padding-top: 6px;
}
#nc .nc-service-icon img {
	width: 80px;
}
#nc .nc-service-body h3 {
	font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.2em;
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: none;
	color: #3B3D33;
}
#nc .nc-service-body p {
	font-size: 14px;
	letter-spacing: 0.05em;
}

/* =========================================================
flow
========================================================= */
#nc .nc-flow {
	padding: 56px 30px;
}
#nc .nc-flow-columns {
	display: flex;
	align-items: stretch;
	gap: 36px;
}
#nc .nc-flow-body {
	flex: 1;
	text-align: center;
}
#nc .nc-flow-body .nc-sec-title {
	margin-bottom: 36px;
}
#nc .nc-flow-steps {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 680px;
}
#nc .nc-flow-step {
	background-color: #FFFFFF;
	border: 1px solid #3B3D33;
	border-radius: 10px;
	padding: 15px 20px;
	margin: 0;
}
#nc .nc-flow-step + .nc-flow-step {
	margin-top: 32px;
	position: relative;
}
#nc .nc-flow-step + .nc-flow-step:before {
	content: "";
	position: absolute;
	top: -28px;
	left: 50%;
	height: 24px;
	border-left: 3px dotted #3B3D33;
}
#nc .nc-flow-step.is-strong {
	background-color: #F9EE79;
	border-color: #F9EE79;
}
#nc .nc-flow-step-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.08em;
}
#nc .nc-flow-step-desc {
	font-size: 15px;
	margin-top: 4px;
}
#nc .nc-flow-note {
	font-size: 15px;
	margin-top: 5px;
	position: relative;
	padding-top: 35px;
}
#nc .nc-flow-note:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	height: 24px;
	border-left: 3px dotted #3B3D33;
}
#nc .nc-flow-goal {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.24em;
	margin-top: 20px;
}

/* =========================================================
makers
========================================================= */
#nc .nc-makers {
	background-color: #EAE6D8;
	padding: 56px 30px;
}
#nc .nc-makers-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.2em;
	padding: 0 0 10px;
	margin: 0 0 15px;
	background: none;
	border: none;
	border-bottom: 2px solid #3B3D33;
	color: #3B3D33;
}
#nc .nc-makers-lead {
	font-size: 15px;
	letter-spacing: 0.06em;
	color: #6E6F60;
	margin: 0 0 4px;
}
#nc .nc-makers-filter {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 16px 0 4px;
}
#nc .nc-makers-filter-label {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #3B3D33;
	white-space: nowrap;
	padding: 8px 0;
	line-height: 1;
}
#nc .nc-makers-filter-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 0;
	min-width: 0;
}
#nc .nc-makers-filter-btn {
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: #3B3D33;
	background-color: #FFFFFF;
	border: 1px solid #C9C5B4;
	border-radius: 20px;
	padding: 8px 14px;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
#nc .nc-makers-filter-btn:hover {
	background-color: #F4F1E6;
	border-color: #3B3D33;
}
#nc .nc-makers-filter-btn.active {
	color: #FFFFFF;
	background-color: #3B3D33;
	border-color: #3B3D33;
}
/* 0件のときだけサーバーが描くので、CSSでは隠さない */
#nc .nc-makers-none {
	font-size: 13px;
	color: #6E6F60;
	padding: 28px 0 0;
}
#nc .nc-makers-note {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.06em;
	color: #6E6F60;
	margin-top: 32px;
}
#nc .nc-makers-list {
	margin-top: 24px;
}
/* 1社ずつ1カラム。はじめから全部が開いた状態なので、折りたたみの仕掛けは持たない */
#nc .nc-maker {
	/* PC共通CSSの body{text-align:center} を引き継がないよう、ここで戻す */
	text-align: left;
	background-color: #FFFFFF;
	border-radius: 12px;
	padding: 36px 40px;
	margin-bottom: 24px;
}
#nc .nc-maker:last-child {
	margin-bottom: 0;
}
#nc .nc-maker-head {
	border-bottom: 1px solid #E2DFD2;
	padding-bottom: 20px;
	margin-bottom: 26px;
}
#nc .nc-maker-logo {
	height: 48px;
	display: flex;
	align-items: center;
}
#nc .nc-maker-logo img {
	max-height: 100%;
	max-width: 180px;
	width: auto;
	height: auto;
}
#nc .nc-maker-desc {
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.04em;
}
#nc .nc-maker-desc p {
	margin-bottom: 1em;
}
#nc .nc-maker-desc p:last-child {
	margin-bottom: 0;
}
/* detail に書かれた見出し・箇条書き用 */
#nc .nc-maker-desc h4 {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin: 28px 0 10px;
}
#nc .nc-maker-desc ul {
	padding-left: 1.4em;
	margin: 0 0 1em;
}
/* マーカーは li 側で指定する。ul に書くと共通CSSの li リセットに負ける */
#nc .nc-maker-desc li {
	list-style: disc;
	margin: 0 0 0.3em;
	padding: 0;
	background: none;
}
#nc .nc-maker-meta {
	font-size: 12px;
	color: #6E6F60;
	margin-top: 20px;
}
#nc .nc-maker-example {
	margin-top: 28px;
}
#nc .nc-maker-example-title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.16em;
	margin-bottom: 10px;
}
/* PCは冊子(P6・P7)と同じく3枚を横に並べる。送るのはmobileだけ */
#nc .nc-maker-example-photos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
#nc .nc-maker-example-photos li {
	margin: 0;
	padding: 0;
	background: none;
}
#nc .nc-maker-example-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 200px;
	background-color: #D6D2C2;
	color: #8B8C7C;
	font-size: 12px;
	letter-spacing: 0.2em;
}
#nc .nc-maker-example-img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}
/* 3枚とも見えているので送りの印は出さない。HTMLはmobileと共通なのでここで消す */
#nc .nc-maker-example-dots {
	display: none;
}
#nc .nc-maker-example-meta {
	font-size: 11px;
	color: #6E6F60;
	margin-top: 10px;
}
#nc .nc-maker-link {
	text-align: center;
	margin-top: 30px;
}

/* =========================================================
makers（絞り込みの待ち表示）
========================================================= */
/* 絞り込みはサーバーへ往復するので、待っている間だけ薄くしてぐるぐるを出す */
#nc #jid_nc_makers.is-loading {
	position: relative;
	pointer-events: none;
}
#nc #jid_nc_makers.is-loading .nc-makers-list,
#nc #jid_nc_makers.is-loading .nc-makers-none {
	opacity: 0.35;
}
#nc #jid_nc_makers.is-loading:after {
	content: "";
	position: absolute;
	top: 140px;
	left: 50%;
	width: 32px;
	height: 32px;
	margin-left: -16px;
	border: 3px solid rgba(59, 61, 51, 0.25);
	border-top-color: #3B3D33;
	border-radius: 50%;
	animation: nc-spin 0.8s linear infinite;
}
@keyframes nc-spin {
	to {
		transform: rotate(360deg);
	}
}

/* =========================================================
contact
========================================================= */
#nc .nc-contact {
	background-color: #3A3C31;
	color: #F4F1E8;
	text-align: center;
	padding: 48px 30px 10px;
}
#nc .nc-contact-copy {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.24em;
	margin-bottom: 24px;
}
#nc .nc-contact-tel-label {
	font-size: 15px;
	letter-spacing: 0.2em;
	color: #C9C5B4;
	margin-bottom: 6px;
}
#nc .nc-contact-tels {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 28px;
}
#nc .nc-contact-tels li {
	list-style: none;
	background: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
/* 冊子と同じく国名を丸いバッジで添える */
#nc .nc-contact-tel-area {
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #3A3C31;
	background-color: #F6EFA8;
	border-radius: 20px;
	padding: 5px 12px;
}
#nc .nc-contact-tel {
	display: inline-block;
	color: #F4F1E8;
	font-size: 38px;
	letter-spacing: 0.12em;
	text-decoration: none;
	border-bottom: 1px solid #85866F;
	padding: 0 16px 4px;
}
#nc .nc-contact-tel:hover {
	opacity: 0.85;
}
#nc .nc-contact-web {
	font-size: 15px;
	letter-spacing: 0.1em;
	margin-top: 18px;
}

/* =========================================================
button (共通)
========================================================= */
#nc .nc-btn {
	display: inline-block;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.6;
	color: #F4F1E8;
	background-color: #3B3D33;
	border: 1px solid #3B3D33;
	border-radius: 26px;
	text-decoration: none;
	padding: 12px 32px;
	transition: background-color 0.2s, color 0.2s;
}
#nc .nc-btn:after {
	content: "→";
	margin-left: 10px;
}
/* ラベル中の<br>はmobile用。PCは横幅が足りるので1行のまま */
#nc .nc-btn br {
	display: none;
}
#nc .nc-btn:hover {
	color: #3B3D33;
	background-color: #F4F1E8;
}
/* 3つの壁のカード内ボタン（dd の text-align:left を上書き） */
#nc .nc-wall dd.nc-wall-action {
	text-align: center;
	margin-top: 22px;
}

/* =========================================================
sub page hero（税金ページなどの下層共通）
========================================================= */
#nc .nc-subhero {
	background-color: #3A3C31;
	color: #F4F1E8;
	padding: 20px 20px 40px;
	text-align: center;
}
#nc .nc-subhero-back {
	text-align: left;
	margin-bottom: 20px;
}
#nc .nc-subhero-back a {
	color: #C9C5B4;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-decoration: none;
}
#nc .nc-subhero-back a:before {
	content: "←";
	margin-right: 8px;
}
#nc .nc-subhero-back a:hover {
	color: #F4F1E8;
}
#nc .nc-subhero-sub {
	font-size: 16px;
	letter-spacing: 0.3em;
	color: #C9C5B4;
}
#nc .nc-subhero-title {
	font-size: 34px;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 1.6;
	color: #F4F1E8;
	margin: 10px 0 20px;
	padding: 0;
	background: none;
	border: none;
}
#nc .nc-subhero-lead {
	font-size: 15px;
	line-height: 1.85;
	letter-spacing: 0.12em;
	color: #E4E0D2;
}

/* =========================================================
tax（税金ページ）
========================================================= */
#nc .nc-tax-intro {
	padding: 54px 30px 0;
	text-align: center;
}
#nc .nc-tax-quote {
	max-width: 700px;
	margin: 0 auto;
	background-color: #F4F1E6;
	border-left: 4px solid #85866F;
	border-radius: 0 10px 10px 0;
	padding: 18px 24px;
	text-align: left;
}
#nc .nc-tax-quote-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.2em;
	margin-bottom: 6px;
}
#nc .nc-tax-quote-text {
	font-size: 14px;
	line-height: 1.85;
	color: #6E6F60;
}
#nc .nc-tax-intro-text {
	font-size: 15px;
	line-height: 1.85;
	letter-spacing: 0.1em;
	padding: 30px 0 40px;
}
#nc .nc-tax-steps {
	padding: 54px 30px;
}
#nc .nc-tax-step {
	max-width: 700px;
	margin: 0 auto 26px;
	background-color: #FFFFFF;
	border: 1px solid #3B3D33;
	border-radius: 10px;
	padding: 26px 30px;
}
#nc .nc-tax-step:last-child {
	margin-bottom: 0;
}
#nc .nc-tax-step-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
#nc .nc-tax-step-num {
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1;
	color: #B4AF98;
}
#nc .nc-tax-step-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1;
	color: #3B3D33;
	background-color: #F9EE79;
	border-radius: 20px;
	padding: 6px 15px;
}
#nc .nc-tax-step-title {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.7;
	color: #3B3D33;
	margin: 0 0 14px;
	padding: 0;
	background: none;
	border: none;
}
#nc .nc-tax-step-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
#nc .nc-tax-step-list li {
	list-style: none;
	background-image: none;
	position: relative;
	font-size: 14px;
	line-height: 1.95;
	letter-spacing: 0.04em;
	padding: 0 0 0 20px;
}
#nc .nc-tax-step-list li:before {
	content: "";
	position: absolute;
	top: 0.82em;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #85866F;
}
#nc .nc-tax-step-list li + li {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dotted #C9C5B4;
}
#nc .nc-tax-step-list li + li:before {
	top: calc(14px + 0.82em);
}
#nc .nc-tax-expert {
	background-color: #F4F1E6;
	padding: 50px 30px;
	text-align: center;
}
#nc .nc-tax-expert-text {
	font-size: 15px;
	line-height: 2.2;
	letter-spacing: 0.08em;
	margin: 24px 0 28px;
}
#nc .nc-tax-links {
	padding: 46px 30px 54px;
}
#nc .nc-tax-links-title {
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: #3B3D33;
	margin: 0 0 14px;
	padding: 0 0 10px;
	background: none;
	border: none;
	border-bottom: 2px solid #3B3D33;
}
#nc .nc-tax-links-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}
#nc .nc-tax-links-list li {
	list-style: none;
	background-image: none;
}
#nc .nc-tax-links-list li + li {
	margin-top: 8px;
}
#nc .nc-tax-links-list a {
	font-size: 14px;
	letter-spacing: 0.04em;
	color: #3B3D33;
	text-decoration: underline;
}
#nc .nc-tax-links-list a:after {
	content: "↗";
	margin-left: 6px;
	text-decoration: none;
}
#nc .nc-tax-links-list a:hover {
	opacity: 0.7;
}
#nc .nc-tax-note {
	font-size: 12px;
	line-height: 1.9;
	letter-spacing: 0.02em;
	color: #6E6F60;
	background-color: #F4F1E6;
	border: 1px solid #D7D2BF;
	border-radius: 8px;
	padding: 14px 18px;
}
#nc .nc-tax-checked {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.02em;
	color: #6E6F60;
	text-align: right;
	margin-top: 10px;
}

/* =========================================================
form wrapper
========================================================= */
#nc-form-head {
	text-align: center;
	background-color: #3A3C31;
	padding: 40px 30px 10px;
}
#nc-form-head .nc-form-head-catch {
	font-family: 'Noto Serif JP', serif;
	color: #F4F1E8;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.22em;
	margin: 0 0 8px;
}
#nc-form-head .nc-form-head-lead {
	font-family: "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "BIZ UDGothic", "Yu Gothic", "Meiryo", sans-serif;
	color: #C9C5B4;
	font-size: 15px;
	letter-spacing: 0.14em;
	margin: 0;
}
#nc-form {
	background-color: #3A3C31;
}
#nc-form .frame {
	padding: 30px 30px 50px;
}
#nc-form .bg {
	padding: 30px;
}
#nc-form .box {
	background-color: #ffffff;
	padding: 30px;
	border-radius: 12px;
	margin: 0 auto;
	max-width: 890px;
	box-sizing: border-box;
}
#nc-form .nc-form-title {
	color: #ffffff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	background-color: #3A3C31;
	border-radius: 3px;
	padding: 14px 20px;
	margin: 0 0 20px;
	border: none;
}
#nc-form .desc {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 15px;
}

/* table */
#nc-form table {
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 3px double #efefef;
	margin-bottom: 20px;
	width: 100%;
}
#nc-form th {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.4;
	vertical-align: top;
	text-align: left;
	width: 110px;
	border-bottom: 3px double #efefef;
	padding: 12px 4px 12px 8px;
	white-space: nowrap;
}
#nc-form td {
	font-size: 14px;
	vertical-align: top;
	border-bottom: 3px double #efefef;
	padding: 12px 8px 12px 4px;
}
#nc-form td.req {
	line-height: 1;
	vertical-align: top;
	width: 30px;
}
#nc-form td.req span {
	display: block;
	color: #ffffff;
	font-size: 11px;
	text-align: center;
	line-height: 100%;
	background-color: #ff9900;
	border-radius: 3px;
	padding: 4px;
	white-space: nowrap;
}
#nc-form td.req span.opt {
	background-color: #9aa0a8;
}
#nc-form td.input {
	line-height: 1.6;
	word-break: break-all;
}
#nc-form td:last-child {
	width: auto;
}
#nc-form input[type="text"].text-max {
	font-size: 14px;
	box-sizing: border-box;
	padding: 6px 10px;
	border: 1px solid #c5ccd6;
	width: 100%;
}
#nc-form textarea.area-large {
	width: 100%;
	box-sizing: border-box;
	height: 140px;
	padding: 6px 10px;
	border: 1px solid #c5ccd6;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.6;
	resize: vertical;
}

/* agree document */
#nc-form .nc-agree {
	margin-bottom: 24px;
}
#nc-form .nc-agree-block {
	margin-bottom: 18px;
}
#nc-form .nc-agree-title {
	font-size: 14px;
	font-weight: bold;
	color: #3B3D33;
	margin: 0 0 6px;
}
#nc-form textarea.nc-agree-text {
	width: 100%;
	box-sizing: border-box;
	height: 200px;
	padding: 10px 12px;
	border: 1px solid #c5ccd6;
	border-radius: 3px;
	background-color: #FBFAF5;
	color: #333333;
	font-size: 13px;
	line-height: 1.8;
	resize: vertical;
}
#nc-form .nc-agree-check {
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	margin-top: 16px;
}
#nc-form .nc-agree-check label {
	margin-left: 5px;
}

/* agreement */
#nc-form .agreement {
	text-align: center;
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: 20px;
}
#nc-form .agreement .read {
	margin-bottom: 5px;
}
#nc-form .agreement label {
	margin-left: 5px;
}

/* button */
#nc-form .button {
	clear: both;
	text-align: center;
	margin-bottom: 10px;
}
#nc-form .button div {
	display: inline-block;
	margin: 0 5px;
}
#nc-form .button input[type="submit"] {
	display: inline-block;
	box-sizing: border-box;
	font-family: inherit;
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	background-color: #3B3D33;
	border: none;
	border-bottom: 3px solid rgba(0, 0, 0, 0.25);
	border-radius: 4px;
	cursor: pointer;
	padding: 16px 30px 13px;
	min-width: 160px;
}
#nc-form .button input[type="submit"]:hover {
	background-color: #8A8D6F;
}
#nc-form .button a {
	display: inline-block;
	box-sizing: border-box;
	color: #ffffff;
	text-align: center;
	line-height: 100%;
	background-color: #999999;
	border: none;
	border-bottom: 3px solid rgba(0, 0, 0, 0.25);
	border-radius: 4px;
	cursor: pointer;
	/* 「戻る」と「送信する」は同じ寸法にする（家結びと同じ） */
	padding: 16px 30px 13px;
	min-width: 160px;
	font-size: 14px;
	text-decoration: none;
}
#nc-form .button a:hover {
	background-color: #8A8D6F;
}

/* complete / done */
#nc-form .complete {
	margin-bottom: 10px;
}
#nc-form .complete dt {
	color: #3B3D33;
	font-size: 16px;
	font-weight: bold;
	margin: 10px 0 12px;
}
#nc-form .complete dd {
	font-size: 14px;
	line-height: 1.4;
}
#nc-form .done {
	border: 1px solid #e6eae6;
	background-color: #f7f8fa;
	padding: 20px 20px 12px;
}
#nc-form .done dl {
	padding-bottom: 15px;
	margin-bottom: 20px;
	border-bottom: 1px solid #e6eae6;
}
#nc-form .done dl:last-child {
	margin-bottom: 0;
	border-bottom: none;
}
#nc-form .done dt {
	color: #3B3D33;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 15px;
}
#nc-form .done dd {
	font-size: 14px;
	line-height: 1.4;
}
#nc-form .done dd ul {
	list-style-type: square;
	padding: 0;
	margin: 0 0 12px 1.5em;
}
#nc-form .return {
	text-align: center;
	margin-top: 24px;
}
#nc-form .return a {
	color: #333333;
	background-color: #EAE6D8;
	font-size: 14px;
	padding: 8px 20px;
	border-radius: 20px;
}
/* =========================================================
form note
========================================================= */
#nc-form .form-note {
	font-size: 12px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: #6E6F60;
	margin-top: 6px;
}

/* =========================================================
service message (冊子P9「サービスを開始するにあたり」)
========================================================= */
/* 冊子は縦書きの帯だが、Webは他のセクションと同じ横書きの見出しに揃える
   （「物語はつづく。」も冊子は縦書きでWebは横書き。縦書きはページ内で浮く） */
#nc .nc-message-body {
	max-width: 760px;
	margin: 0 auto;
}
#nc .nc-message-body p {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.06em;
}
#nc .nc-message-body p + p {
	margin-top: 22px;
}

/* =========================================================
company (冊子P10 CONTACT)
========================================================= */
#nc .nc-company-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 28px;
}
#nc .nc-company-item dt {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.16em;
	border-bottom: 1px solid #3B3D33;
	padding-bottom: 8px;
	margin-bottom: 14px;
}
#nc .nc-company-item dd {
	font-size: 14px;
	line-height: 1.8;
	margin: 0 0 10px;
}
#nc .nc-company-name {
	font-weight: 600;
}
#nc .nc-company-label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.12em;
	color: #6E6F60;
}
