/*
* ----------------------------------------------------------------------------------------
* /menu/ 用スタイル（トップページの style.css を前提に上書き・追加）
* ----------------------------------------------------------------------------------------
*/

.menu-page { padding-top: 70px; color: #555; }

/* ナビゲーション（/menu/ では常に上部固定。見た目は common.css） */
.menu-page .navbar-default.menu-top { position: fixed; top: 0; }

/* ヒーロー */
.menu-hero {
	position: relative;
	height: 460px;
	background-size: cover;
	background-position: center center;
}
.menu-hero:before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0, 0, 0, 0.35);
}
.menu-hero .container { position: relative; height: 100%; display: table; }
.menu-hero-text { display: table-cell; vertical-align: middle; text-align: center; color: #fff; }
.menu-hero-text h1 {
	color: #fff;
	font-family: montserrat, sans-serif;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 15px;
}
.menu-hero-text p { font-size: 18px; line-height: 1.8; }
@media (max-width: 767px) {
	.menu-hero { height: 320px; }
	.menu-hero-text h1 { font-size: 24px; }
	.menu-hero-text p { font-size: 15px; }
}

/* サービス一覧 */
.service-list .service-card {
	display: block;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 30px;
	transition: all 0.3s ease;
}
.service-list .service-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-3px);
}
.service-list .service-card img { width: 100%; height: auto; display: block; }
.service-list .service-card-body { padding: 20px 20px 24px; }
.service-list .service-card h3 { font-size: 20px; font-weight: 600; color: #083c5a; margin-bottom: 10px; }
.service-list .service-card p { color: #777; font-size: 14px; line-height: 1.8; }
.service-list .service-card .more { display: inline-block; margin-top: 12px; color: #083c5a; font-size: 13px; font-weight: 600; }

/* 記事ページ */
.page-header-band { background: #f7f9fb; padding: 50px 0 40px; }
.page-header-band .section-title { margin-bottom: 0; }
.page-header-band .section-title h2 { font-size: 30px; color: #083c5a; font-weight: 600; }
.breadcrumb-nav { font-size: 12px; margin-top: 15px; color: #999; }
.breadcrumb-nav a { color: #083c5a; }

.article-thumb { margin-bottom: 40px; }
.article-thumb img { width: 100%; height: auto; border-radius: 4px; }

.article-body { font-size: 15px; line-height: 2; color: #444; padding-bottom: 20px; }
.article-body p { margin-bottom: 1.4em; }
.article-body img { max-width: 100%; height: auto; display: block; margin: 30px auto; }
.article-body h2 {
	font-size: 24px;
	font-weight: 600;
	color: #083c5a;
	border-bottom: 2px solid #083c5a;
	padding-bottom: 10px;
	margin: 50px 0 25px;
}
.article-body h3 {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	border-left: 5px solid #083c5a;
	padding: 4px 0 4px 14px;
	margin: 45px 0 20px;
}
.article-body h3 .fa { color: #e9546b; margin-right: 6px; }
.article-body h4 { font-size: 18px; font-weight: 600; color: #083c5a; margin: 35px 0 15px; }
.article-body ul { margin: 0 0 1.6em 1.4em; }
.article-body ul li { list-style: disc; padding: 2px 0; }
.article-body dl dt { font-size: 16px; color: #083c5a; font-weight: 700; margin-top: 15px; }
.article-body dl dd { margin: 5px 0 15px; }
.article-body table { width: 100%; border-collapse: collapse; margin-bottom: 1.6em; }
.article-body table th,
.article-body table td { border: 1px solid #ddd; padding: 12px 15px; vertical-align: middle; }
.article-body table th { background: #f0faff; color: #333; font-weight: 600; width: 35%; }
.article-body .lead-text { font-size: 1.4em; line-height: 1.7; margin-bottom: 1em; }
.article-body .lead-catch { font-size: 2em; line-height: 1.5; text-align: center; color: #083c5a; font-weight: 600; margin-bottom: 0.8em; }

/* おすすめボックス */
.recommend-box { border: 2px solid #083c5a; border-radius: 4px; margin: 30px 0; }
.recommend-box-title { background: #083c5a; color: #fff; font-weight: 700; padding: 8px 16px; }
.recommend-box ul { margin: 15px 20px 15px 2.4em; }

/* アイコン付き吹き出し */
.icon-box { display: table; width: 100%; margin: 15px 0; }
.icon-box-icon,
.icon-box-main { display: table-cell; vertical-align: middle; }
.icon-box-icon { width: 60px; text-align: center; font-size: 28px; }
.icon-box-main { border-left: 3px solid; padding: 10px 16px; background: #fafafa; }
.icon-box.green .icon-box-icon { color: #3fb68b; }
.icon-box.green .icon-box-main { border-color: #3fb68b; }
.icon-box.yellow .icon-box-icon { color: #f2b01e; }
.icon-box.yellow .icon-box-main { border-color: #f2b01e; background: #fffbea; }

.note-box { border: 1px dashed #bbb; padding: 15px 20px; margin: 20px 0; text-align: center; }
.note-box p { margin-bottom: 0; }

/* 料金プラン（トップページの pricing-table を流用） */
.plan-lead { font-size: 1.4em; line-height: 1.8; text-align: center; margin-bottom: 2em; }
.article-body .pricing-table { margin-bottom: 30px; padding-bottom: 20px; }
.article-body .pricing-table h3 { border: none; padding: 0; margin: 0 0 10px; font-size: 18px; }
.article-body .pricing-table .price { width: auto; height: auto; border-radius: 40px; padding: 10px 24px; margin-bottom: 20px; }
.article-body .pricing-table .price span { display: inline; font-size: 22px; margin: 0 4px 0 0; }
.article-body .pricing-table .plan-target { font-size: 13px; line-height: 1.8; color: #777; border-top: 1px solid #eee; padding-top: 12px; margin-bottom: 10px; }
.article-body .pricing-table ul { margin: 0; }
.article-body .pricing-table ul li { list-style: none; }

/* お問い合わせ CTA */
.cta-box { text-align: center; margin: 60px 0 20px; padding: 40px 20px; background: #f7f9fb; border-radius: 4px; }
.cta-box p { margin-bottom: 15px; }
.cta-btn,
.cta-btn:focus {
	display: inline-block;
	background: #083c5a;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	padding: 14px 50px;
	border-radius: 40px;
}
.cta-btn:hover { background: #0d5a86; color: #fff; }

/* お問い合わせフォーム */
.contact-form-box { max-width: 720px; margin: 0 auto; }
