/*
Theme Name: GENSEN child
Theme URI:https://tcd-theme.com/tcd050
Description:WordPressテーマ「GENSEN」の子テーマ
Template:gensen_tcd050
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
  ここから下にCSSを追記してください。
*/

/* ==================================================
 * Common
 * ================================================== */
img.logo_retina {
    width: 100%;
    height: auto;
}
div#header_message .label {
    padding: 0.3em 0.5em;
}


div#article img {
    max-width: 100%;
    height: auto;
}

/* ==================================================
 * リフォームカテゴリー
 * ================================================== */

.reform_search_form .header_search_reform_category {
	display: flex;
	align-items: center;
	padding: 10px 16px;
	/* background: #fff; */
	border-radius: 4px;
}

/* PC：6カテゴリーを横1列 */
.reform_search_form .reform_category_list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
	width: 100%;
}

.reform_search_form .reform_category_item {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 6px;
	margin: 0;
	padding: 0;
	color: #333;
	font-size: 14px;
	line-height: 1.4;
	white-space: nowrap;
	cursor: pointer;
}

/* GENSENのinput共通スタイルをcheckboxだけ解除 */
.reform_search_form .reform_category_item input[type="checkbox"] {
	-webkit-appearance: checkbox;
	appearance: auto;
	display: inline-block !important;
	position: static !important;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
	border: initial !important;
	background: initial !important;
	box-shadow: none !important;
}


/* ==================================================
 * エリア
 * ================================================== */

.reform_search_form .header_search_inputs select {
	width: 100%;
	height: 64px;
	margin: 0;
}


/* ==================================================
 * キーワード
 * ================================================== */

.reform_search_form .header_search_keywords {
	position: relative;
}

.reform_search_form .header_search_keywords input[type="text"] {
	width: 100%;
	height: 64px;
	margin: 0;
}

/* AND / ORは非表示 */
.reform_search_form .search_keywords_operator {
	display: none !important;
}


/* ==================================================
 * 検索ボタン
 * ================================================== */

.reform_search_form .header_search_button input[type="submit"] {
	width: 100%;
	height: 64px;
	margin: 0;
}


/* ==================================================
 * タブレット
 * ================================================== */

@media screen and (max-width: 1100px) {

	.reform_search_form {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.reform_search_form .header_search_reform_category {
		grid-column: 1 / -1;
	}

	.reform_search_form .reform_category_list {
		justify-content: center;
	}

}


/* ==================================================
 * SP
 * ================================================== */

@media screen and (max-width: 767px) {

	.reform_search_form {
		display: block !important;
		width: calc(100% - 30px);
	}

	.reform_search_form .header_search_inputs {
		width: 100% !important;
		margin-bottom: 10px !important;
	}

	/* カテゴリーは2列×3段 */
	.reform_search_form .reform_category_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px 15px;
	}

	.reform_search_form .header_search_reform_category {
		padding: 15px;
	}

	.reform_search_form .reform_category_item {
		font-size: 14px;
	}

	.reform_search_form .header_search_inputs select,
	.reform_search_form .header_search_keywords input[type="text"],
	.reform_search_form .header_search_button input[type="submit"] {
		height: 52px;
	}

}

/* ==================================================
 * 絞り込み検索配置
 * ================================================== */
.has_header_content #index_header_search {
  margin-top: 0;
}


/* ==================================================
 * homeAbout
 * ================================================== */
.homeAbout {
	padding: 0 0 80px;
}

.homeAbout__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 60px;
	width: min(1200px, calc(100% - 40px));
	margin: 0 auto;
}

.homeAbout__image img {
	display: block;
	width: 100%;
	height: auto;
}

.homeAbout__sub {
	margin-bottom: 10px;
	font-size: 14px;
	letter-spacing: .1em;
}

.homeAbout__heading {
	margin-bottom: 25px;
	font-size: 32px;
	line-height: 1.5;
}

.homeAbout__text {
	font-size: 16px;
	line-height: 2;
}

@media screen and (max-width: 767px) {

	.homeAbout {
		padding: 0 0 50px;
	}

	.homeAbout__inner {
		grid-template-columns: 1fr;
		gap: 30px;
		width: calc(100% - 30px);
	}

	.homeAbout__heading {
		font-size: 24px;
	}

}


/* ==================================================
 * TOP 共通
 * ================================================== */

.frontMain {
	overflow: hidden;
}

.frontAbout__inner,
.frontContents__inner {
	width: min(1200px, calc(100% - 40px));
	margin-inline: auto;
}


/* ==================================================
 * ドレナビとは？
 * ================================================== */

.frontAbout {
	padding: 80px 0;
}

.frontAbout__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 60px;
}

.frontAbout__image img {
	display: block;
	width: 100%;
	height: auto;
}

.frontAbout__sub {
	margin-bottom: 10px;
	font-size: 14px;
	letter-spacing: .1em;
}

.frontAbout__heading {
	margin-bottom: 25px;
	font-size: 32px;
	line-height: 1.4;
}

.frontAbout__text {
	font-size: 16px;
	line-height: 2;
}


/* ==================================================
 * メイン + サイド
 * ================================================== */

.frontContents {
	padding: 60px 0 100px;
}

.frontContents__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	align-items: start;
	gap: 40px;
}

.frontContents__main {
	min-width: 0;
}

.frontContents__side {
	min-width: 0;
	padding-bottom: 80px;
}


/* ==================================================
 * リフォーム内容
 * ================================================== */

.frontReformCategory {
	margin-top: 50px;
}

.frontReformCategory__list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}

.frontReformCategory__item {
	display: block;
	text-decoration: none;
	color: inherit;
}

.frontReformCategory__image {
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.frontReformCategory__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.frontReformCategory__name {
	margin-top: 10px;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
}


/* ==================================================
 * B枠
 * ================================================== */

.frontAdsB {
	margin-top: 50px;
}

.frontAdsB__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.frontAdsB__item img {
	display: block;
	width: 100%;
	height: auto;
}


/* ==================================================
 * サイド広告
 * ================================================== */

.frontSideAds {
	display: grid;
	gap: 20px;
}

.frontSideAds__item img {
	display: block;
	width: 100%;
	height: auto;
}


/* ==================================================
 * SP
 * ================================================== */

@media screen and (max-width: 767px) {

	.frontAbout__inner,
	.frontContents__inner {
		width: calc(100% - 30px);
	}

	.frontAbout {
		padding: 50px 0;
	}

	.frontAbout__inner {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.frontAbout__heading {
		font-size: 24px;
	}

	/* 2カラム → 1カラム */
	.frontContents {
		padding: 40px 0 70px;
	}

	.frontContents__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	/* リフォーム内容 */
	.frontReformCategory__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 15px 10px;
	}

	/* B枠 */
	.frontAdsB__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

}


/* ==================================================
 * TOP スライダー広告 A枠
 * ================================================== */

.frontSliderA {
	padding: 10px 0 40px;
	overflow: hidden;
}

.frontSliderASwiper {
	width: 100%;
	overflow: visible !important;
}

.frontSliderASwiper .swiper-wrapper {
	align-items: center;
}

.frontSliderASwiper .swiper-slide {
	width: min(1180px, calc(100vw - 160px));
	opacity: .45;
	transition: opacity .3s;
}

.frontSliderASwiper .swiper-slide-active {
	opacity: 1;
}

.frontSliderASwiper .swiper-slide a {
	display: block;
}

.frontSliderA__image {
	display: block;
	width: 100%;
	height: auto;
}

/* ページネーション */
.frontSliderA .swiper-pagination {
	position: relative;
	bottom: auto;
	margin-top: 20px;
}

/* ==================================================
 * SP
 * ================================================== */

@media screen and (max-width: 767px) {

	.frontSliderA {
		padding: 10px 15px 25px;
	}

	.frontSliderASwiper {
		overflow: hidden !important;
	}

	.frontSliderASwiper .swiper-slide {
		width: 100%;
		opacity: 1;
	}

}



/*------------------------------
homeReform
------------------------------*/
.homeReform {
	margin-top: 60px;
}

.homeReform__heading {
	margin-bottom: 24px;
}

.homeReform__sub {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
}

.homeReform__title {
	margin-top: 6px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
}

.homeReform__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.homeReform__item {
	min-width: 0;
}

.homeReform__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.homeReform__image {
	overflow: hidden;
	aspect-ratio: 3 / 2;
	border-radius: 8px;
}

.homeReform__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}

.homeReform__name {
	margin-top: 10px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

@media (hover: hover) {
	.homeReform__link:hover .homeReform__image img {
		transform: scale(1.05);
	}
}

@media screen and (max-width: 767px) {

	.homeReform__title {
		font-size: 22px;
	}

	.homeReform__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

}

/*------------------------------
homeFixedAds
------------------------------*/
.homeFixedAds {
	margin-top: 60px;
}

.homeFixedAds__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.homeFixedAds__item {
	min-width: 0;
}

.homeFixedAds__link {
	display: block;
	overflow: hidden;
}

.homeFixedAds__image {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .3s ease;
}

@media (hover: hover) {
	.homeFixedAds__link:hover .homeFixedAds__image {
		transform: scale(1.03);
	}
}

@media screen and (max-width: 767px) {
	.homeFixedAds {
		margin-top: 40px;
	}

	.homeFixedAds__list {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}



/*------------------------------
homeSideAds
------------------------------*/
.homeSideAds__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.homeSideAds__item {
	min-width: 0;
}

.homeSideAds__link {
	display: block;
	overflow: hidden;
}

.homeSideAds__image {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .3s ease;
}

@media (hover: hover) {
	.homeSideAds__link:hover .homeSideAds__image {
		transform: scale(1.03);
	}
}

@media screen and (max-width: 767px) {
	.homeSideAds__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}


/*------------------------------
homeSideAds
------------------------------*/
.homeBlog {
  margin-top: 100px;
  padding: 60px 0 60px;
  background-color: #f1f1f1;
}


/*------------------------------
NEWS
------------------------------*/
#recent_news {
	margin-top: 80px;
}

#recent_news .headline {
	margin: 0 0 30px;
	color: #cf6239;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
}

#recent_news ol {
	margin: 0;
	padding: 0;
	border-top: 1px solid #ddd;
	list-style: none;
}

#recent_news li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ddd;
}

#recent_news li a {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 20px 16px;
	color: #333;
	text-decoration: none;
	transition: color .3s, background-color .3s;
}

#recent_news li .date {
	flex-shrink: 0;
	width: 90px;
	margin: 0;
	color: #cf6239;
	font-size: 14px;
	line-height: 1.5;
}

#recent_news li .title {
	flex: 1;
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.8;
}

#recent_news .archive_link {
	margin-top: 30px;
	text-align: right;
}

#recent_news .archive_link a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #333;
	font-size: 14px;
	text-decoration: none;
	transition: color .3s;
}

#recent_news .archive_link a::after {
	content: "›";
	font-size: 20px;
	line-height: 1;
}

@media (hover: hover) {
	#recent_news li a:hover {
		color: #cf6239;
		background: #fafafa;
	}

	#recent_news .archive_link a:hover {
		color: #cf6239;
	}
}

@media screen and (max-width: 767px) {
	#recent_news {
		margin-top: 50px;
	}

	#recent_news .headline {
		margin-bottom: 20px;
		font-size: 22px;
	}

	#recent_news li a {
		display: block;
		padding: 16px 8px;
	}

	#recent_news li .date {
		width: auto;
		margin-bottom: 6px;
		font-size: 12px;
	}

	#recent_news li .title {
		font-size: 14px;
		line-height: 1.7;
	}

	#recent_news .archive_link {
		margin-top: 20px;
	}
}


/*------------------------------
取り扱い内容
------------------------------*/
.introduceReform {
	margin-top: 70px;
}

.introduceReform .introduceDetail__heading {
	margin: 0 0 30px;
	padding-bottom: 15px;
	border-bottom: 2px solid #cf6239;
	color: #333;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
}

.introduceReform__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.introduceReform__item {
	padding: 24px 26px;
	border: 1px solid #ddd;
	background: #fff;
}

.introduceReform__name {
	position: relative;
	margin: 0 0 14px;
	padding-left: 16px;
	color: #333;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
}

.introduceReform__name::before {
	content: "";
	position: absolute;
	top: .2em;
	left: 0;
	width: 4px;
	height: 1.2em;
	background: #cf6239;
}

.introduceReform__description {
	color: #555;
	font-size: 14px;
	line-height: 1.9;
}

.introduceReform__description p {
	margin: 0;
}

.introduceReform__description p + p {
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	.introduceReform {
		margin-top: 50px;
	}

	.introduceReform .introduceDetail__heading {
		margin-bottom: 20px;
		padding-bottom: 12px;
		font-size: 20px;
	}

	.introduceReform__list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.introduceReform__item {
		padding: 20px;
	}

	.introduceReform__name {
		margin-bottom: 10px;
		font-size: 16px;
	}

	.introduceReform__description {
		font-size: 14px;
		line-height: 1.8;
	}
}


/*------------------------------
会社概要
------------------------------*/
.introduceCompany {
	margin-top: 70px;
}

.introduceCompany .introduceDetail__heading {
	margin: 0 0 30px;
	padding-bottom: 15px;
	border-bottom: 2px solid #cf6239;
	color: #333;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
}

.introduceCompany__list {
	margin: 0;
	border-top: 1px solid #ddd;
}

.introduceCompany__item {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	border-bottom: 1px solid #ddd;
}

.introduceCompany__label {
	margin: 0;
	padding: 18px 20px;
	background: #f7f5f2;
	color: #333;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7;
}

.introduceCompany__value {
	margin: 0;
	padding: 18px 22px;
	color: #555;
	font-size: 14px;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.introduceCompany {
		margin-top: 50px;
	}

	.introduceCompany .introduceDetail__heading {
		margin-bottom: 20px;
		padding-bottom: 12px;
		font-size: 20px;
	}

	.introduceCompany__item {
		grid-template-columns: 1fr;
	}

	.introduceCompany__label {
		padding: 12px 16px;
		border-bottom: 1px solid #e5e5e5;
	}

	.introduceCompany__value {
		padding: 14px 16px 18px;
	}
}

/*------------------------------
お問い合わせ
------------------------------*/
.introduceContact {
	margin-top: 70px;
}

.introduceContact__header {
	margin-bottom: 28px;
}

.introduceContact .introduceDetail__heading {
	margin: 0 0 20px;
	padding-bottom: 15px;
	border-bottom: 2px solid #cf6239;
	color: #333;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
}

.introduceContact__lead {
	margin: 0;
	color: #555;
	font-size: 14px;
	line-height: 1.9;
}

.introduceContact__form {
	padding: 32px;
	border: 1px solid #ddd;
	background: #fff;
}

/*------------------------------
Contact Form 7
------------------------------*/
.introduceContact__form p {
	margin: 0 0 24px;
}

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

.introduceContact__form label {
	display: block;
	color: #333;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
}

.introduceContact__form input[type="text"],
.introduceContact__form input[type="email"],
.introduceContact__form textarea {
	width: 100%;
	margin-top: 8px;
	padding: 12px 14px;
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1.6;
	box-sizing: border-box;
}

.introduceContact__form input[type="text"],
.introduceContact__form input[type="email"] {
	height: 48px;
}

.introduceContact__form textarea {
	min-height: 180px;
	resize: vertical;
}

.introduceContact__form input[type="text"]:focus,
.introduceContact__form input[type="email"]:focus,
.introduceContact__form textarea:focus {
	border-color: #cf6239;
	outline: none;
}

/*------------------------------
チェックボックス
------------------------------*/
.introduceContact__form fieldset {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.introduceContact__form legend {
	margin-bottom: 10px;
	color: #333;
	font-size: 14px;
	font-weight: 600;
}

.introduceContact__form .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
}

.introduceContact__form .wpcf7-list-item {
	margin: 0;
}

.introduceContact__form .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 400;
	cursor: pointer;
}

.introduceContact__form input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: #cf6239;
}

/*------------------------------
送信ボタン
------------------------------*/
.introduceContact__form input[type="submit"] {
	display: block;
	width: 100%;
	max-width: 320px;
	height: 54px;
	margin: 30px auto 0;
	border: 1px solid #cf6239;
	background: #cf6239;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition:
		background-color .3s,
		color .3s;
}

@media (hover: hover) {
	.introduceContact__form input[type="submit"]:hover {
		background: #fff;
		color: #cf6239;
	}
}

/*------------------------------
CF7メッセージ
------------------------------*/
.introduceContact__form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12px;
}

.introduceContact__form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 12px 16px;
	font-size: 13px;
	line-height: 1.7;
}

/*------------------------------
SP
------------------------------*/
@media screen and (max-width: 767px) {
	.introduceContact {
		margin-top: 50px;
	}

	.introduceContact__header {
		margin-bottom: 20px;
	}

	.introduceContact .introduceDetail__heading {
		margin-bottom: 15px;
		padding-bottom: 12px;
		font-size: 20px;
	}

	.introduceContact__lead {
		font-size: 14px;
		line-height: 1.8;
	}

	.introduceContact__form {
		padding: 22px 16px;
	}

	.introduceContact__form p {
		margin-bottom: 20px;
	}

	.introduceContact__form .wpcf7-checkbox {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 12px;
	}

	.introduceContact__form input[type="submit"] {
		max-width: 100%;
	}
}


/*------------------------------
絞り込み検索
------------------------------*/
.frontSearch {
	padding: 30px;
	background: #f7f5f2;
}

.reform_search_form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/*------------------------------
リフォームカテゴリー
1段目・横幅いっぱい
------------------------------*/
.header_search_reform_category {
	grid-column: 1 / -1;
}

.reform_category_list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
}

.reform_category_item {
	position: relative;
	display: block;
	cursor: pointer;
}

.reform_category_item input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.reform_category_item span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 8px;
	border: 1px solid #ddd;
	background: #fff;
	color: #333;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	transition:
		background-color .2s,
		border-color .2s,
		color .2s;
}

.reform_category_item input:checked + span {
	border-color: #b69e84;
	background: #b69e84;
	color: #fff;
}

.reform_category_item input:focus-visible + span {
	outline: 2px solid #b69e84;
	outline-offset: 2px;
}

@media (hover: hover) {
	.reform_category_item:hover span {
		border-color: #b69e84;
	}
}


/*------------------------------
エリア・キーワード
2カラム
------------------------------*/
.header_search_inputs {
	min-width: 0;
}

/* キーワード */
.header_search_keywords input[type="text"] {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid #ccc;
	border-radius: 0;
	background: #fff;
	color: #333;
	font-size: 14px;
	box-sizing: border-box;
}

.header_search_keywords input[type="text"]:focus {
	border-color: #b69e84;
	outline: none;
}

.header_search_keywords input[type="text"]::placeholder {
	color: #999;
}


/*------------------------------
Chosen エリア選択
------------------------------*/
.header_search_inputs .chosen-container {
	width: 100% !important;
	font-size: 14px;
}

.header_search_inputs .chosen-container-single .chosen-single {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 52px;
	padding: 0 46px 0 16px;
	border: 1px solid #ccc;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: #333;
	line-height: 1;
	box-sizing: border-box;
}

.header_search_inputs .chosen-container-single .chosen-single span {
	margin: 0;
	line-height: 1.4;
}

.header_search_inputs .chosen-container-single .chosen-single div {
	top: 50%;
	right: 16px;
	width: 12px;
	height: 12px;
	transform: translateY(-50%);
}

.header_search_inputs .chosen-container-single .chosen-single div b {
	background-position: 0 2px;
}

.header_search_inputs .chosen-container-active .chosen-single {
	border-color: #b69e84;
	box-shadow: none;
}

.header_search_inputs .chosen-container .chosen-drop {
	border-color: #ccc;
	border-radius: 0;
	box-shadow: 0 5px 12px rgba(0, 0, 0, .08);
}


/*------------------------------
TOP 絞り込み検索
------------------------------*/
.frontSearch {
	padding: 32px;
	background: #f8f6f4;
}

/* エリアのプルダウンを廃止したため area 行なし */
.frontSearch .reform_search_form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 220px;
	grid-template-areas:
		"category category"
		"keyword  button";
	gap: 20px;
	width: 100%;
	margin: 0;
}

/* 親テーマのcolumns-4指定を解除 */
.frontSearch .reform_search_form.columns-4 .header_search_inputs {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}


/*------------------------------
リフォームカテゴリー
------------------------------*/
.frontSearch .header_search_reform_category {
	grid-area: category;
}

.frontSearch .reform_category_list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
}

.frontSearch .reform_category_item {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
}

.frontSearch .reform_category_item input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.frontSearch .reform_category_item span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 10px 8px;
	border: 1px solid #d8d3cf;
	background: #fff;
	color: #333;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	box-sizing: border-box;
	transition:
		background-color .2s,
		border-color .2s,
		color .2s;
}

.frontSearch .reform_category_item input:checked + span {
	border-color: #cf6239;
	background: #cf6239;
	color: #fff;
}

.frontSearch .reform_category_item input:focus-visible + span {
	outline: 2px solid #cf6239;
	outline-offset: 2px;
}

@media (hover: hover) {
	.frontSearch .reform_category_item:hover span {
		border-color: #cf6239;
		color: #cf6239;
	}

	.frontSearch .reform_category_item:hover input:checked + span {
		color: #fff;
	}
}


/*------------------------------
エリア（プルダウン廃止）

旧: .header_search_reform_category + .header_search_inputs に
    grid-area: area を指定していたが、エリアを削除した結果
    この隣接セレクタがキーワード欄に当たるようになり、
    .frontSearch .header_search_keywords の grid-area: keyword を
    詳細度で上書きしてレイアウトが崩れるため削除した。

以下に続く #header_search_cat2 / #header_search_cat2_chosen および
Chosen 関連の指定は、現在どの要素にもマッチしない（削除可）。
------------------------------*/


/*------------------------------
Chosen
------------------------------*/
.frontSearch #header_search_cat2_chosen {
	width: 100% !important;
}

.frontSearch .chosen-container-single .chosen-single {
	display: flex;
	align-items: center;
	width: 100%;
	height: 52px;
	padding: 0 46px 0 16px;
	border: 1px solid #d8d3cf;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: #333;
	font-size: 14px;
	line-height: 1;
	box-sizing: border-box;
}

.frontSearch .chosen-container-single .chosen-single span {
	margin: 0;
	line-height: 1.4;
}

.frontSearch .chosen-container-single .chosen-single div {
	top: 50%;
	right: 15px;
	width: 14px;
	height: 14px;
	transform: translateY(-50%);
}

.frontSearch .chosen-container-active .chosen-single {
	border-color: #cf6239;
	box-shadow: none;
}

.frontSearch .chosen-container .chosen-drop {
	border-color: #d8d3cf;
	border-radius: 0;
	box-shadow: 0 5px 12px rgba(0, 0, 0, .08);
}


/*------------------------------
キーワード
------------------------------*/
.frontSearch .header_search_keywords {
	grid-area: keyword;
}

.frontSearch .header_search_keywords input[type="text"] {
	display: block;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #d8d3cf;
	border-radius: 0;
	background: #fff;
	color: #333;
	font-size: 14px;
	line-height: 1;
	box-sizing: border-box;
}

.frontSearch .header_search_keywords input[type="text"]::placeholder {
	color: #999;
}

.frontSearch .header_search_keywords input[type="text"]:focus {
	border-color: #cf6239;
	outline: none;
}

/* AND / ORは非表示 */
.frontSearch .search_keywords_operator {
	display: none !important;
}


/*------------------------------
検索ボタン
------------------------------*/
.frontSearch .header_search_button {
	grid-area: button;
	display: flex;
	justify-content: center;
}

.frontSearch #header_search_submit {
	display: block;
	width: 100%;
	max-width: 320px;
	height: 54px;
	margin: 0;
	padding: 0 30px;
	border: 1px solid #cf6239;
	border-radius: 0;
	background: #cf6239;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .05em;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
	transition:
		background-color .2s,
		color .2s;
}

@media (hover: hover) {
	.frontSearch #header_search_submit:hover {
		background: #fff;
		color: #cf6239;
	}
}


/*------------------------------
SP
------------------------------*/
@media screen and (max-width: 767px) {
	.frontSearch {
		padding: 20px 16px;
	}

	.frontSearch .reform_search_form {
		grid-template-columns: 1fr;
		grid-template-areas:
			"category"
			"keyword"
			"button";
		gap: 14px;
	}

	.frontSearch .reform_category_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.frontSearch .reform_category_item span {
		min-height: 46px;
		font-size: 13px;
	}

	.frontSearch .chosen-container-single .chosen-single,
	.frontSearch .header_search_keywords input[type="text"] {
		height: 48px;
	}

	.frontSearch #header_search_submit {
		max-width: none;
		height: 50px;
	}
}

/*------------------------------
絞り込み検索 微調整
------------------------------*/

/* native checkboxを完全に見えなくする */
.frontSearch .reform_category_item > input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

/* カテゴリーボタン */
.frontSearch .reform_category_item {
	position: relative !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.frontSearch .reform_category_item span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	min-height: 0;
	padding: 0 8px;
	box-sizing: border-box;
}

/*------------------------------
キーワードの高さ
------------------------------*/
.frontSearch .header_search_keywords {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
}

/* Chosen本体 */
.frontSearch #header_search_cat2_chosen {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* エリア選択部分 */
.frontSearch #header_search_cat2_chosen .chosen-single {
	display: flex !important;
	align-items: center;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 46px 0 16px !important;
	border: 1px solid #d8d3cf !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	line-height: normal !important;
	box-sizing: border-box;
}

.frontSearch #header_search_cat2_chosen .chosen-single span {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

/* Chosen矢印 */
.frontSearch #header_search_cat2_chosen .chosen-single div {
	position: absolute !important;
	top: 0 !important;
	right: 14px !important;
	width: 18px !important;
	height: 100% !important;
	transform: none !important;
}

.frontSearch #header_search_cat2_chosen .chosen-single div b {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* キーワード */
.frontSearch .header_search_keywords input[type="text"] {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	box-sizing: border-box;
}

/*------------------------------
行の位置を揃える
------------------------------*/
.frontSearch .reform_search_form {
	align-items: stretch;
}

.frontSearch .header_search_button {
	margin-top: 0 !important;
}

/* SP */
@media screen and (max-width: 767px) {
	.frontSearch .header_search_keywords,
	.frontSearch .header_search_keywords input[type="text"] {
		height: 48px !important;
	}

	.frontSearch .reform_category_item span {
		height: 46px;
	}
}


/*------------------------------
下層ページ 絞り込み検索
------------------------------*/
#header_search {
	padding: 24px 0;
}

/* カテゴリー / キーワード / ボタン の3カラム
   （エリアのプルダウンを廃止したため4→3） */
#header_search .reform_search_form {
	display: grid !important;
	grid-template-columns:
		minmax(420px, 1.6fr)
		minmax(220px, 1fr)
		220px;
	align-items: center;
	gap: 20px;
	width: 100%;
	margin: 0;
}

/* 親テーマのcolumns指定を解除 */
#header_search .reform_search_form.columns-4 .header_search_inputs {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}


/*------------------------------
カテゴリー
------------------------------*/
#header_search .header_search_reform_category {
	width: 100%;
}

#header_search .reform_category_list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 6px;
	width: 100%;
}

#header_search .reform_category_item {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

/* native checkboxを完全に非表示 */
#header_search .reform_category_item > input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

#header_search .reform_category_item span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	min-height: 0;
	padding: 0 6px;
	border: 1px solid rgba(255,255,255,.5);
	background: #fff;
	color: #333;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	box-sizing: border-box;
	transition:
		background-color .2s,
		border-color .2s,
		color .2s;
}

#header_search .reform_category_item input:checked + span {
	border-color: #cf6239;
	background: #cf6239;
	color: #fff;
}

@media (hover: hover) {
	#header_search .reform_category_item:hover span {
		border-color: #cf6239;
		color: #cf6239;
	}

	#header_search .reform_category_item:hover input:checked + span {
		color: #fff;
	}
}


/*------------------------------
エリア
------------------------------*/
#header_search #header_search_cat2_chosen {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
}

#header_search #header_search_cat2_chosen .chosen-single {
	display: flex !important;
	align-items: center;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 42px 0 16px !important;
	border: 1px solid #ddd !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #333 !important;
	font-size: 14px;
	line-height: 1 !important;
	box-sizing: border-box;
}

#header_search #header_search_cat2_chosen .chosen-single span {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

/* 矢印 */
#header_search #header_search_cat2_chosen .chosen-single div {
	position: absolute !important;
	top: 0 !important;
	right: 14px !important;
	width: 16px !important;
	height: 100% !important;
	transform: none !important;
}

#header_search #header_search_cat2_chosen .chosen-single div b {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#header_search .chosen-container-active .chosen-single {
	border-color: #cf6239 !important;
}


/*------------------------------
キーワード
------------------------------*/
#header_search .header_search_keywords {
	position: relative;
}

#header_search .header_search_keywords input[type="text"] {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid #ddd !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: #333;
	font-size: 14px;
	box-sizing: border-box;
}

#header_search .header_search_keywords input[type="text"]:focus {
	border-color: #cf6239 !important;
	outline: none;
}

#header_search .header_search_keywords input[type="text"]::placeholder {
	color: #999;
}

/* AND / OR 非表示 */
#header_search .search_keywords_operator {
	display: none !important;
}


/*------------------------------
検索ボタン
------------------------------*/
#header_search .header_search_button {
	width: 100% !important;
}

#header_search #header_search_submit {
	display: block;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid #cf6239;
	border-radius: 0;
	background: #cf6239;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .04em;
	cursor: pointer;
	box-sizing: border-box;
	transition:
		background-color .2s,
		border-color .2s,
		color .2s;
}

@media (hover: hover) {
	#header_search #header_search_submit:hover {
		background: #fff;
		color: #cf6239;
	}
}


/*------------------------------
下層検索 SP調整
------------------------------*/
@media screen and (max-width: 767px) {

	/* 親テーマ側の固定レイアウトを解除 */
	#header_search {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 20px 0 !important;
		overflow: visible !important;
		box-sizing: border-box;
	}

	#header_search .inner {
		width: calc(100% - 32px) !important;
		max-width: none !important;
		height: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	/* フォーム全体 */
	#header_search .reform_search_form,
	#header_search .reform_search_form.columns-4 {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* 親テーマの横並び指定を完全解除 */
	#header_search .reform_search_form.columns-4 .header_search_inputs,
	#header_search .header_search_inputs {
		float: none !important;
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
	}

	/*------------------------------
	カテゴリー
	------------------------------*/
	#header_search .header_search_reform_category {
		grid-column: auto !important;
	}

	#header_search .reform_category_list {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 6px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	#header_search .reform_category_item {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* チェックボックス自体は完全非表示 */
	#header_search .reform_category_item > input[type="checkbox"] {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		border: 0 !important;
		opacity: 0 !important;
		appearance: none !important;
		-webkit-appearance: none !important;
	}

	#header_search .reform_category_item span {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		height: 46px !important;
		min-height: 0 !important;
		padding: 0 8px !important;
		border: 1px solid rgba(255, 255, 255, .6) !important;
		background: #fff !important;
		color: #333 !important;
		font-size: 13px !important;
		box-sizing: border-box;
	}

	#header_search .reform_category_item input:checked + span {
		border-color: #cf6239 !important;
		background: #cf6239 !important;
		color: #fff !important;
	}

	/*------------------------------
	エリア
	------------------------------*/
	#header_search #header_search_cat2_chosen {
		display: block !important;
		width: 100% !important;
		height: 48px !important;
		margin: 0 !important;
	}

	#header_search #header_search_cat2_chosen .chosen-single {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		height: 48px !important;
		margin: 0 !important;
		padding: 0 42px 0 15px !important;
		border: 1px solid #ddd !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	/*------------------------------
	キーワード
	------------------------------*/
	#header_search .header_search_keywords input[type="text"] {
		display: block !important;
		width: 100% !important;
		height: 48px !important;
		margin: 0 !important;
		padding: 0 15px !important;
		border: 1px solid #ddd !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	#header_search .search_keywords_operator {
		display: none !important;
	}

	/*------------------------------
	検索ボタン
	------------------------------*/
	#header_search .header_search_button {
		display: block !important;
		width: 100% !important;
	}

	#header_search #header_search_submit {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: 50px !important;
		margin: 0 !important;
		padding: 0 15px !important;
		border: 1px solid #cf6239 !important;
		background: #cf6239 !important;
		color: #fff !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		box-sizing: border-box !important;
	}
}


@media only screen and (max-width: 1024px) {
    #header_top #global_menu a, #global_menu > ul > li > a {
			color: #fff !important;
    }
}
