@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 投稿タイトル ------------------------------ */
.single h1.c-postTitle__ttl {
	font-family: 'Noto Serif JP','Noto Serif',serif;
    font-size:  32px;
    margin-bottom: 16px !important;
    position: relative;
}

.single figure.p-articleThumb {
    margin-top: 2.5em;
}

.single .post_content {
    margin-top: 2em !important;
}

/* 投稿・カテゴリタイトル---------------------- */
.single h2.wp-block-heading, 
.category h2.wp-block-heading {
	margin-top: 2.5em;
	margin-bottom: 1.2em;
	color: #0F2350;
	padding-left: 45px;
	position: relative;
}

.single h2.wp-block-heading::before, 
.category h2.wp-block-heading::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0px;
	width: 32px;
	height: 32px;
	background-image: url('https://os-reform.jp/wp-content/uploads/2025/08/favicon.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.single h2.wp-block-heading::after, 
.category h2.wp-block-heading::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #0F2350;
}

.single h3.wp-block-heading, 
.category h3.wp-block-heading {
	position: relative;
	display: inline-block;
	margin: 0 0 .5em 0 !important;
}

.single h3.wp-block-heading::after, 
.category h3.wp-block-heading::after {
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0;
	width: 100%;
	height: 10px;
	background-color: #FF9326;
	opacity: .5;
	z-index: -1;
}

@media (max-width: 599px) {
	.single h1.c-postTitle__ttl {
		font-size: 24px;
	}

	.single h2.wp-block-heading, 
	.category h2.wp-block-heading {
		line-height: 32px;
	}

	.single h2.wp-block-heading::before, 
	.category h2.wp-block-heading::before {
		left: 4px;
	}

	.single h3.wp-block-heading::after,
	.category h3.wp-block-heading::after {
		bottom: -4px;
	}
}

/* 投稿アイキャッチ画像 ---------------------- */
@media (min-width: 960px) {
	.single img.p-articleThumb__img {
		max-height: 600px;
		object-fit: cover;
	}
}

/* ブログパーツ：お見積り ---------------------*/
.swell-block-columns.omitsumori {
	border: solid 2px #FF9326;
	border-radius: 8px;
	padding: 1.5em;
}

/* 投稿タイトル ----------------------------- */
.p-articleHead.c-postTitle {
	margin-bottom: 1em;
}

/* タグページはNoImg画像非表示---------------- */
.archive.tag img.l-topTitleArea__img.c-filterLayer__img.u-obf-cover {
	display: none;
}

/* SPメニューの表示調整 ---------------------- */
.c-widget__title.-spmenu {
	display: none;
}

.p-spMenu__nav {
	margin-top: 20px;
}

#sp_menu .c-spnav a {
	font-size: 16px;
}

/* SPメニュー：メインメニューアイテムのスタイル */
#sp_menu .c-spnav .menu-item-715>a,
#sp_menu .c-spnav .menu-item-718>a,
#sp_menu .c-spnav .menu-item-719>a {
	background-color: #1A68B6 !important;
	color: #fff !important;
	border-radius: 6px !important;
	padding: 6px 0 6px 24px !important;
}

#sp_menu .c-spnav .menu-item-715>a {
	margin-bottom: 12px;
}

/* カテゴリページ----------------------------- */
.archive .l-topTitleArea__body.l-container {
	text-align: center;
}

.archive small.c-pageTitle__subTitle {
	display: none;
}

.archive h1.c-pageTitle {
	display: inline-block;
	font-family: 'Noto Serif JP', 'Noto Serif', serif;
	/* Noto Serif を使用 */
	font-size: 2em;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: #292929;
	background-color: #fff;
	padding: .5em 1.5em;
	border-radius: 12px;
}

/* 給湯器 */
.category-7 img.l-topTitleArea__img.c-filterLayer__img.u-obf-cover {
	object-position: 35% center;
}

/* 玄関・ドア・窓 */
.category-8 img.l-topTitleArea__img.c-filterLayer__img.u-obf-cover {
	object-position: 38% center;
}

/* バリアフリー */
.category-13 img.l-topTitleArea__img.c-filterLayer__img.u-obf-cover {
	object-position: 25% center;
}

/* 修理・小工事 */
.category-14 img.l-topTitleArea__img.c-filterLayer__img.u-obf-cover {
	object-position: 42% center;
}

@media (max-width: 599px) {
	.archive h1.c-pageTitle {
		font-size: 1.6em;
	}
}

/* Instagram フィード --------------------------*/
.sbi_load_btn {
	background-color: #fff !important;
	color: #1A68B6 !important;
	border: solid 1px #1A68B6 !important;
}

#sb_instagram #sbi_load .sbi_follow_btn a {
	margin-top: 0 !important;
}

@media (max-width: 335px) {
	#sb_instagram #sbi_load .sbi_follow_btn a {
		margin-top: 10px !important;
	}
}

/* フローティングバナー --------------------------*/
#footer-floating {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	max-width: 900px;
	width: 100%;
	z-index: 100;
	/* 他の要素の上に表示 */
	opacity: 1;
	visibility: visible;
	padding: 0;
}

/* 外枠：幅660px */
.floating-button-outer-wrap {
	width: 100%;
	max-width: 708px;
	margin: 0 auto;
	padding: 0 12px;
	position: relative;
	overflow: visible;
	/* 念のため重なりを隠さない */
}

/* ボタン行 */
.floating-button-wrap {
	position: relative;
	z-index: 102;
	/* 帯より前面 */
	margin-bottom: 0px;
	padding: 0 12px;
}

/* ボタン横並び・中央寄せ・隙間なし・リストマーク無し */
.floating-button-wrap .floating-buttons {
	display: flex;
	justify-content: center;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* <li> と画像の余白リセット */
.floating-button-wrap .floating-button {
	margin: 0;
	padding: 0;
}

.floating-button-wrap .floating-button a {
	display: block;
}

.floating-button-inner {
	width: 198px;
	height: 40px;
	border: 3px solid #FF9326;
	border-bottom: 0;
	background-color: #fff;
	border-radius: 12px 12px 0px 0px;
	text-align: center;
	padding-top: 5px;
	box-shadow: 2px -3px 8px rgba(0, 0, 0, 0.15);
}

.floating-button-inner span {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
}

.floating-button-inner .fa-line {
	font-size: 24px;
	color: #00B900;
}

.floating-button-inner .fa-envelope,
.floating-button-inner .fa-phone {
	color: #5B95CF;
}

@media(max-width: 599px) {
	.p-fixBtnWrap {
		bottom: 3.6em;
	}

	.floating-button-inner {
		width: 120px;
		height: 40px;
		padding-top: 0;
	}

	.floating-button-inner span {
		font-size: 14px;
		font-weight: 500;
		line-height: 1 !important;
		white-space: normal;
		word-spacing: 0;
		letter-spacing: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100%;
	}

	/* SP表示で改行をCSSで制御 */
	.floating-button-inner span {
		position: relative;
	}

	.floating-button-inner span::before {
		content: "";
		display: block;
		height: 0;
		margin: 0;
		padding: 0;
	}

	/* アイコンとテキストの間に改行を挿入 */
	.floating-button-inner span::after {
		content: "\A";
		white-space: pre;
		display: block;
		height: 0;
		line-height: 0;
		margin: 0;
		padding: 0;
	}

	.floating-button-inner .fa-line {
		font-size: 18px;
	}
}

@media (max-width: 374px) {
	.p-fixBtnWrap {
		bottom: 4.2em;
	}

	.floating-button-inner {
		width: 100px;
	}

	.floating-button-inner span {
		font-size: 12px;
	}
}

/* フッター ---------------------------------------*/
footer#footer {
	padding-bottom: 4em;
}

.l-footer__widgetArea {
	padding-bottom: 0;
}

img.footer-logo.lazyloaded {
	width: 248px;
	margin-bottom: 0 !important;
}

.l-container.w-footer.-col3 p {
	line-height: 2em;
}

i.fa-solid.fa-phone {
	margin-right: .25em;
}

footer a {
	border: 0 !important;
}

.footer-nav .menu-item-main {
	font-weight: 600;
	margin-bottom: 1em;
}

.footer-nav .sub-menu .menu-item {
	list-style: none;
	/* デフォルトのマーカーを消す */
	position: relative;
	/* 疑似要素の位置基準 */
	padding-left: 1.2em;
	/* アイコン分の余白 */
	font-size: .9em;
	font-weight: 400;
}

.footer-nav .sub-menu .menu-item::before {
	content: "\f054";
	/* Font Awesomeのchevron-right */
	font-family: "Font Awesome 5 Free";
	/* 利用するFont Awesomeのバージョンに合わせる */
	font-weight: 900;
	/* Solidアイコンの場合 */
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.8em;
	/* 必要に応じてサイズ調整 */
}

.footer-nav-sns {
	display: flex;
	/* 横並び */
	gap: 20px;
	/* アイコン同士の間隔 */
	padding: 0;
	margin: 0;
	list-style: none;
	/* マーカー非表示 */
}

.footer-nav-sns li a i {
	font-size: 40px;
	/* アイコンサイズ */
	line-height: 1;
}

@media (max-width: 599px) {
	.l-container.w-footer.-col0 {
		display: flex;
		text-align: center;
		justify-content: center;
	}

	img.footer-logo.lazyloaded {
		width: 200px;
	}

	ul.footer-nav-sns {
		justify-content: center;
	}

	.footer-nav-sns li a i {
		font-size: 32px;
		/* アイコンサイズ */
	}
}

/* お知らせ ---------------------------------------------*/
.news-list-wrap {
	border: 14px solid #1A68B6;
	border-radius: 30px;
}

h2.wp-block-heading.has-text-align-center.news-title-h2 {
	color: #fff;
	background-color: #1A68B6;
	font-family: 'Noto Serif JP', 'Noto Serif', serif;
	font-size: 2em;
	letter-spacing: 0.08em;
	padding: .2em 0 .5em;
	margin-bottom: 40px !important;
}

@media (max-width: 599px) {
	h2.wp-block-heading.has-text-align-center.news-title-h2 {
		font-size: 1.6em;
	}

	.news-list-wrap {
		border: 8px solid #1A68B6;
	}
}

.p-postListWrap.news-list .p-postList__thumb.c-postThumb {
	display: none !important;
}

.p-postListWrap.news-list .p-postList__body {
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	padding-bottom: 1em;
	border-bottom: solid 1px #A8A8A8;
}

li.p-postList__item:last-child .p-postList__body {
	border-bottom: 0px;
}

li.p-postList__item:last-child {
	margin-bottom: 0;
}

@media (max-width: 800px) {
	.p-postListWrap.news-list .p-postList__body {
		width: 90%;
	}
}

.swell-block-button.is-style-btn_line.news-list-button {
	max-width: 680px;
	margin-bottom: 42px !important;
	padding-right: 24px;
}

/* スペーサー ------------------------------------------------*/
@media (max-width: 599px) {
	.spacer-100px {
		height: 60px !important;
	}
}

/* トップページの見出し（フルブリード） -------------------------*/
.post_content h2.top-h2 {
	position: relative;
	/* SWELLの ::before を正しく配置するため */
	box-sizing: border-box;
	width: 100vw;
	/* 画面幅いっぱい */
	margin-left: calc(50% - 50vw);
	/* 左右の余白を相殺してフル幅に */
	margin-right: calc(50% - 50vw);
	margin-top: 3em;
	margin-bottom: 3.5em;
	text-align: center;
	/* 中央寄せ */
	font-family: 'Noto Serif JP', 'Noto Serif', serif;
	/* Noto Serif を使用 */
	font-size: 2em;
	letter-spacing: 0.08em;
	background-color: #1A68B6;
	color: #fff;
	padding: .5em 0;
}

/* 上向き三角形の疑似要素 */
.post_content h2.top-h2::after {
	content: '';
	position: absolute;
	top: 48%;
	left: 50%;
	/* 中央に配置 */
	transform: translateX(-50%);
	/* 中央揃えの調整 */
	width: 104px;
	/* 四角の幅 */
	height: 74px;
	/* 四角の高さ */
	background: url("https://os-reform.jp/wp-content/uploads/2025/08/triangle.png") no-repeat;
	background-size: 100% 100%;
	z-index: -1;
}

@media (max-width: 599px) {
	.post_content h2.top-h2 {
		font-size: 1.6em;
	}
}

@media (max-width: 480px) {
	.post_content h2.top-h2::after {
		top: 36%;
	}
}

@media (max-width: 420px) {
	.post_content h2.top-h2::after {
		top: 30%;
	}
}

@media (max-width: 380px) {
	.post_content h2.top-h2::after {
		top: 20%;
	}
}

@media (max-width: 360px) {
	.post_content h2.top-h2::after {
		top: 8%;
	}
}

.post_content h3 {
	margin-bottom: 1em;
}

/* モバイルでカラムの表示を逆にする */
@media (max-width: 599px) {
	.swell-col-reverse .swell-block-columns__inner {
		flex-direction: column-reverse;
	}
}

/* ヘッダー -------------------------------------------------*/
/* お問い合わせボタン------------------ */
.header-contact-button {
	background-color: #0F2350;
	color: #fff;
	padding: .45em .9em;
	border: solid 2px #0F2350;
	border-radius: 8px;
}

.header-contact-button .fa-envelope {
	margin-right: .5em;
}

a .header-contact-button:hover {
	background-color: #fff;
	color: #0F2350;
	border: solid 2px #0F2350;
}

@media (max-width: 959px) {
	.header-contact-button {
		width: 156px;
		text-align: center;
	}

	li.menu-item.menu-item-type-post_type.menu-item-object-page a::before {
		display: none;
	}

	.c-spnav .menu-item-716>a,
	.c-spnav .menu-item-717>a {
		border-bottom: none !important;
	}

	.c-spnav .menu-item-716>a {
		padding-left: 0 !important;
	}

}

/* パンくずリスト ----------------------------------------*/
#breadcrumb {
	display: none;
}