@charset "UTF-8";
/*
Theme Name: maruman-kyoto
Theme URI: https://maruman-kyoto.com/
Description: Child theme for the Xeory
Author: 丸萬
Author URI: https://maruman-kyoto.com/
Template: xeory_extension
Version: 0.1.0
*/

/* style.css → 全画面共通のデザイン定義＋TOP以外のデザイン
* front-page.css →　トップ固有のデザイン定義
-------------------------------------------------- */

/* all display
-------------------------------------------------- */

/* ----------------------------------------
* フォント・カラーなど 全体指定設定
---------------------------------------- */
body {
	font-size: 15px;
	font-weight: 500;
	background: transparent;
	color: #000000;
	background-color: #cdc7b5; /* フォールバック用 */
	font-family: "Zen Kaku Gothic New", sans-serif;
}
img {
	border-radius: 3px;
}
article.page {
	margin-bottom: 0px;
	background: transparent;
	border: none;
} 
.content-block {
	margin-top: 50px;
}
a {
	color: #ffffff;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
/*a,
a:visited,
a:active,
a:focus {
color: inherit;
text-decoration: none;
}*/
button {
	-webkit-tap-highlight-color: transparent;
}
/* 標準より１つ小さいフォント */
.font-s {
	font-size: 87.5%; /* 14px */
}
.font-xs {
	font-size: 75%; /* 12px */
}
.sr-only{
	position:absolute!important;
	clip:rect(1px,1px,1px,1px)!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
	white-space:nowrap!important;
}
.post-content h3{
	font-weight: bold;
}
hr {
	color: #000000;
}
/* input, select {
  -webkit-appearance: none;
  appearance: none;
} */
/* ----------------------------------------
* ローディング
---------------------------------------- */
.loader-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.loader-overlay[hidden] {
	display: none !important;
}
.loader,
.loader:after {
	border-radius: 50%;
	width: 10em;
	height: 10em;
}
.loader {
	margin: 0 auto;
	font-size: 10px;
	position: relative;
	text-indent: -9999em;
	border-top: 1.1em solid rgba(255, 255, 255, 0.2);
	border-right: 1.1em solid rgba(255, 255, 255, 0.2);
	border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
	border-left: 1.1em solid #ffffff;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}


/* ----------------------------------------
* ホバーアクション
----------------------------------------/* 
/* 既存のホバーアクションに合わせる */
#footer a,#header a,.facebook-link a,.chip-list label,.form-container #species-other-top,.color-box,.shape-options label,.search-submit,.unique-values-card-link,#hamburger-menu .menu-left-phone,#footer .footer-menu-left-phone,.footer-head-menu-card a,#footer .footer-menu-right-vertical a,.footer-company-name a,#footer .footer-info-communicat a,#footer .footer-menu-right-sns-link a,#footer .footer-menu-bottom a,.footer-address a,#menuToggleFloating,.menu-toggle,#hamburger-menu #species-other,#menuTogglemain,#hamburger-menu .menu-right-vertical a,.faqs-q,#header-contact-nav .btn,.access-info-links li,.search-items .show-item-detail,.common-view-more-b,#hamburger-menu .menu-left-email,#footer .footer-menu-left-email,.common-view-more,.contact-info-links a,.top-btm-menu-txt a,.floating-filter__toggle,#hamburger-menu #filterToggleBtn,.create-process-card a,.grid-item,.tag-card,#footer .footer-menu-box,#hamburger-menu .menu-box,.create-process-link-item a,.common-btn-tb a,.wpcf7 input[type="submit"],.contact-footer-address .tel,.breadcrumb li a,.policy-body a,.machine__cta a,.repair__cta a,.strength-card__cta a,.purpose-link,.pd__cta a,.pd-running__cta a,.company-map-btn,.company-info-card a:not(.company-map-btn),.company-mail-card a,.company-phone a,.owner-cases__cta .cta-btn-w,.owner-cases__cta .cta-btn-b,.common-btn-tb-2 a,.btn--ghost,.works-set a,.reason__cta,.reason__miniCta,.reason__cta__w,.species-modal__back,.species-modal__close,.product-info-table .btn-cta,.product-info-card .finish-legs a,.leg-media img,.c-btn--contact a,.case-footer-menu-column a { 
	-webkit-transition: all ease-in-out .3s;
	transition: all ease-in-out .3s;
}
#footer a:hover {
	color: inherit;
}
#header a:hover,.facebook-link a:hover,.chip-list label:hover,.form-container #species-other-top:hover,.color-box:hover,.shape-options label:hover,.search-submit:hover,.unique-values-card-link:hover,#hamburger-menu .menu-left-phone:hover,#footer .footer-menu-left-phone:hover,.footer-head-menu-card a:hover,#footer .footer-menu-right-vertical a:hover,.footer-company-name a:hover,#footer .footer-info-communicat a:hover,#footer .footer-menu-right-sns-link a:hover,#footer .footer-menu-bottom a:hover,.footer-address a:hover,#menuToggleFloating:hover,.menu-toggle:hover,#hamburger-menu #species-other:hover,#menuTogglemain:hover,#hamburger-menu .menu-right-vertical a:hover,.faqs-q:hover,.contact-footer-address .tel:hover,.breadcrumb li a:hover,.policy-body a:hover,.company-info-card a:not(.company-map-btn):hover,.company-phone a:hover,.btn--ghost:hover,.works-set a:hover,.reason__miniCta:hover,.species-modal__back:hover,.species-modal__close:hover,.product-info-card .finish-legs a:hover,.leg-media img:hover, .menu-notfound a:hover {
	opacity: 0.5;
	text-decoration: none;
}
#header-contact-nav .btn:hover,.access-info-links li:hover,.company-map-btn:hover {
	opacity: 1;
	background-color: rgba(35, 24, 21, .5);
	border-color: rgba(35, 24, 21, .5);
}
.search-items .show-item-detail:hover,.common-view-more-b:hover,#hamburger-menu .menu-left-email:hover,#footer .footer-menu-left-email:hover,.wpcf7 input[type="submit"]:hover,.machine__cta a:hover,.repair__cta a:hover,.strength-card__cta a:hover,.pd__cta a:hover,.pd-running__cta a:hover,.company-mail-card a:hover,.owner-cases__cta .cta-btn-b:hover,.reason__cta:hover,.product-info-table .btn-cta:hover,.c-btn--contact a:hover {
	color: #ffffff;
	background-color: rgba(35, 24, 21, .5);	
	border-color: rgba(35, 24, 21, .5);
}
.common-view-more:hover,.contact-info-links a:hover,.top-btm-menu-txt a:hover,.floating-filter__toggle:hover,#hamburger-menu #filterToggleBtn:hover,.common-btn-tb a:hover,.purpose-link:hover,.owner-cases__cta .cta-btn-w:hover,.common-btn-tb-2 a:hover {
	background-color: #dfdbd0;
	border-color: #dfdbd0;
}
.create-process-card a:hover,.grid-item:hover {
	opacity: 0.65;
}
.tag-card:hover {
	text-decoration: none;
}
#footer .footer-menu-box:hover,#hamburger-menu .menu-box:hover,.reason__cta__w:hover {
	background-color: rgba(205, 199, 181, 0.5);
}
.case-footer-menu-column a:hover {
	background-color: rgba(223, 219, 208, 0.5);
}


/* ----------------------------------------
* コンテンツ幅
---------------------------------------- */
.one-column #content .wrap,.home .wrap,.wrap {
	width: 1300px;
}
.wrap.is-flex::after {
	content: none;
} 
#main {
	width: 100%;
	margin: 0;
	float: none;
}
.main-inner {
	margin: 0;
}


/* ----------------------------------------
* 共通スタイル
---------------------------------------- */
.sp-show {
	display: none !important;
}
/* 縦書き＋画像タイトル */
.common-vt-inner {
	margin: 0px 50px 20px;
}
.common-vt-body {
	display: flex;
	justify-content: space-between;
}
.common-vt-blk {
	display: flex;
	align-self: flex-start;
}
.common-vt {
	writing-mode: vertical-lr;
	border-right: 1px solid #000000;
	padding-right: 30px;
	font-size: 36px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
}
.common-vt-description {
	margin: 0 0 1em;
	padding-left: 30px;
	flex: 1;
	align-self: flex-end;
}
.common-vt-img-blk {
	margin-top: 50px;
	width: 350px;
}
.common-vt-img-2col {
	display: flex;
	gap: 10px;
	width: 600px;
}
.common-vt-img-2col img {
	align-self: flex-start;
	min-width: 0;
}
/* リンクボタン */
.common-view-more {
	padding: 10px;
	border: 1px solid #000000;
	color: #000000;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 100%;
	background-color: transparent;
	font-family: inherit;
	margin-bottom: 80px;
}
.common-view-more-b {
	padding: 10px;
	border: 1px solid #000000;
	color: #ffffff;
	background-color: #000000;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}
.common-btn-tb {
	margin-top: 14px;
	text-align: center;
	width: 100%;
	font-size: 18px;
	font-weight: bold;
	font-weight: 700;
	line-height: 1;
}
.common-btn-tb a {
	border-radius: 3px;
	border: 1px solid #000000;
	color: #000000;
	display: block;
	padding: 20px;
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-direction: column;
}
.common-btn-tb span{
	display: block;
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
.common-btn-tb-2 {
	width: 100%;
}
.common-btn-tb-2 a {
	border-radius: 3px;
	border: 1px solid #000000;
	color: #000000;
	display: block;
	padding: 20px;
	display: flex;
	justify-content: center;
	gap: 10px;
	font-weight: bold;
	font-weight: 700;
	font-size: 18px;
	text-align: center;
}
.common-btn-tb-2 span span{
	display: block;
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
/*.common-btn-tb span span{
font-size: 14px;
font-weight: 400;
font-weight: normal;
}*/
/*.common-btn-tb a {
display: flex;
justify-content: center;
gap: 30px;

}*/
.common-btn-tb.has-img a {
	color: #000000;
	display: block;
	display: flex;
	justify-content: center;
	gap: 30px;
	align-items: center;
	flex-direction: row;
}
.common-btn-tb.has-img img {
	width: 12px;
}
/* ボタンの矢印 */
.arrow-sv {
	width: 12px;
}
.arrow-sv-large {
	width: 20px;
}
/* パンくずリスト */
.breadcrumb {
	font-weight: 600;
	align-self: flex-end;
	justify-self: flex-end;
}
.breadcrumb ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: .5em;
}
.breadcrumb .sep {
	margin: 0 .25em;
	opacity: .6;
}
.breadcrumb a {
	text-decoration: none;
	color: #000000;
}
.breadcrumb li {
	margin-left: 0px;
}


/* ----------------------------------------
* 2階層以下のタイトル
---------------------------------------- */
.main-header {
	margin: 100px auto 50px;
	border-bottom: 1px solid #000000;
}
.head-main-title {
	display: grid;
	padding: 0 0 20px;
}
.head-main-title.grd1 {
	grid-template-columns: 1fr;
}
.head-main-title.grd2 {
	grid-template-columns: 1fr 0.5fr;	
}
.head-main-title.grd3 {
	grid-template-columns: 1fr 1.2fr 0.8fr;	
}
.head-main-title-body {
	display: flex;
	gap: 50px;
	width: 63%;
}
.head-main-title-body-page {
	display: flex;
	gap: 50px;
}
.head-main-title .main-title {
	font-size: 36px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	border-left: none;
	background: transparent;
	color: #000000;
	margin: 0;
}
.head-main-title .main-description {
	margin: 0;
	flex: 1;
}

/* ----------------------------------------
* レスポンシブ - 全体設定、タイトルなどのスタイル
* 各ページのデザインはさらに下で定義
* ~ / 1200px / 991px / 767px
* desctop / laptop / tablet / phone
---------------------------------------- */
@media screen and (max-width: 1400px) {
	/* laptop */

	/* laptop end */
}
@media screen and (max-width: 991px) {
	/* tablet */

	/* tablet end */
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
	}
}

/* ----------------------------------------
* ヘッダー部分
---------------------------------------- */
#header {
	background-color: transparent;
	padding: 50px 0px 0px;
}
#header #logo {
	height: auto;
	line-height: unset;
	width: 100%;
	float: none;
}
#header #logo img {
	min-width: 250px;
	max-width: 250px;
	min-height: 71px;
	max-height: unset;
}
#header a {
	color: #ffffff;
	text-decoration: none;
}
#header.mode-b a {
	color: #000000;
}
#header .header-wrap {
	width: 95%;
	margin: 0 auto;
	/*	display: flex;
	justify-content: space-between;*/
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 150px;
}
@media screen and (max-width: 1024px) {
	#header .header-wrap {
		gap: 90px;
	}
}
@media screen and (max-width: 991px) {
	#header .header-wrap {
		gap: 60px;
		grid-template-columns: 1fr auto;
	}
}
@media screen and (max-width: 768px) {
	#header .header-wrap {
		gap: 50px;
	}
}
@media screen and (max-width: 767px) {
	#header .header-wrap {
		gap: 18px;
	}
}
.vertical-menu a {
	font-size: 16px;
}

/* ----------------------------------------
* TOPページ以外のヘッダー背景画像
---------------------------------------- */
#header .header-wrap .imagelogo {
	position: relative;
}
/* --- 商品一覧 --- */
#header .header-wrap .product::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/list_001.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 問い合わせ --- */
#header .header-wrap .contact::before ,#header .header-wrap .confirm::before,#header .header-wrap .thanks::before{
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/list_002.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-6%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 会社概要 --- */
#header .header-wrap .about::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/company_001.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- プライバシーポリシー・サイトポリシー --- */
#header .header-wrap .privacy-policy::before,#header .header-wrap .site-policy::before ,#header .header-wrap .not-found::before{
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/privacy-policy_001.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 特定商取引による表示 --- */
#header .header-wrap .tokushoho::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/specified-commercial-transactions_001.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 制作事例 --- */
#header .header-wrap .works::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/workcase_001.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 設計士・工務店の方へ --- */
#header .header-wrap .pro::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/pro_017.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 施主支給しませんか？ --- */
#header .header-wrap .sesyu-support::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/pro_017.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 制作フロー --- */
#header .header-wrap .order::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/order_003.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}
/* --- 中古木工機械販売中 --- */
#header .header-wrap .machine::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/machine_018.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}

/* --- 丸萬だからできること --- */
#header .header-wrap .strength::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	background-image:
		linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
		url('lib/images/strength_099.webp');
	background-size: cover, cover;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	transform: translate(-5%, -50px);
	height: calc(120% + 50px);
	width: 105%;
}

/* ----------------------------------------
* メニューナビ部分
---------------------------------------- */
/* --- ヘッダーメニュー --- */
#header-right {
	height: auto;
	float: none;
}
#header-contact-nav {
	display: flex;
	gap: 20px;
	z-index: 2;
	color: #ffffff;
	display: grid;
	grid-template-columns: auto auto;
}
.mode-b #header-contact-nav {
	color: #000000;
}
#header-contact-nav address {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 10px 20px 10px 0;
	text-align: center;
	border-right: 1px solid #ffffff;
}
.mode-b #header-contact-nav address {
	border-right: 1px solid #000000;
}
#header-contact-nav .btn {
	display: inline-block;
	border: 1px solid #ffffff;
	padding: 3px 20px 3px 40px;
	border-radius: 3px;
	text-decoration: none;
	width: 100%;
	position: relative;
	line-height: 30px;
}
.mode-b #header-contact-nav .btn {
	border: 1px solid #000000;
}
#header-contact-nav .tel.btn {
	font-size: 20px;
	font-weight: 600;
	font-weight: bold;
}
#header-contact-nav .fax {
	font-size: 24px;
	font-weight: 600;
	font-weight: bold;
	display: inline-block;
	padding: 3px 20px 3px 40px;
	width: 100%;
	position: relative;
	line-height: 30px;
}
#header-contact-nav .btn.mailform::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url('lib/images/ic_mail_white.svg') no-repeat center;
	background-size: contain;
	vertical-align: middle;
}
.mode-b #header-contact-nav .btn.mailform::before {
	background: url('lib/images/ic_mail.svg') no-repeat center;
}
#header-contact-nav .btn.tel::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url('lib/images/ic_tel_white.svg') no-repeat center;
	background-size: contain;
	vertical-align: middle;
}
.mode-b #header-contact-nav .btn.tel::before {
	background: url('lib/images/ic_tel.svg') no-repeat center;
}
#header-contact-nav .fax::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url('lib/images/ic_fax_white.svg') no-repeat center;
	background-size: contain;
	vertical-align: middle;
}
.mode-b #header-contact-nav .fax::before {
	background: url('lib/images/ic_fax.svg') no-repeat center;
}
.right-vertical-column {
	padding: 10px 0px;
	display: grid;
	grid-template-columns: 1fr;
	width: 147px;
}
.right-vertical-column #header-fnav-area {
	float: none;
}

.right-vertical-column #vertical-nav {
	float: none;
}
#header-fnav-area {
	width: 100%;
}
#vertical-nav .vertical-menu {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: upright;
	-webkit-text-orientation: upright;
	list-style: none;
	padding: 20px 0 0;
	margin: 0;
	font-weight: bold;
	width: auto;
	height: auto;
	display: inline-block;
	white-space: nowrap;
	overflow: visible;
}
#vertical-nav .vertical-menu li {
	padding: 0 5px;
}
#header-contact-nav .contact-label {
	font-size: 13px;
	font-weight: bold;
}
#header-contact-nav .contact-email {
	line-height: 1.3;
	font-weight: 500;
	font-size: 13px;
}
#header-contact-nav .address-text {
	font-size: 12px;
	line-height: 1.3;
	font-weight: 500;
}

/* --- ハンバーガーボタン 初期スタイル --- */
.menu-toggle {
	width: 100%;
	z-index: 1000;
	background: transparent;
	border: none;
	cursor: pointer;
	position: relative;
}
.menu-toggle span {
	display: block;
	height: 3px;
	background: #ffffff;
	border-radius: 3px;
	transition: transform 0.3s ease, opacity 0.3s ease;
	margin: 10px 0;
}
.mode-b .menu-toggle span {
	background: #000000;
}
.menu-toggle.active span:nth-child(1) {
	transform: rotate(10deg) translate(5px, 5px);
	background: #000000;
}
.menu-toggle.active span:nth-child(2) {
	transform: rotate(-10deg) translate(5px, -5px);
	background: #000000;
}

/* --- ハンバーガーメニュー --- */
.menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	/*	width: calc(100% - 15px);*/
	background-color: #aca488;
	color: #000000;
	transform: translateX(100%);
	opacity: 0;
	pointer-events: none;
	transition: transform 0.4s ease-in-out, opacity 0.3s ease-in-out;
	z-index: 1000;
	margin: 15px;
	border-radius: 6px;
	width: calc(100% - 30px);
}
.menu-overlay.open {
	transform: translateX(0);
	opacity: 1;
	pointer-events: auto;
}
.menu-container {
	display: grid;
	grid-template-columns: 420px 350px 1fr;
	/*	grid-template-columns: 1fr 1fr 1fr;
	justify-content: space-between;
	flex-wrap: wrap;*/
	padding: 45px 40px 30px 50px;
	height: 100%;
	box-sizing: border-box;
	gap: 20px 40px;
}
@media screen and (max-width: 1230px) {
	.menu-container {
		grid-template-columns: 350px 1fr;
		gap: 20px 0px;
		padding: 40px 25px 20px 25px;
	}
	.menu-container .menu-center {
		grid-row: 3;
		grid-column: 1;
	}
}
/* --- ハンバーガーメニュー カラム共通 --- */
.menu-column {
	flex: 1 1 0;
	min-width: 0;
	flex-grow: 3.25;
}

/* --- ハンバーガーメニュー 上カラム --- */
#hamburger-menu .menu-top {
	/*	width: 100%; */
	grid-column: span 3;
}
#hamburger-menu .filter-menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}
.filter-menu-left {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
}
#hamburger-menu .filter-menu-left img {
	width: 35px;
}
#hamburger-menu .filter-menu-left h2 {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
}
#menuTogglemain {
	width: 138px;
	z-index: 1001;
	background: transparent;
	border: none;
	cursor: pointer;
	position: relative;
	margin: 0 6px;
}
#menuTogglemain span {
	display: block;
	height: 3px;
	background: #000000;
	border-radius: 3px;
	transition: transform 0.3s ease, opacity 0.3s ease;
	margin: 10px 0;
}
#menuTogglemain.active span:nth-child(1) {
	transform: rotate(10deg) translate(5px, 6px);
}
#menuTogglemain.active span:nth-child(2) {
	transform: rotate(-10deg) translate(5px, -5px);
}
#filterToggleBtn,.floating-filter__toggle {
	color: #000000 !important;
}
#filterToggleBtn:focus {

}
#hamburger-menu #filterToggleBtn {
	background-color: transparent;
	border: 1px solid #000000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 8px 10px;
	border-radius: 3px;
	width: 120px;
	line-height: 1;
	font-size: 14px;
	font-weight: 500;
}
#hamburger-menu #filterToggleBtn img {
	width: 15px;
}
#hamburger-menu #filterFormTitle-head-menu {
	margin-bottom: 15px;
}
/* --- ハンバーガーメニュー 左カラム（連絡） --- */
#hamburger-menu .menu-left {
	display: grid;
	gap: 30px;
	margin-top: 10px;
	grid-template-columns: auto 1fr;
}
#hamburger-menu p.menu-left-title {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
	writing-mode: tb-rl;
	margin-bottom: 0;
}
#hamburger-menu .menu-left-descript {
	font-size: 15px;
	font-weight: bold;
	font-weight: 600;
	margin: 0 0 1em;
}
#hamburger-menu .menu-left-email {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	font-size: 16px;
	background-color: #000000;
	padding: 5px;
	color: #ffffff !important;
	text-decoration: none;
	line-height: 1;
	border-radius: 3px;
	border: 1px solid #000000;
}
#hamburger-menu .icon-email {
	width: 35px;
}
#hamburger-menu .menu-left-phone {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: bold;
	font-weight: 700;
	color: #000000;
	gap: 10px;
	line-height: 1;
	text-decoration: none;	
}
#hamburger-menu .icon-phone {
	width: 30px;
}
#hamburger-menu .phone-info {
	margin-top: 15px;
	text-align: center;
}
#hamburger-menu .business-hours {
	font-size: 15px;
}

/* --- ハンバーガーメニュー 中央カラム（用途別リンク） --- */
#hamburger-menu .menu-center {
	margin-top: 10px;
}
#hamburger-menu .menu-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #cdc7b5;
	padding: 10px 20px;
	margin-bottom: 15px;
	text-align: left;
	text-decoration: none;
	color: #000000;
	font-size: 14px;
	font-weight: bold;
	font-weight: 600;
	border-radius: 3px;
}
#hamburger-menu .icon-home,#hamburger-menu .icon-koumu {
	width: 90px;
}
/* --- ハンバーガーメニュー 　右カラム（メニュー + SNS） --- */
#hamburger-menu .menu-right {
	position: relative;
}
#hamburger-menu .menu-right-vertical {
	writing-mode: vertical-rl;
	text-orientation: mixed;
}
#hamburger-menu .menu-right-vertical li {
	padding: 0 5px;
}
#hamburger-menu .menu-right-vertical a {
	color: #000000;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	font-weight: 700;
}
#hamburger-menu .menu-right-vertical li a:hover {
	text-decoration: none;
}
#hamburger-menu .menu-right-sns-link {
	position: absolute;
	bottom: 0;
	right: 0;
}
#hamburger-menu .menu-right-sns-link img {
	width: 50px;
}
/* --- ハンバーガーメニュー 検索フォーム --- */
input[type="checkbox"] {
	display: none;
}
.menu-form {
	background-color: #aca488;
	grid-column: 1 / -1;
}
#filterForm[hidden] {
	display: block;
	max-height: 0;
}
#filterForm {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	overflow: hidden;
	transition: max-height 0.4s ease;
	max-height: 0;
	gap: 0px 20px;
}
.search-condition-left,.search-condition-center,.search-condition-right {
	width: 28%;
}
#hamburger-menu .menu-form h3 {
	font-weight: 600;
	font-weight: bold;
	font-size: 18px;
}
#hamburger-menu .chip-list label {
	display: inline-block;
	padding: 0.1em 1em;
	background: #fff;
	border-radius: 4px;
	margin: 0.2em;
	cursor: pointer;
	transition: 0.2s;
}
/* チェック時の色変更 */
#hamburger-menu .chip-list input[type="checkbox"]:checked + label {
	background: #dfdbd0;
}
#hamburger-menu #species-other {
	margin: 1em 0;
	font-weight: 600;
	font-weight: bold;
	display: flex;
	gap: 10px;
	align-items: center;
	cursor: pointer;
}
.form-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-weight: bold;
	margin-bottom: 20px;
}
.form-label,.form-row h3 {
	font-size: 18px;
	width: 60px;
}
.input-group {
	display: inline-flex;
	align-items: flex-end;
	gap: 5px;
	flex: 1;
}
form .input-group input {
	width: 35%;
	font-weight: 600;
	font-weight: bold;
	padding: 5px 8px;
	background-color: #cdc7b5;
	border: 1px #cdc7b5 solid;
	font-size: 18px;
}
.color-palette {
	display: flex;
	gap: 0.5em;
	list-style: none;
	padding: 0;
	margin: 0;
}
.color-palette label {
	display: inline-block;
	cursor: pointer;
}
.color-box {
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	vertical-align: middle;
	position: relative;
	transition: box-shadow .15s ease, transform .05s ease;
}
.color-box.light     { background: #f7f8e4; }
.color-box.beige     { background: #d1a887; }
.color-box.crimson   { background: #872133; }
.color-box.brown     { background: #604c3f; }
.color-box.darkbrown { background: #231815; }
.color-box.white { background: #f7f8e4; }
.color-box.black { background: #231815; }
.color-box.red { background: #872133; }
.color-palette input[type="checkbox"]:checked + label .color-box::after {
	content: "✓";
	position: absolute;
	font-size: 20px;
	line-height: 1;
	color: #000000;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.color-palette input[type="checkbox"]:focus-visible + label .color-box {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}
.shape-options {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.shape-options label {
	background-color: #ffffff;
	border-radius: 3px;
	padding: 0.2em 0.5em;
	cursor: pointer;
	user-select: none;
	transition: 0.2s;
	display: inline-flex;
	align-items: center;
	gap: .3em;
}
.shape-options input[type="checkbox"] {
	composes: sr-only-input;
}
.shape-options label:has(input[type="checkbox"]:checked) {
	background: #dfdbd0;
}
.shape-options label:has(input[type="checkbox"]:focus-visible) {
	box-shadow: 0 0 0 2px #2271b1;
}

.submit-area {
	width: 100%;
}
.search-submit {
	background: #000000;
	color: #ffffff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 14px;
	width: 100%;
	border: 1px solid #000000;
}
.search-submit img {
	width: 20px;
}


/* ----------------------------------------
* フローティングメニュー　スクロールで出現
---------------------------------------- */
#floating-filter{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: #b0ab8c;
	z-index: 1000;
	display: none;
	margin: 15px;
	border-radius: 6px;
}
.floating-filter__inner{
	margin: 0 auto;
	padding: 20px 40px 20px 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.floating-filter__left img {
	width: 25px;
}
#filterFormTitleFloating {
	margin: 0;
	font-size: 16px; 
	font-weight: 700;
	line-height: 1;
}
.floating-filter__icon img {
	width: 15px;
}
#menuToggleFloating {
	width: 136px;
	z-index: 1001;
	background: transparent;
	border: none;
	cursor: pointer;
	position: relative;
}
#menuToggleFloating span {
	display: block;
	height: 3px;
	background: #000000;
	border-radius: 3px;
	transition: transform 0.3s ease, opacity 0.3s ease;
	margin: 10px 0;
}
#menuToggleFloating.active span:nth-child(1) {
	transform: rotate(10deg) translate(5px, 5px);
}
#menuToggleFloating.active span:nth-child(2) {
	transform: rotate(-10deg) translate(5px, -5px);
}
.floating-filter__left {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.floating-filter__toggle {
	background-color: transparent;
	border: 1px solid #000000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 8px;
	line-height: 1;
	border-radius: 3px;
	width: 100px;
	font-size: 12px;
	font-weight: 500;
}


/* ----------------------------------------
* フッター
---------------------------------------- */
#footer {
	color: #000000;
	border-top: 1px solid #000000;
	padding-top: 100px;
}
#footer a {
	color: #000000;
	text-decoration: none;
}
.footer-01 {
	background: url('lib/images/bg_footerup.webp');
	padding: 0;
}
#footer .footer-01 .wrap {
	transform: translateY(-80px);
}
.footer-02 {
	background: transparent;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-03 {
	padding: 10px;
}
#footer .footer-03-inner .wrap {
	width: 93%;
}
.footer-03-inner {
	background-color: #aca488;
	border-radius: 6px;
}
#footer-head-menu {
	display: flex;
	gap: 10px;
	justify-content: space-around;
	align-items: stretch;
	/*	transform: translateY(-80px);*/
}
.footer-head-menu-card {
	background-color: #dfdbd0;
	flex: 1;
	border-radius: 4px;
}
#footer h3.footer-head-menu-title {
	display: flex;
	align-items: center;
	padding: 20px 20px 40px;
	font-size: 20px;
	font-weight: 700;
	font-weight: bold;
	gap: 10px;
}
.footer-head-menu-title img {
	width: 30px;
}
.footer-head-menu-link {
	border-top: 1px solid #000000;
	padding: 20px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#footer-menu-area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 40px 0px 0px;
	height: 100%;
	box-sizing: border-box;
	gap: 20px;
	border-bottom: none;
	margin: 0;
}
.footer-contact {
	width: 420px;
}
.footer-menu {
	flex: 1;
	display: flex;
}
.footer-menu-column {
	flex: 1 1 0;
	min-width: 0;
}
#footer .footer-menu-left {
	display: flex;
	gap: 30px;
	margin-top: 20px;
}
#footer .footer-menu-left-title {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
	writing-mode: tb-rl;
}
#footer .footer-menu-left-descript {
	font-size: 15px;
	font-weight: bold;
	font-weight: 600;
}
#footer .footer-menu-left-email {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	font-size: 16px;
	background-color: #000000;
	padding: 5px;
	margin-top: 1em;
	color: #ffffff;
	text-decoration: none;
	line-height: 1;
	border-radius: 3px;
	border: 1px solid #000000;
}
#footer .icon-email {
	width: 40px;
}
#footer .footer-menu-left-phone {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: bold;
	font-weight: 600;
	color: #000000;
	gap: 10px;
	line-height: 1;
	text-decoration: none;	
}
#footer .icon-phone {
	width: 30px;
}
#footer .footer-phone-info {
	margin-top: 15px;
	text-align: center;
}
#footer .footer-reception-hours {
	font-size: 15px;
	text-align: center;
	margin-top: 0px;
	display: inline-block;
}
#footer .footer-menu-center {
	margin-top: 40px;
}
#footer .footer-menu-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #cdc7b5;
	padding: 15px 25px;
	margin-bottom: 15px;
	text-align: left;
	text-decoration: none;
	color: #000000;
	font-size: 15px;
	font-weight: bold;
	font-weight: 600;
	border-radius: 4px;
	line-height: 2;
}
#footer .icon-home,#footer .icon-koumu {
	width: 110px;
}
#footer .footer-menu-right {
	position: relative;
}
#footer .footer-menu-right-vertical {
	writing-mode: vertical-rl;
	text-orientation: mixed;
}
#footer .footer-menu-right-vertical li {
	padding: 0 10px;
}
#footer .footer-menu-right-vertical a {
	color: #000000;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	font-weight: 600;
}
#footer .footer-menu-right-vertical li a:hover {
	text-decoration: none;
}
#footer-brand-area {
	display: flex;
	justify-content: flex-end;
	border-bottom: none;
}
#footer .footer-company-name {
	margin-bottom: 30px;
}
#footer .footer-company-name img {
	width: 250px;
}
#footer .footer-address {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 500;
}
#footer .footer-business-hours{
	font-weight: 500;
}
#footer .footer-address img {
	width: 20px;
}
#footer .footer-info-communicat {
	margin-bottom: 20px;
	font-weight: 500;
}
#footer .footer-info-communicat a {
	color: #000000;
	text-decoration: none;
}
#footer .footer-menu-right-sns-link {
	text-align: right;
}
#footer .footer-menu-right-sns-link img {
	width: 50px;
}
#footer .footer-menu-bottom {
	font-size: 13px;
}
#footer .footer-menu-bottom ul {
	display: flex;
	gap: 30px;
	font-weight: 500;
}
#footer .footer-menu-bottom a {
	color: #000000;
	text-decoration: none;
}
.footer-copy{
	padding-right: 15px;
}


/* ----------------------------------------
* ページトップへボタン
---------------------------------------- */
.pagetop {
	display: none;
	position: fixed;
	bottom: 15px;
	right: 15px;
	color: #ffffff;
}
.pagetop span {
	display: block;
	border-radius: 6px;
	background: #b0ab8c;
	width: 50px;
	height: 50px;
	text-align: center;
	line-height: 40px;
	font-size: 36px;
	opacity: 0.8;
}


/* ----------------------------------------
* 検索フォーム(TOP以外でも使用するためstyleで指定)
---------------------------------------- */
.form-overlay {
	background-color: #aca488;
	color: #000000;
	margin: 15px;
	border-radius: 3px;
}
.form-container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 1.8% 0 2.2%;
	height: 100%;
	box-sizing: border-box;
	gap: 30px 0px;
}
#filterFormTop {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 35px;
}

.form-container .menu-top {
	width: 100%;
}
.form-container .filter-menu {
	display: flex;
	align-items: center;
	gap: 30px;
}
.form-container .filter-menu > img {
	width: 35px;
}
.form-container .filter-menu > h2 {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
	margin: 0;
}
.form-container #filterFormTitleTop {
	margin-bottom: 15px;
}
.form-container .menu-form h3 {
	font-weight: 700;
	font-weight: bold;
	font-size: 18px;
}
.chip-list label {
	display: inline-block;
	padding: 0.1em 1em;
	background: #fff;
	border-radius: 3px;
	margin: 0.2em 0.1em;
	cursor: pointer;
	transition: 0.2s;
	font-weight: bold;
	font-size: 14px;
}
.form-container #species-other-top {
	margin: 1em 0;
	font-weight: 600;
	font-weight: bold;
	display: flex;
	gap: 10px;
	align-items: center;
	cursor: pointer;
}
.chip-list input[type="checkbox"]:checked + label {
	background: #dfdbd0;
}
.chip-list input[type="checkbox"]:focus-visible + label {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}
.choice-count{
	margin-left: 48px;
	display: inline-flex;
	gap: .35em;
	align-items: baseline;
	font-size: 14px;
	opacity: .9;
}
.choice-count__num{
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1;
}
.choice-count b{ font-weight: 700; }

/* --- その他樹種モーダル --- */
.species-modal {
	position: fixed;
	top: env(safe-area-inset-top, 0);
	right: env(safe-area-inset-right, 0);
	bottom: env(safe-area-inset-bottom, 0);
	left: env(safe-area-inset-left, 0);
	z-index: 1001;
	display: none;
	width: 100vw;
	height: 100vh;
}
.species-modal.is-open {
	display: flex;
	align-items: center;
	justify-content: center;
}
.species-modal__overlay {
	position: fixed;
	top: env(safe-area-inset-top, 0);
	right: env(safe-area-inset-right, 0);
	bottom: env(safe-area-inset-bottom, 0);
	left: env(safe-area-inset-left, 0);
	background: rgba(0,0,0,0.6);
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
}
.species-modal__dialog {
	position: relative;
	width: min(720px, 88vw);
	max-height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);
	background: #c7c0a6;
	border-radius: 10px;
	padding: 28px 42px 20px;
	margin: 0;
	-webkit-overflow-scrolling: touch;
}
#hamburger-menu .menu-form h3.species-modal__title,.form-container .menu-form h3.species-modal__title {
	margin: 0 0 24px;
	font-size: 16px;
}
.species-modal__chips {
	margin: 0px 0 14px;
}
.species-modal__close{
	position: absolute;
	right: -23px;
	top: -23px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #000;
	color: #fff;
	border: none;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.species-modal__close:hover { opacity: .9; }
.species-modal__footer {
	display: flex;
	justify-content: center;
	margin-top: 12px;
}
.species-modal__back {
	background: #000000;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 14px 60px;
	font-size: 13px;
	cursor: pointer;
	line-height: 1;
}


/* ----------------------------------------
* 検索件数・検索結果(TOP以外でも使用するためstyleで指定)
---------------------------------------- */
/* --- 検索結果・検索件数のボックス --- */
.search-result {
	padding: 50px 0 80px;
	border-bottom: 1px solid #000000;
}
.search-result.archive-result {
	border-bottom: none;
}
/* --- 検索件数 --- */
.search-summary {
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	padding: 20px 0;
}
.search-summary-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;	
}
#search-count {
	font-size: 54px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
}
#search-count-unit {
	font-size: 18px;
	font-weight: bold;
	font-weight: 600;	
	line-height: 1;
}
#total-count {
	font-weight: bold;
	font-weight: 600;	
	line-height: 1;
	font-size: 26px;
}
#total-count-unit {
	font-size: 12px;
	font-weight: bold;
	font-weight: 600;	
	line-height: 1;
}
.search-summary-actions a {
	background-color: transparent;
	border: 1px solid #000000;
	padding: 6px 15px;
	color: #000000;
	font-size: 13px;
	border-radius: 3px;
	opacity: 0.5;
	-webkit-transition: all ease-in-out .3s;
	transition: all ease-in-out .3s;
}
.search-summary-actions a:not(.is-active):hover {
	opacity: 1;
}
.search-summary-actions a.is-active[role="button"] {
	color: #000000;
	border: 1px solid #000000;
	opacity: 1;
}
.is-loading {
	opacity: .6;
	pointer-events: none;
	transition: opacity .2s;
}
/* --- 検索結果 --- */
.search-result-inner {
	padding: 10px 0px 50px;
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.search-title-blk {
	display: flex;
	grid-column: span 2;
	padding-right: 30px;
	align-self: flex-end;
	margin-bottom: 60px;
}
.search-title {
	writing-mode: vertical-lr;
	border-right: 1px solid #000000;
	padding-right: 30px;
	font-size: 36px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
}
.search-title-description {
	margin: 0;
	padding-left: 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
}
.search-items {
	border: 1px solid #000000;
	padding: 10px;	
	border-radius: 3px;
	min-width: 0;
}
.item-img {
	margin: 0 0 15px;
	position: relative;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 2 / 3;
	overflow: hidden;
}
.item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	display: block;
	transform: scale(1);
	transition: transform .3s ease;
}
.search-items a:hover .item-img img {
	transform: scale(1.05);
}
.search-items a:hover .show-item-detail {
	color: #ffffff;
	background-color: rgba(35, 24, 21, .5);
	border-color: rgba(35, 24, 21, .5);
}
.item-img-soldout,.item-img-pending {
	position: relative;
	overflow: hidden; 
}
.item-img-soldout::after {
	content: "";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.4);
	pointer-events: none;
	font-weight: bold;
	font-weight: 700;
}
.item-img-pending::after {
	content: "";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.4);
	pointer-events: none;
	font-weight: bold;
	font-weight: 700;
}
.search-items a {
	color: #000000;
}
.search-items .item-contents {
	display: flex;
	justify-content: space-between;
	margin: 0 5px 15px;
}
.search-items .item-detail-l {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	min-width: 0;
}
.search-items .item-detail-r {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.search-items .item-title {
	font-size: 18px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.1em;
}
.search-items .item-length,.search-items .item-width {
	padding-right: 5px;
}
.search-items .item-length,.search-items .item-width,.search-items .item-thickness {
	padding-right: 5px;
	font-size: 12px;
	font-weight: bold;
	font-weight: 600;
}
.search-items .item-length span,
.search-items .item-width span,
.search-items .item-thickness span {
	font-size: 18px;
}
.search-items .item-price {
	font-size: 22px;
	font-weight: bold;
	font-weight: 700;
}
.search-items .item-price span {
	font-size: 15px;
}
.search-items .item-price-ask {
	font-weight: bold;
	font-weight: 700;
}
.search-items .item-soldout {
	text-align: center;
	color: #831a20;
	padding: 3px;
	font-weight: bold;
	font-weight: 700;
	font-size: 22px;
}
.search-items .item-pending {
	text-align: center;
	color: #000000;
	padding: 5px;
	font-weight: bold;
	font-weight: 700;
	font-size: 18px;
}
/*.search-items .item-soldout a,.search-items .item-pending a {
padding: 10px;
display: block;
}*/
.search-items .show-item-detail {
	text-align: center;
	border-radius: 3px;
	background-color: #aca488;
	color: #ffffff;
	padding: 10px;
	display: block;
}


/* ----------------------------------------
* 商品詳細　item
---------------------------------------- */
.product-info {
	padding: 0px 0 200px;
	border-bottom: 1px solid #000000;
}
.product-info-inner {
	display: flex;
	flex-direction: row-reverse;
	gap: 50px;
}
.product-info-inner > section { 
	min-width: 0; 
}
.product-info-inner > section:first-child {
	flex: 0 1 calc((100% - 50px) * 2/5);
	align-self: flex-start;
}
.product-info-inner > section:last-child {
	flex: 0 1 calc((100% - 50px) * 3/5);
}
.product-info-table {
	background:#dfdbd0;
	border-radius:6px;
	padding:25px;
	color:#000;
}
.product-details .detail__img IMG {
	width:100%;
}
.product-info-table .info-rows .row{
	display: grid;
	grid-template-columns: 10em 1fr;
	align-items: flex-start;
	padding: 10px 0;
	border-top: 1px solid #000000;
}
.product-info-table .info-rows .row:first-child{
	border-top: none;
}
.product-info-table .info-rows dt{
	font-weight: 600;
	letter-spacing: .02em;
}
.product-info-table dd {
	margin: 0;
}
.product-info-table .sizes{
	display: grid;
	gap: 6px 20px;
	margin: 0;
}
.product-info-table .sizes > div{
	display: grid;
	grid-template-columns: 3em auto;
	gap: 30px;
	align-items: baseline;
}
.product-info-table .sizes dt{
	font-weight: 700;
}
.product-info-table .sizes .unit{
	margin-left: 4px;
	font-size: .9em;
	opacity: .8;
}
.product-info-table .swatches .swatch{
	display: inline-block;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	margin-right: 8px;
	vertical-align: middle;
}
.product-info-table .chip{
	background-color: #ffffff;
	padding: 0.2em 0.5em;
	border-radius: 6px;
	flex: 1;
	text-align: center;
}
.product-info-table .price-row .amount{
	font-size: 1.9rem;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1;
}
.product-info-table .price-row .yen{
	margin-left: .2em;
}
.product-info-table .note-sub{
	display: block;
	margin-top: 4px;
	font-size: .85em;
	opacity: .8;
}
.product-info-table .product-info-card .cta{
	margin-top: 14px;
}
.product-info-table .btn-cta{
	display: block;
	text-align: center;
	background: #000000;
	color: #ffffff;
	padding: 12px;
	border-radius: 3px;
	text-decoration: none;
	font-size: 18px;
}
.product-info-card .finish-legs {
	border: 1px solid #000000;
	margin-top: 14px;
	text-align: center;
	width: 100%;
	border-radius: 6px;
	font-size: 18px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
}
.product-info-card .finish-legs a {
	display: block;
	padding: 30px 20px;
	background-image:
		linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
		url('lib/images/list_019.webp');
	background-repeat: no-repeat;
	background-size: cover;
}
.product-details .detail {
	margin: 0 0 2em;
}
.product-related-gallery {
	padding: 50px 0px 50px;
}
.product-related-gallery h2 {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
	margin: 0 0 20px;
}
.product-related-gallery .portfolio-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 1.2fr 0.8fr;
	grid-auto-rows: 300px;
	gap: 10px;
	padding: 0px 0px 100px;
}
.product-related-gallery .grid-item {
	overflow: hidden;
}
.product-related-gallery .grid-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.product-related-gallery .item-1 {
	grid-column: 1 / 2;
	grid-row: 1 / span 2;
}
.product-related-gallery .item-2 {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
.product-related-gallery .item-3 {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}
.product-related-gallery .item-4 {
	grid-column: 3 / 4;
	grid-row: 1 / span 2;
}
.product-related-gallery .item-5 {
	grid-column: 4 / 5;
	grid-row: 2 / 3;
}
.product-related-gallery .item-6 {
	grid-column: 4 / 5;
	grid-row: 1 / 2;
}
.product-related-tree {
	padding: 50px 0px 30px;
}
.product-related-tree h2 {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
	margin: 0 0 20px;
}
.product-related-tree .related-tree-inner {
	padding: 0px 0px 100px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.product-related-color {
	padding: 50px 0px 100px;
	border-bottom: 1px solid #000000;
}
.product-related-color h2 {
	font-size: 22px;
	font-weight: bold;
	font-weight: 600;
	margin: 0 0 20px;
}
.product-related-color .related-color-inner {
	padding: 0px 0px 100px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.finish-section {
	padding: 100px 0px 100px;
}
.finish-inner {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 15px 50px;
	position: relative;
}
.finish-title {
	margin: 0;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	padding-right: 15px;
	font-size: 32px;
	border-right: 1px solid #000000;
}
.finish-content {
	grid-column: 2 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 28px;
}
.finish-card {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 16px;
	align-items: start;
}
.finish-card__media {
	overflow: hidden;
	border: 1px solid rgba(0,0,0,.25);
}
.finish-card__media img {
	width: 100%;
	height: 100%; 
	object-fit: cover; 
	display: block;
}
.finish-card__heading {
	margin: 2px 0 8px;
	font-weight: 700;
	font-size: 16px;
}
.finish-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.finish-list li {
	position: relative;
	padding-left: 1em;
	line-height: 1.8;
}
.finish-list li::before {
	content: "・";
	position: absolute; left: 0; top: 0;
}
.finish-note {
	grid-column: 2 / -1;
	margin: 8px 0 0;
	font-size: 13px;
}
.legs-section { 
	padding: 0 0 100px;
}
.legs-inner{
	display: grid;
	grid-template-columns: 70px 1fr;
	column-gap: 50px;
	row-gap: 15px;
	align-items: start;
}
.legs-aside{
	align-self: stretch;
	padding-right: 15px;
}
.legs-title{
	margin: 0;
	writing-mode: vertical-rl;
	text-orientation: upright;
	white-space: nowrap;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	padding-right: 15px;
	font-size: 32px;
	border-right: 1px solid #000000;
}
.legs-main{
	display: flex;
	flex-direction: column;
	gap: 50px;
}
.legs-row{
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 28px;
	padding: 25px 0 0px;
	border-top: 1px solid #000000;
}

.leg-card{
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 16px;
	align-items: start;
}
.leg-media{ margin: 0; }
.leg-media > img{
	display: block;
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 4px;
	cursor: pointer;
}
.leg-thumbs{
	display: flex;
	gap: 8px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.leg-thumbs img{
	width: 136px;
	aspect-ratio: 4/3;
	object-fit: cover;
	display: block;
	border-radius: 3px;
	cursor: pointer;
}
.leg-heading{
	margin: 0 0 .4em; 
	font-weight: 700; 
	font-size: 16px; 
}
.leg-text{ 
	margin: 0; 
	line-height: 1.8;
}
.lb__dialog{
	width: min(70vw, 720px);
	max-height: 70vh;
	position: absolute; left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	margin: 0; box-sizing: border-box;
}
.lb__img{
	max-height: calc(70vh - 56px);
	width: 100%; height: auto; object-fit: contain; display: block;
}
.lb{
	position: fixed; inset: 0; z-index: 9999; display: none;
}
.lb.is-open{ display: block; }
.lb__overlay{
	position: absolute; inset: 0;
	background: rgba(0,0,0,.8);
	cursor: pointer;
}
.lb__caption {
	color: #ffffff;
	margin-top: 5px;
	text-align: center;
	font-weight: bold;
	font-weight: 600;
}
.lb__close{
	position: absolute; right: -14px; top: -14px;
	width: 36px; height: 36px; border: 0; border-radius: 50%;
	background: #000; color: #fff; font-size: 20px;
	display: flex; align-items: center; justify-content: center;
	cursor: pointer;
}
.faqs {
	background-color: #dfdbd0;
	margin: 50px 15px 150px;
	border-radius: 6px;
}
.faqs-inner {
	padding: 60px 0;
}
.faqs-list {
	padding: 0 20px;
}
.faqs-title {
	font-size: 24px;
	margin: 10px 0 30px;
	font-weight: bold;
	font-weight: 600;
}
.faqs-q {
	cursor: pointer;
	position: relative;
	padding: 0 30px 0px 0px;
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.faqs-q::after {
	content: '＋';
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2em;
	color: #333;
	transition: 0.2s ease;
}
.faqs-q-title {
	font-size: 24px;
	font-weight: bold;
	font-weight: 600;
	display: inline-block;
	margin-right: 30px;
}
details[open] > summary.faqs-q::after {
	content: '×';
}
.faqs-a {
	border-left: 1px solid #000000;
	margin-left: 10px;
	padding: 20px 45px;
	display: flex;
	align-items: flex-start;
	gap: 30px;
}
.faqs-a-body{
	flex: 4;
}
.faqs-a-title {
	color: #831a20;
	font-size: 24px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
}
.faqs-a-links {
	display: flex;
	margin-top: 30px;
	text-align: center;
	gap: 50px;
}
.faqs-a-links .icon-email {
	width: 40px;
}
.faqs-a-links .icon-phone {
	width: 40px;
}
.faqs-a-mailform {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	font-size: 16px;
	background-color: #000000;
	padding: 5px 30px;
	color: #ffffff;
	text-decoration: none;
	border-radius: 3px;
}
.faqs-a-tel {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-weight: 600;
	color: #000000;
	gap: 10px;
	line-height: 1;
	text-decoration: none;
	font-size: 34px;
}
.faqs-a-img {
	flex: 1;
	text-align: right;
}
.contact-info-card {
	display: flex;
	justify-content: center;
	gap: 30px;
	width: 70%;
	margin: auto;
}
.contact-header {
	margin: 120px auto 40px;
	border-bottom: 1px solid #000000;
}
.head-contact-title {
	display: flex;
	justify-content: space-between;
	padding: 0 0 20px;
}
.head-contact-title-body {
	display: flex;
	gap: 50px;
	width: 63%;
}
.head-contact-title-body-page {
	display: flex;
	gap: 50px;
}
.head-contact-title .contact-title {
	font-size: 30px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	border-left: none;
	background: transparent;
	color: #000000;
	margin: 0;
}
.head-contact-title .contact-description {
	margin: 0;
	flex: 1;
}


/* ----------------------------------------
* 問い合わせ　contact
---------------------------------------- */
/* 問い合わせフォーム（cf7）関連 */
.wpcf7 {
	width: 50%;
	margin: 0 auto 120px;
}
.wpcf7 div {
	display: block;
	gap: 30px;
	align-items: center;
	padding-bottom: 20px;
	min-width: 0;
}
.wpcf7 label {
	display: grid;
	grid-template-columns: 3fr 5fr;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 20px;
	width: 100%;
}
.wpcf7 #confirm-form .confirm-row{
	display: grid;
	grid-template-columns: 3fr 5fr;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 0px;
	width: 100%;
}
.wpcf7 .contact-title {
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	font-weight: 600;
}
.wpcf7 .contact-sub {
	font-size: 16px;
}
.wpcf7 .flex-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-width: 0;
}
.wpcf7 .required {
	color: #ffffff;
	background-color: #872133;
	font-size: 13px;
	font-weight: bold;
	font-weight: 600;
	padding: 3px 20px;
	border-radius: 4px;
	line-height: 1;
}
.wpcf7-form-control-wrap {
	width: 100%;
}
.wpcf7 .w-f {
	width: 100%;
}
.wpcf7-form-control-wrap select,.wpcf7-form-control-wrap input[type="tel"],.wpcf7-form-control-wrap input[type="email"],.wpcf7-form-control-wrap input[type="text"],.wpcf7-form-control-wrap input[type="date"],.wpcf7-form-control-wrap textarea  {
	padding: 13px;
	border: 1px solid #cdc7b5;
	background-color: #dfdbd0;
	border-radius: 4px;
	color: #000 !important;
}
.wpcf7 .zip-col {
	display: flex;
	align-items: center;
	width: 65%;
	gap: 10px;
	min-width: 0;
}
.wpcf7 .zip-col .wpcf7-form-control-wrap {
	width: 35%;
}
.wpcf7 .zip-col button {
	background: transparent;
	border: 1px solid #000000;
	color: #000000;
	padding: 13px;
	line-height: 1;
	border-radius: 4px;
}
.wpcf7 .date-col {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 65%;
}
.wpcf7-form-control-wrap[data-name^="visit-date"] input[type="date"] {
	color: transparent; 
}
.wpcf7-form-control-wrap[data-name^="visit-date"] input[type="date"]::-webkit-datetime-edit { 
	color: transparent;
}
.wpcf7-form-control-wrap[data-name^="visit-date"].has-value input[type="date"] { 
	color: inherit;
}
.wpcf7-form-control-wrap[data-name^="visit-date"].has-value input[type="date"]::-webkit-datetime-edit { 
	color: inherit; 
}
.wpcf7-form-control-wrap[data-name^="visit-date"] input[type="date"]::-webkit-calendar-picker-indicator { 
	opacity: 1; 
}
.wpcf7 .date-col .wpcf7-form-control-wrap {
	width: auto;
}
.wpcf7 .visitable {
	font-size: 16px;
	font-weight: bold;
	font-weight: 600;
}
.wpcf7 .up {
	align-self: flex-start;
}
.wpcf7 div.contact-btn-grp {
	display: grid;
	grid-template-columns: auto 1fr;

}
.wpcf7 input[type="submit"] {
	background: #000000;
	border-radius: 4px;
	padding: 15px 45px;
	line-height: 1;
}
.wpcf7-previous {
	background-color: transparent;
	border: 1px solid #000000;
	border-radius: 3px;
	padding: 15px 30px;
	color: #000000;
	line-height: 1;
}
.wpcf7-spinner {
	display: none;
}
.mode-b #header-contact-nav .btn {
	border: 1px solid #000000;
	font-weight: bold;
}
.post-content h2.contact-footer-title {
	margin: 100px auto 50px;
	border-bottom: 1px solid #000000;
	padding: 0 0 20px;
	font-size: 30px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	border-left: none;
	background: transparent;
	color: #000000;
}
.contact-footer-address {
	display: flex;
	justify-content: center;
	gap: 50px;
	text-align: center;
}
.contact-footer-address .tel {
	border: 1px solid #000000;
	font-size: 32px;
	font-weight: 600;
	font-weight: bold;
	display: inline-block;
	padding: 15px 20px 15px 60px;
	text-decoration: none;
	width: 100%;
	position: relative;
	color: #000000;
	line-height: 1;
	border-radius: 3px;
}
.contact-footer-address .tel::before {
	background: url(lib/images/ic_tel.svg) no-repeat center;
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background-size: contain;
	vertical-align: middle;
}
.contact-footer-address .fax {
	font-size: 32px;
	font-weight: 600;
	font-weight: bold;
	display: inline-block;
	padding: 15px 20px 15px 60px;
	position: relative;
	line-height: 1;
}
.contact-footer-address .fax::before {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url(lib/images/ic_fax.svg) no-repeat center;
	background-size: contain;
	vertical-align: middle;
}
.wpcf7 select.placeholder {
	color: #999;
}
.wpcf7 select.placeholder option:first-child{
	color:#999;
}
.wpcf7 select.placeholder option:not(:first-child){
	color:#000;
}
.chk-contact {
	display: none;
}
.wpcf7 form.spam .wpcf7-response-output {
    border-color: #872133;
    color: #872133;
    font-weight: bold;
}
.wpcf7-not-valid-tip{
	color: #872133;
	font-weight: bold;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
    border-color: #872133;
    color: #872133;
    font-weight: bold;
}

/* ----------------------------------------
* 会社概要・アクセス　about
---------------------------------------- */
.company-top-navi {
	margin: 0 auto 120px;
}
.company-grid{
	display:grid;
	grid-template-columns: minmax(260px, 24vw) 1fr;
	gap: clamp(24px, 3.2vw, 80px);
	align-items:start;
	padding: 0 0 150px;
}
.company-media-col{
	display:grid;
	gap: clamp(10px, 2.2vw, 15px);
}
.company-photo{
	border-radius:4px;
	overflow:hidden;
	width: 70%;
}
.company-photo.photo-l {
	margin-right: auto;
}
.company-photo.photo-r {
	margin-left: auto;
}
.company-photo img{
	display:block;
	height:auto;
	aspect-ratio:3/4;
	object-fit:cover;
}
.company-info-card{
	display:grid;
	gap:18px;
}
.company-kv{
	display:grid;
	grid-template-columns: 35% 1fr;
	background:transparent;
}
.company-kv > dt:not(.first-col),
.company-kv > dd:not(.first-col){
	padding:15px;
}
.company-kv > dt.first-col,
.company-kv > dd.first-col{
	padding:0 15px 15px;
}
.company-kv > dt:not(.first-col),
.company-kv > dd:not(.first-col){
	border-top:1px solid #000000;
}
.post-content dl.company-kv > dd {
	margin:0;
}
.company-kv > dt{
	font-weight:700;
	letter-spacing:.06em
}
.company-kv > dd{
	min-width:0
}
.company-kv > dd a {
	color: #000000;
	text-decoration: none;
}
/* 住所＋Mapボタン */
.company-map-btn{
	padding: 3px 30px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1;
	border: 1px solid #000000;
	margin-top: 10px;
	color: #000000;
	border-radius: 3px;
}
.company-map-btn img {
	width: 25px;
}
/* googleマップ */
.company-map-wrap{
	border-radius:6px;
	overflow:hidden;
	aspect-ratio:8/3;
	width: 100%;
}
.company-map-wrap iframe{
	width:100%;
	height: 100%;
	border:0;
	display:block;
}
.company-kv > dd.map-full{
	grid-column: 1 / -1;
	border-top: none;
	padding: 10px 0 30px;
}
.post-content .company-kv ul {
	margin:0;
}
.company-dot{
	padding-left:1.1em;
	margin:0;
}
.company-dot li{
	list-style:disc
}
/* アクセス */
#sec-access {
	background: #dfdbd0;
	border-radius: 4px;
	padding: 100px;	
}
.company-hero{
	display:grid;
	gap: 0;
	grid-template-columns: 1.2fr .9fr;
	align-items:start;
}
.post-content .company-hero h2 {
	margin: 0 0 30px;
	padding: 0;
	font-size: 28px;
	font-weight: bold;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	line-height: 1.3;
}
.company-hero .company-note{
	margin:0 0 1.2rem;
}
.company-kv-mini{
	margin:.6rem 0 2.2rem;
	display: inline-grid;
	gap: 15px 30px;
	grid-template-columns: 1fr 1fr;
}
/* 連絡先（メール／電話） */
.company-cta-grid{
	display: inline-grid;
	gap: 15px 0px;
	grid-template-columns: 1fr 1fr;
}
.company-mail-card{
	padding:14px;
	text-align: center;
	display: grid;
	grid-template-columns: 1fr;
}
.company-mail-card a{
	border-radius: 3px;
}
.company-mailform {
	display: grid;
	gap: 10px;
	grid-template-columns: 30px auto;
	align-items: center;
	justify-content: center;
	background-color: #000000;
	padding: 5px 30px;
	color: #ffffff;
	text-decoration: none;
	width: 100%;
	border: 1px solid #000000;
}
.company-phone{
	padding:14px;
	text-align: center;
	display: grid;
	grid-template-columns: 1fr;
}
.company-telnum {
	display: grid;
	gap: 10px;
	grid-template-columns: 40px auto;
	align-items: center;
	justify-content: center;
	color: #000000;
	font-size: 32px;
	font-weight: bold;
	font-weight: 700;
	line-height: 1;
	width: 100%;

}
.company-media{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:10px;
}
.company-shot{ 
	overflow:hidden;
}
.company-shot img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
}
.company-shot.company-front{
	width: 75%;
	transform:translate(0%, -50%);
}
.company-shot.company-back {
	width: 75%;
	justify-self: end;
}
.company-guide{
	display:grid; 
	grid-template-columns:1fr 1fr; 
	gap:20px; 
	margin: 48px 0;
}
.company-card{
	border:1px solid #000000;
	border-radius:6px;
	padding:20px;
}
.company-card-h{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	gap:10px;
	font-weight:700;
	margin:0px 0 10px;
}
.company-card-h img{
	width:30px;
}
.company-card p{
	margin: 0;
}
.company-sub-notice {
	font-size: .8em;
}
.company-gallery{
	display:grid;
	gap:18px 22px;
	grid-template-columns: repeat(4, 1fr);
}
.company-gallery figure{
	margin:0;
	display:grid;
	gap:8px;
	align-content:start;
}
.company-gallery img{
	width:100%;
	height:auto;
	display:block;
	object-fit:cover;
}


/* ----------------------------------------
* プライバシーポリシー　privacy-policy
* サイトポリシー　site-policy
* 特定商取引法による表示　tokushoho
* - 3ページ共通
---------------------------------------- */
.policy-list{
	list-style:none; margin:0; padding:0;
	counter-reset: sec;
}
.post-content ol.policy-list  {
	margin: 0;
}
.policy-list > li{
	display:grid;
	grid-template-columns: 385px 1fr;
	padding: 16px 25px;
	border-top:1px solid #000000;
	align-items:start;
}
.policy-list > li:first-child{ 
	border-top:none;
}
.post-content .policy-list h2 {
	margin: 0;
	padding: 0;
	font-size: 18px;
	clear: both;
	font-weight:600;
	font-weight: bold;
	border-left: none;
	background: transparent;
	color: #000000;
}
.policy-title{
	counter-increment: sec;
	line-height:1.6;
}
.policy-title::before{
	content: counter(sec) ". ";
	font-weight:bold;
	font-weight:600;
	margin-right:.2em;
}
.policy-body{ 
	min-width:0;
}
.policy-body p{ 
	margin:.2rem 0 .9rem;
}
.policy-body .dot{ 
	margin:.3rem 0 .9rem; 
	padding-left:1.2em;
}
.policy-body .dot li{ 
	list-style:disc;
}
.policy-body a{
	color:inherit;
}
.bank-list{ 
	display: grid;
	gap: 20px;
	margin: .2rem 0 .9rem;
}
.bank-list p{ 
	margin:0;
}
.policy-body-grid {
	display: grid;
	grid-template-columns: 350px 1fr;
}


/* ----------------------------------------
* 制作事例・施工例　case
---------------------------------------- */
.works {
	padding: 50px 0 120px;
}
.tag-card {
	color: #000000;
	padding-bottom: 5px;
	display: inline-block;
	text-decoration: underline;
}
.tag-list-title {
	margin: 0 0 1em;
	font-size: 22px;
	font-weight: bold;
}
.tag-list {
	display: grid;
	margin: 0 0 2em;
	align-self: flex-end;	
	padding-left: 20px;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 0px 50px;
}
.tag-list ul {
	margin: 0;
	padding: 0;
}
.works-grid{
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	grid-auto-rows: 300px;
	gap: 10px;
	padding: 10px 0 50px;
	grid-auto-flow: dense;
}
.works-grid.slayer {
	padding: 0px 0px 50px;
}
.grid-item {
	overflow: hidden;
}
.grid-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.works-grid .grid-item:nth-child(12n + 1){
	grid-column: 1 / span 3;
	grid-row: span 2;
}
.works-grid .grid-item:nth-child(12n + 2){
	grid-column: 4 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 3){
	grid-column: 4 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 4){
	grid-column: 6 / span 3;
	grid-row: span 2;
}
.works-grid .grid-item:nth-child(12n + 5){
	grid-column: 9 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 6){
	grid-column: 9 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 7){
	grid-column: 1 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 8){
	grid-column: 1 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 9){
	grid-column: 3 / span 3;
	grid-row: span 2;
}
.works-grid .grid-item:nth-child(12n + 10){
	grid-column: 6 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 11){
	grid-column: 6 / span 2;
	grid-row: auto;
}
.works-grid .grid-item:nth-child(12n + 12){
	grid-column: 8 / span 3;
	grid-row:span 2;
}

/* ----------------------------------------
* 制作事例 詳細　case/制作・施工事例名
---------------------------------------- */
/* タイトル */
.case-single .workcase-title{
	font-weight:700;
	letter-spacing:.02em;
	margin:0 0 18px;
	color:#222;
}
.workcase-two-col {
	border-bottom: 1px solid #000000;
	padding-bottom: 50px;
	margin-bottom: 100px;
}
.works-current-filter {
	margin-bottom: 10px;
}
.works-current-filter-title {
	font-size: 20px;
	font-weight: 700;
	font-weight: bold;
	margin-bottom: 0;
}
.workcase-inner{
	display: flex;
	flex-direction: row-reverse;
	gap: 50px;
	margin-bottom: 200px;
}
.workcase-aside {
	flex: 0 1 calc((100% - 50px) * 2 / 5);
	align-self: flex-start;
}
.workcase-main {
	flex: 0 1 calc((100% - 50px) * 3 / 5);
}
.case-single .workcase-info-table{
	background: #dfdbd0;
	border-radius: 6px;
	padding: 25px 35px 50px;
	color: #000;
}
.case-single .info-rows{ 
	margin:0;
}
.case-single .info-rows .row{
	display: grid;
	grid-template-columns: 5em 1fr;
	align-items: flex-start;
	padding: 10px;
	border-top: 1px solid #000000;
}
.case-single .info-rows .row:first-child{ 
	border-top: none;
}
.case-single .info-rows .row:last-child{
	border-bottom:1px solid #000000;
}
.case-single .info-rows dt{
	font-weight: 600;
	letter-spacing: .02em;
}
.case-single .info-rows dd{ margin: 0; }
.case-single .chip{
	display:block;
}
.case-single .chip.is-tag::before{ 
	content:"#";
	margin-right:.15em;
}
.case-single .workcase-note .note__img {
	margin:0 0 1em;
}
.case-single .workcase-note .note__img img {
	width: 100%;
}
.case-single .workcase-note p{
	margin:0;
}
.case-single .workcase-details .detail__img img{ 
	width:100%; 
	height:auto; 
	display:block;
}
.c-btn--contact {
	margin-top: 14px;
	text-align: center;
}
.c-btn--contact a {
	color: #ffffff;
	display: block;
	padding: 20px;
	border: 1px solid #000000;
	background-color: #000000;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.2;
	border-radius: 3px;
}
.case-footer-menu-column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.case-footer-menu-column a {
	display: grid;
	grid-template-columns: 1fr 250px;
	background: #dfdbd0;
	padding: 20px 30px;
	margin-bottom: 15px;
	text-align: left;
	text-decoration: none;
	color: #000000;
	font-weight: bold;
	font-weight: 600;
	border-radius: 4px;
	font-size: 20px;
}
.case-footer-menu-lead {
	font-size: 14px;	
}
.case-footer-menu-box span:nth-of-type(2) {
	align-self: flex-start;
	justify-self: flex-end;
}
.case-icon-home,.case-icon-koumu {
	width: 140px;
}
.note__text a {
	color: #000000;
	text-decoration: underline;
}

/* ----------------------------------------
* 設計士・工務店の方へ　pro
---------------------------------------- */
.troubles {
	margin-bottom: 50px;
}
.post-content h2.pro__title {
	margin: 0 0 30px;
	padding: 0;
	font-size: 26px;
	clear: both;
	font-weight: 600;
	font-weight: bold;
	border-left: none;
	background: transparent;
	color: #000000;
}
.troubles__list li {
	position: relative;
	padding-left: 30px;
	padding-bottom: 15px;
	list-style: none;
}

.troubles__list li::before {
	content: "";
	position: absolute;
	left: 0;
	width: 25px;
	height: 25px;
	border-radius: 5px;
	background: #dfdbd0;
}
.troubles__list li::after {
	content: "";
	position: absolute;
	left: 15px;
	top: -5px;;
	width: 7px;
	height: 18px;
	border-right: 3px solid #000000;
	border-bottom: 3px solid #000000;
	transform: rotate(30deg);
	transform-origin: left top;
}
.reasons {
	margin-bottom: 50px;
}
.reasons__wrap {
	margin-inline: auto;
}
.reason {
	background: #dfdbd0;
	border-radius: 5px;
	padding: 30px;
	margin-bottom: 20px;
}
.reason__card {
	display: grid;
	grid-template-columns: 1fr .8fr;
	gap: 150px;
}
.reason__card--title {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 1rem;
}
.post-content p.reason__num {
	margin: 0;
	font-weight: 700;
	font-size: 36px;
	line-height: 1;
}
.post-content h3.reason__heading {
	margin: 0;
	padding: 0;
	font-weight: 700;
	font-size: 20px;
	border-bottom: none;
}
.reason__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.6rem;
}
.reason__body p {
	margin: 0 0 1.2rem;
	line-height: 1.9;
	font-size: clamp(.98rem, .95rem + .3vw, 1.05rem);
	color: #1b1612;
}
.reason__cta {
	text-align: center;
	padding: 20px;
	min-width: 350px;
	background: #000000;
	color: #ffffff;
	text-decoration: none;
	border-radius: 3px;
	font-size: 20px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	display: inline-block;
}
.reason__cta span {
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
.reason__photos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	align-content: start;
}
.reason__ph {
	margin: 0;
}
.reason__desc__lead span { 
	color: #a02433; 
	font-weight: 700;
}
.reason__miniCta {
	border: 1px solid #000000;
	text-align: center;
	width: 350px;
	border-radius: 3px;
	font-size: 20px;
	font-weight: bold;
	font-weight: 700;
	line-height: 1;
	color: #ffffff;
	display: inline-block;
	padding: 20px;
	background-image: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)), url(lib/images/pro_019.webp);
	background-repeat: no-repeat;
	background-size: cover;
}
.reason__miniCta span {
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
.samples { 
	margin-top: 50px;
}
.post-content h4.samples__title {
	margin: 0 0 15px;
	font-weight: 700;
	font-size: 22px;
	padding: 0;
	border-left: none;
}
.samples__grid{
	display: grid;
	grid-template-columns: 1fr .6fr .6fr;
	gap: 30px 10px;;
}
.samples__grid__beside{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:10px;
}
.samples__grid__vertical{
	display: grid;
	grid-template-columns: 1fr;
	gap:10px;
}
.samples__grid figure{
	margin: 0;
	display:block;
}
.samples__grid figcaption{
	margin-top: 5px;
	display:block;
}
.reason__cta__w {
	text-align: center;
	padding: 20px;
	min-width: 350px;
	color: #000000;
	border: 1px solid #000000;
	text-decoration: none;
	border-radius: 3px;
	font-size: 20px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	display: inline-block;
}
.reason__cta__w span {
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
.model {
	border-radius: 5px;
	padding: 30px;
	margin-bottom: 20px;
	border: 1px solid #000000;
}
.model__hero {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
}
.model__hero .model__ph img{
	width:100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display:block;
}
.model__hero .model__ph figcaption {
	margin-top: 10px;
}


/* ----------------------------------------
* 施主支給しませんか？　sesyu-support
---------------------------------------- */
.owner-intro {
	margin-bottom: 50px;
}
.owner-cases{
	margin-bottom: 100px;
}
.support-info {
	margin-bottom: 120px;
}
.post-content h2.owner-intro__title {
	margin: 0 0 30px;
	padding: 0;
	font-size: 26px;
	clear: both;
	font-weight: 600;
	font-weight: bold;
	border-left: none;
	background: transparent;
	color: #000000;
}
.post-content h3.owner-card__title {
	margin: 0 0 15px;
	padding: 0;
	font-weight: 700;
	font-size: 20px;
	border-bottom: none;
}
.owner__card--title {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 3rem;
}
.case-photo {
	text-align: center;
	padding-bottom: 20px;
}
.attention {
	color: #831a20;
}
.post-content h4.case-subtitle {
	border-left: none;
	font-weight: bold;
	font-weight: 700;
}
.case-voice {
	background: #dfdbd0;
	border-radius: 6px;
	padding: 15px 30px;
}
.case-voice__header {
	display: flex;
	align-items: center;
	gap: 10px;
}
.case-voice__header img {
	width: 100px;
}
.case-voice__title {
	margin: 0;
	font-size: 20px;
}
.owner-intro__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
}
.owner-card {
	background-color: #dfdbd0;
	padding: 30px;
	border-radius: 6px;
}
.owner-card__container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}
.post-content ul.owner-card__list {
	margin-left: 0px;
}
.post-content ul.owner-card__list li:last-child {
	list-style: none;
	margin-left: -20px;
}
.owner-card__actions {
	display: inline-flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
}
.owner-card__actions a {
	color: #000000;
	border: 1px solid #000000;
	padding: 8px 5px;
	text-align: center;
	border-radius: 3px;
}
.owner-cases__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.case-card {
	border: 1px solid #231815;
	padding: 10px 30px;
	border-radius: 6px;
}
.owner-cases__cta {
	display: flex;
	justify-content: center;
	gap: 20px;
}
.owner-cases__cta .cta-btn-w {
	border: 1px solid #000000;
	margin-top: 60px;
	margin-bottom: 60px;
	text-align: center;
	border-radius: 3px;
	font-size: 20px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	color: #000000;
	display: block;
	padding: 20px;
	width: 400px;
}
.owner-cases__cta .cta-btn-w span {
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
.owner-cases__cta .cta-btn-b {
	border: 1px solid #000000;
	background: #000000;
	margin-top: 60px;
	margin-bottom: 60px;
	text-align: center;
	border-radius: 3px;
	font-size: 20px;
	font-weight: bold;
	font-weight: 600;
	line-height: 1;
	color: #ffffff;
	display: block;
	padding: 20px;
	width: 400px;
}
.owner-cases__cta .cta-btn-b span {
	font-size: 14px;
	font-weight: 400;
	font-weight: normal;
}
.post-content h2.store-owner__title {
	margin: 0 0 30px;
	padding: 0;
	font-size: 26px;
	clear: both;
	font-weight: 600;
	font-weight: bold;
	border-left: none;
	background: transparent;
	color: #000000;
}
.store-owner__header {
	width: 90%;
	margin: 0 auto;
}
.post-content ul.works-sets{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:15px;
	margin:0;
	padding:0;
	list-style:none;
	padding: 0px 0px 50px;
}
.works-collage__more{
	margin-bottom: 120px;
}
.store-owner__lead {
	display: grid;
	grid-template-columns: 1fr .5fr;
	width: 90%;
	margin: 0 auto 100px;
}
.store-owner__lead p {
	margin: 0;
}
.store-owner__lead .btn--ghost {
	justify-self: end;
	align-self: flex-end;
	color: #000000;
	border: 1px solid #000000;
	padding: 8px 20px;
	border-radius: 3px;
}
.post-content h3.store-owner__sub {
	margin: 0 0 15px;
	font-weight: 700;
	font-size: 20px;
	padding: 0;
	border-left: none;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border-bottom: none;
}
.works-set{
	display:grid;
	grid-template-columns:3fr 2fr;
	gap:15px;
}
.works-set a{ 
	display:block; 
	overflow:hidden;
}
.works-set figure{
	margin:0;
	height:100%; 
}
.works-set img{ 
	width:100%; 
	height:100%; 
	object-fit:cover; 
	display:block;
}
.works-set__big{ 
	grid-column:1;
	grid-row:span 2; 
} 
.works-set__rt { 
	grid-column:2;
} 
.works-set__rb { 
	grid-column:2;
}


/* ----------------------------------------
* オーダー家具ができるまで（制作フロー）　order
---------------------------------------- */
.order-flow .common-vt-description {
	width: 420px;
}
.order-flow.page-order {
	padding: 50px 0 300px;
	border-bottom: 1px solid #000000;
}
.page-order .order-flow-step {
	margin-top: 0px;
}
.order-flow-step-inner {
	margin: 0px 50px;
	padding: 0px 0px 100px;
}
.page-order .order-flow-step-completion {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 0 60px;
	width: 70%;
	margin: auto;
}
.arrow-line-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	align-self: stretch;
}
.arrow-line {
	width: 1px;
	flex: 1;
	background-color: #000000; 
}
.arrow-head {
	width: 7px;
	height: 7px;
	border-left: 1px solid #000000;
	border-bottom: 1px solid #000000;
	transform: rotate(-45deg);
	margin-top: -7px;
}
.order-flow-step-main {
	flex: 1;
}
.post-content ol.order-flow-step-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: step;
}
.post-content ol.order-flow-step-steps li {
	counter-increment: step;
	padding: 5px 16px;
	margin-bottom: 6px;
	position: relative;
	border-radius: 6px;
	border: 1px solid #231815;
}
.post-content ol.order-flow-step-steps li::before {
	content: counter(step, decimal-leading-zero);
	font-weight: bold;
	margin-right: 10px;
}
.order-flow-step-note {
	display: inline-block;
	font-size: 13px;
	color: #831a20;
	float: right;
	text-align: center;
	font-weight: bold;
	line-height: 1;
}
.order-flow-step-completed {
	background: #dfdbd0;
	padding: 5px 16px;
	margin-top: 10px;
	font-weight: bold;
	text-align: center;
	border-radius: 6px;
}
.order-step .order-flow-step-completed{
	font-size: 20px;
	padding: 15px 16px;
}
.order-flow-step-labels {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	margin-bottom: 60px;
}

.order-flow-step-label {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	background-color: #aca488;
	padding: 8px;
	font-weight: bold;
	text-align: center;
	border-radius: 3px;
	color: #ffffff;
}
.order-flow-step-label.produce {
	align-self: flex-end;
	height: 168px;
}
.order-flow-step-label.discuss {
	align-self: stretch;
}
.post-content h2.order__heading {
	margin: 0;
	padding: 0;
	font-size: 20px;
	clear: both;
	font-weight: 700;
	font-weight: bold;
	border-left: none;
	background: transparent;
	color: #000000;
}
.order-step {
	margin-bottom: 20px;
}
.order-step__wrap {
	border: 1px solid #000000;
	padding: 20px 30px 30px;
	border-radius: 6px;
}
.order-step__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
	margin-bottom: 30px;
}
.order-step__gallery {
	display: flex;
	gap: 5px;	
}
.order-price {
	border: 1px solid #831a20;
	padding: 30px;
	border-radius: 6px;
	color: #831a20;
}
.post-content p.order-price__title,.post-content ul.order-price__list {
	margin-bottom: 0;
}
.order-check {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 50px;
	padding: 30px;
	background: #dfdbd0;
	border-radius: 6px;
}
.order-check__badge {
	width: 150px;
}
.order-step__body p:not(.order-step__lead) {
	margin-bottom: 0;
}
.post-content ul.order-step__list {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.order-step-3-note {
	font-size: 14px;
}
.order-step__grid--step5 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	width: 90%;
	margin: auto;
	margin-bottom: 50px;
}
.order-step__col {
	display: flex;
	gap: 30px;

}
.post-content h3.order-step__subtitle {
	margin: 0 0 10px;
	padding: 0;
	font-weight: 700;
	font-size: 20px;
	border-bottom: none;
}
.post-content ul.order-step__bullets {
	margin: 0;
}
.order-step__content--step6 {
	display: grid;
	grid-template-columns: 1fr .7fr;
	gap: 100px;
	margin-bottom: 30px;
}
.order-step__gallery--step6 .order-photo:nth-of-type(1) {
	grid-column: 2;
}
.order-step__gallery--step6 .order-photo:nth-of-type(2) {
	grid-column: 3;
}
.post-content p.order-check__note {
	margin-bottom: 0em;
}
.order__heading span,.order-check__body span {
	color: #831a20;
}
.shipping-fee {
	border: 1px solid #831a20;
	padding: 15px 30px;
	border-radius: 6px;
	color: #831a20;
	display: inline-block;
}


/* ----------------------------------------
* 中古木工機械販売中　machine
---------------------------------------- */
.post-content h2.machine__title {
	margin: 0 0 30px 0;
	padding: 0;
	font-size: 26px;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	font-weight: bold;
}
.machine__heading {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 50px;
}
.machine__lead {
	margin-bottom: 0;
}
.machine__cta {
	justify-self: flex-end;
}
.machine__cta a {
	color: #ffffff;
	text-decoration: none;
	background-color: #000000;
	font-size: 14px;
	padding: 10px 30px;
	display: inline-block;
	border-radius: 3px;
}
.repair__cta a{
	border-radius: 3px;
}
.machine__cta a:hover {
	text-decoration: none;
}
.machines {
	padding: 0 0 150px;
}
.post-content ul.machines__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	list-style: none;
	padding: 0;
	contain: content;
}
.machines__card {
	border: 1px solid #231815;
	border-radius: 6px;
	display: grid;
	grid-template-rows: auto 1fr;
	padding: 20px;
	min-height: 100%;
}
.post-content h3.machines__card__title {
	font-weight: 700;
	font-weight: bold;
	font-size: 20px;
	margin: 0 0 20px;
	border-bottom: none;
	padding: 0;
}
.machines__card__figure {
	margin: 0;
	border-radius: 6px;
	overflow: clip;
}
.machines__card__figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.post-content h2.repair__title {
	margin: 0 0 20px;
	padding: 0;
	font-size: 26px;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.2;
}
.repair {
	margin-top: 60px;
	padding: 0 0 150px;
}
.repair__content {
	display: grid;
	grid-template-columns: 1fr .7fr;
	gap: 50px;
	background-color: #dfdbd0;
	border-radius: 6px;
	padding: 60px 80px;
}
.btn-mail {
	display: inline-block;
	padding: 10px 30px;
	background: #000000;
	color: #ffffff;
	text-decoration: none;
	font-size: 14px;
}
.repair__media {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}
.repair__shot {
}
.repair__shot--sub img {
	transform: translateY(-120px);
}


/* ----------------------------------------
* 丸萬だからできること　strength
---------------------------------------- */
.strength {
	margin: 0 0 100px;
}
.strength__title { 
	margin: 0 0 clamp(16px, 3vw, 28px); 
	font-size: clamp(22px, 2.8vw, 30px); 
	line-height: 1.5;
}
.strength__panel {
	padding: 40px 80px;
	margin-top: 70px;
	border-radius: 6px;
	background: #dfdbd0;
}
.post-content ul.strength__grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
	margin-top: -110px;
}
.strength-card{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	text-align: left;
	margin-bottom: 40px;
}
.strength-card__media{
}
.strength-card__media img{
	display:block; 
	width:100%; 
	height:auto; 
}
.strength-card__body{ 
	align-self: flex-end;
}
.post-content p.strength-card__num{
	font-weight: 700;
	margin: 0 0 10px;
	font-size: 24px;
}
.post-content h3.strength-card__title{
	font-size: 20px;
	margin: 0;
	border-bottom: none;
	padding: 0;
	line-height: 1.2;
}
.post-content p.strength-card__cta {
	margin-bottom: 0;
}
.strength-button{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 15px 30px;
	border-radius: 3px;
	background:#000000;
	color:#ffffff;
	text-decoration:none;
	font-size: 14px;
	line-height:1;
	width: 100%;
}
.strength-button img {
	width: 15px;
	height: auto;
}
.purpose {
	margin: 0 0 100px;
}
.purpose__wrap { 
	width: min(1200px, 92%); 
	margin-inline: auto; 
}
.post-content h3.purpose__title {
	font-size: 20px;
	margin: 0 0 50px;
	border-bottom: none;
	padding: 0;
	line-height: 1.2;
	font-weight: bold;
}
.post-content ul.purpose__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
	width: min(1200px, 70%);
	margin-inline: auto;
}
.post-content ul.purpose__grid li {
	display: grid;
	align-items: stretch;
}
.purpose-link {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 10px;
	padding: 15px 20px;
	border: 1px solid #231815;
	border-radius: 3px;
	text-decoration: none;
	color: #000000;
	justify-content: center;
	text-align: center;
}
.purpose-link__text {
	font-weight: 700;
	font-weight: bold;
	font-size: 16px;
}
.purpose-detail{
	margin: 0 0 100px;
}
.pd__wrap{
	width:min(1200px,92%);
	margin-inline:auto;
}
.pd__header{
	padding-bottom: 10px;
	margin-bottom:40px;
	border-bottom: 1px solid #231815;
	width: 100svw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 120px;
}
.pd__header__inner {
	display:flex;
	align-items:center;
	gap:16px;
	margin-bottom:12px;
	width:min(1200px,92%);
	margin-inline:auto;
}
.post-content h2.pd__title {
	margin: 0;
	padding: 0;
	font-size: 26px;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	font-weight: bold;
	font-weight: 700;
	line-height: 1.2;
}
.pd__chip{
	background:#dfdbd0;
	border:1px solid #dfdbd0;
	border-radius:6px;
	padding: 10px 15px;
	font-size:14px;
	line-height:1;
	white-space:nowrap;
	font-weight: bold;
	font-weight: 700;
}
.pd__grid{
	display:grid;
	grid-template-columns: .6fr 1fr;
	gap:30px;
	align-items:start
}
.pd__grid small {
	display: block;
	font-weight: 500;
}
.pd__media{
	margin:0;
	display: grid;
	gap: 10px;
}
.pd__media img{
	display:block;
	width:100%;
	height:auto;
	object-fit:cover
}
.pd__panel{
	position:relative;
	z-index:0;
	background:#dfdbd0;
	border:1px solid #dfdbd0;
	border-radius:6px;
	padding: 50px;
}
.post-content .pd__panel dl {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 20px;
	margin-bottom: 0;
}
.post-content .pd__panel dt {
	font-weight: bold;
	font-weight:700;
}
.post-content .pd__panel dd {
	margin-left: 0;
	font-weight: bold;
	font-weight:700;
}
.pd__spec p,.pd__price p{
	margin: 0 0 .2em;
}
.post-content hr.pd__divider {
	border: none;
	border-top: 1px solid #231815;
}
.pd__price-row{
	display:flex;
	align-items:flex-end;
	margin: 0 0 1em;
	line-height: 1;
	gap: 10px;
}
.pd__price-label{
	font-size: 18px;
}
.pd__price-amt{
	display: inline-flex;
	align-items: flex-end;
	gap: 5px;
}
.pd__price-amt b{
	font-size:30px;
}
.pd__price-amt small{
	font-size:14px;
}
.pd__price-row--em b{
	font-size:30px;
}
.post-content ul.pd__notes{
	margin:0 0 1em;
	padding-left:0;
	font-size: 14px;
	font-weight: normal;
	font-weight: 400;
}
.post-content ul.pd__notes li{
	list-style: none;
	font-weight: 500;
}
.post-content p.pd__caution{
	font-size:12px;
	margin:0 0 1em;
	font-weight: normal;
	font-weight: 400;
}
.pd__use-text{
	margin:0;
	font-weight: bold;
	font-weight:700
}
.post-content p.pd__cta{
	margin-bottom: 0;
}
.pd__button{
	display:inline-block;
	width:60%;
	text-align:center;
	padding:10px 30px;
	border-radius:6px;
	background:#000000;
	color:#fff;
	text-decoration:none;
	font-weight:700
}
.pd-va{ 
	margin: 0 0 100px;
}
.post-content h3.pd-va__title {
	font-size: 20px;
	margin: 0 0 20px;
	border-bottom: none;
	padding: 0;
	line-height: 1.2;

}
.post-content ul.pd-va__grid{
	display:grid; 
	grid-template-columns:repeat(5, 1fr);
	gap: 15px;
	list-style:none;
	padding:0;
	margin: 0;
}
.pd-va__card{
	height:100%;
	border:1px solid #231815;
	border-radius:6px;
	padding: 20px;
	display:grid;
	gap:15px;
	grid-template-rows: auto 1fr;
}
.post-content h4.pd-va__head{
	font-size: 18px;
	margin: 0;
	border-bottom: none;
	padding: 0;
	line-height: 1.2;
	font-weight: bold;
	font-weight:700;
	border-left: none;
}
.post-content p.pd-va__desc{ 
	margin-bottom:0;  
	font-size: 14px;
}
.pd-results{ 
	margin: 0 0 100px;
}
.post-content h3.pd-results__title {
	font-size: 20px;
	margin: 0 0 20px;
	border-bottom: none;
	padding: 0;
	line-height: 1.2;
}
.post-content ul.pd-results__grid{
	list-style:none; 
	margin:0; 
	padding:0;
	display:grid; 
	grid-template-columns: 1fr 1fr 1fr .5fr;
	gap: 20px;
}
.post-content ul.pd-results__grid__2{
	list-style:none; 
	margin:0; 
	padding:0;
	display:grid; 
	grid-template-columns: 1fr 1fr .5fr .5fr .5fr;
	gap: 20px;
}
.post-content ul.pd-results__grid__3{
	list-style:none; 
	margin: 30px 0 0; 
	padding: 0;
	display: grid; 
	grid-template-columns: 1fr 1fr .5fr 1fr 1fr;
	gap: 20px;
}
.pd-results__figure{
	margin:0; 
	display:grid; 
	gap:8px;
}
.pd-results__figure img{
	display:block; 
	width:100%; 
	height: 220px;
	object-fit: cover;
}
.pd-results__cap{
	font-size: 14px;
}
.pd-running {
	margin: 0 0 100px;
}
.pd-running__panel{
	padding: 25px;
	border: 1px solid #231815;
	border-radius: 6px;
}

.pd-running__panel > div{
	display:grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 30px;
}
.pd-running__left {
	display: grid;
}
.post-content h2.pd-running__title {
	margin: 0;
	padding: 0;
	font-size: 22px;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	line-height: 1.5;
	font-weight: bold;
}
.post-content p.pd-running__cta {
	margin-bottom: 0;
	align-self: flex-end;
}
.pd-button{
	display:inline-block; 
	padding: 12px 22px;
	border-radius: 3px; 
	background:#000000;
	color:#ffffff;
	text-decoration:none; 
	width: 350px;
	text-align: center;
}
.post-content ul.pd-running__list{
	columns: 2;
	column-gap: 30px;
	list-style:none; 
	margin:0; 
	padding:0;
	font-weight:700;
	font-weight:bold;
}
.pd-running__list li{
	break-inside: avoid;
	margin: 0 0 .5em;
	font-size: 18px;
}
/* ----------------------------------------
* お問い合わせ完了
---------------------------------------- */
.thanks__description{
	gap: 15px;
	grid-template-columns: 1fr 2fr;
	display: grid;
}
.post-content h2.thanks__title{
	margin: 0 0 15px;
	padding: 0;
	font-size: 28px;
	font-weight: bold;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	line-height: 1.3;
}
.thanks__inner{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin: 48px auto;
}
.thanks__box{
	border-radius: 6px;
	padding: 30px 30px 0;
	background: #DFDBD0;
}
.post-content h3.thanks__title{
	margin: 0;
	border: 0;
	padding: 0 0 20px;
}
/* ----------------------------------------
* 404
---------------------------------------- */
.post-content h2.notfound__title{
	margin: 0 0 30px;
	padding: 0;
	font-size: 28px;
	font-weight: bold;
	clear: both;
	border-left: none;
	background: transparent;
	color: #000000;
	line-height: 1.3;
}
.post-content .menu-notfound{
	margin: 0px 0 120px;
	padding: 30px;
	border: 1px #000 solid;
	border-radius: 6px;
}

.post-content .menu-notfound ul{
	margin: 0;
	display: grid;
	gap: 15px 40px;
	grid-template-columns: 1fr 1fr 1fr;
}
.menu-notfound a{
	color: #000;
	font-weight: 500;
	margin: 0 0 5px;
	display: block;
}
.post-content h3.notfound-list-title{
	font-weight: bold;
	border-bottom: none;
	margin: 48px 0 0;
}


/* ----------------------------------------
* レスポンシブ
* ~ / 1300px / 991px / 767px
* desctop / laptop / tablet / phone
---------------------------------------- */
@media screen and (max-width: 1400px) {
	/* laptop */
	.one-column #content .wrap,.home .wrap,.wrap {
		width: 94%;
		margin: 0 3%;
	}
	.post-content{
		padding: 30px 10px 10px;
	}
	#sec-access{
		padding: 50px;
	}
	/* laptop end */
}
@media screen and (max-width: 1360px) {
	.search-condition-center, .search-condition-right{
	    width: 35%;
	}
	.search-condition-left{
		width: 25%;
	}
	#filterFormTop{
		gap: 12px 15px;
	}
	#hamburger-menu #species-other{
		gap: 3px;
	}
	.choice-count{
		margin-left: 20px;
	}
}
@media screen and (max-width: 1299px) {
	/* laptop */
	/* ----------------------------------------
	* 制作フロー
	---------------------------------------- */
	.page-order .order-flow-step-completion{
		width: 90%;
	}
	/* ----------------------------------------
	* 特商
	---------------------------------------- */
	.policy-body-grid {
		grid-template-columns: 1fr;
	}
	/* ----------------------------------------
	* お問い合わせ
	---------------------------------------- */
	.contact-info-card{
		width: 90%;
	}
	.wpcf7{
	    width: 70%;
	}
	/* ----------------------------------------
	* 丸萬だからできること
	---------------------------------------- */
	.strength__panel{
	    padding: 40px 30px;
	}
	/* ----------------------------------------
	* アクセス
	---------------------------------------- */
	.company-hero{
		grid-template-columns: 1.9fr .9fr;
	}
	.company-shot.company-back, .company-shot.company-front{
		width: 100%;
	}
	/* laptop end */
}
@media screen and (max-width: 1024px) {
	#menuTogglemain{
		margin: 0;
	}
	/*	#header #logo {
	width: 50%;
}*/
	.main-header{
		margin: 50px auto 50px;
	}
	/* ----------------------------------------
	* 問い合わせ
	---------------------------------------- */
	.contact-info-card{
		gap: 10px;
		width: 100%;
	}
	.common-btn-tb a{
		padding: 20px 5px;
		font-size: 16px;
	}
	.common-btn-tb span{
		font-size: 12px;
	}
	.wpcf7{
		width: 80%;
	}
	/* ----------------------------------------
	* 制作フロー
	---------------------------------------- */
	.page-order .order-flow-step-completion{
		padding: 0px;
	}
	/* ----------------------------------------
	* 会社概要・アクセス
	---------------------------------------- */
	#sec-access{
		padding: 30px;
	}
	.company-hero{
		grid-template-columns: 1fr;
	}
	.company-media{
		width: 60%;
		margin: 40px auto 0;
	}
	.footer-copy{
		padding-right: 35px;
	}
	.company-shot.company-back, .company-shot.company-front{
		width: 75%;
	}
	.company-shot.company-front{
		transform: translate(0%, -8%);
	}
	/* ----------------------------------------
	* 丸萬だからできること
	---------------------------------------- */
	.strength__panel{
		padding: 20px 25px;
		margin-top: 150px;
	}
	.post-content ul.strength__grid{
		gap: 10px;
	}
	.strength-card{
		grid-template-columns: 1fr;
	}
	.strength-button{
		padding: 15px 10px;
	}
	.strength-card__media{
		margin: 0 auto;
		width: 80%;
	}
	.post-content ul.purpose__grid{
		width: min(1200px, 90%);
	}
	.pd__panel{
		padding: 30px;
	}
	.pd-running__panel > div{

	}
	.pd__price-row{
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}
	/* ----------------------------------------
	* 制作事例詳細
	---------------------------------------- */
	.case-footer-menu-column a{
		grid-template-columns: 1fr;
	}
	.c-btn--contact a{
		font-size: 16px;
	}
	/* ----------------------------------------
	* 一枚板詳細
	---------------------------------------- */
	.product-info-table .info-rows .row{
		grid-template-columns: 6em 1fr;
	}
	.legs-row{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.product-info-card .finish-legs a{
		font-size: 16px;
	}
	/* ----------------------------------------
	* 施主支給しませんか？
	---------------------------------------- */
	.owner-intro__inner {
		gap: 30px;
	}
	/* ----------------------------------------
	* 中古機械
	---------------------------------------- */
	.repair__content{
		padding: 30px;
	}
	.repair {
		margin-top: 0;
		padding: 0 0 120px;
	}
	/* ----------------------------------------
	* お問い合わせ完了
	---------------------------------------- */
	.thanks__description{
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (max-width: 991px) {
	/* tablet */

	/* ----------------------------------------
	* TOPページ以外のコンテンツ余白
	---------------------------------------- */
	article.page .post-content {
		padding: 0;
	}
	.common-vt-inner {
		margin: 0px 20px;
	}
	.common-vt-blk{
		width: 60%;
		padding-right: 10px;
	}
	/* ----------------------------------------
	* ヘッダーメニュー
	---------------------------------------- */
	#header-fnav-area {
		display: block;
	}
	#header {
		padding: 20px 0px 0px;
	}
	#header #fv-wrapper .header-wrap {
		gap: 30px;
	}
	#header #logo img {
		min-width: 150px;
		max-width: 150px;
	}
	#header-contact-nav {
		flex-direction: column-reverse;
		gap: 0px;
		grid-template-columns: 1fr;
	}
	#header-contact-nav address {
		border-right: none;
		padding: 0;
		order: 2;
	}
	#header-contact-nav .contact-label {
		display: none;
	}
	#header-contact-nav .contact-email {
		font-size: 12px;
		pointer-events: none;
		cursor: default;
	}
	#header-contact-nav .btn {
		line-height: 20px;
	}
	#header-contact-nav .tel.btn {
		font-size: 18px;
	}
	#header-contact-nav .fax {
		font-size: 18px;
	}
	#header-contact-nav .address-text {
		font-size: 10px;
	}
	#header-contact-nav .btn.mailform::before,#header-contact-nav .btn.tel::before{
		width: 25px;
		height: 23px;
	}
	#header-contact-nav .fax::before{
		width: 20px;
		left: 13px;
	}
	.mode-b #header-contact-nav .btn.mailform::before{
		background-size: 23px;
	}
	.mode-b #header-contact-nav .btn.tel::before{
		background-size: 20px;
	}
	.mode-b #header-contact-nav .fax::before{
		background-size: 22px;
	}
	#vertical-nav .vertical-menu {
		display: none;
	}
	.right-vertical-column {
		width: 50%;
		margin-left: auto;
		padding: 5px 0px;
	}

	/* ハンバーガーボタンクリックで出現するメニュー */
	.menu-toggle span {
		margin: 5px 0;
		height: 2px;
	}
	.menu-toggle.active span:nth-child(1) {
		transform: rotate(10deg) translate(5px, 3px);
	}
	.menu-toggle.active span:nth-child(2) {
		transform: rotate(-10deg) translate(5px, -3px);
	}
	#hamburger-menu .filter-menu-left > img {
		display: none;
	}
	#hamburger-menu .filter-menu-left h2 {
		visibility: hidden;
		width: 0;
		height: 0;
	}
	#hamburger-menu #filterToggleBtn {
		width: auto;
		padding: 8px 15px;
		border-radius: 3px;
	}
	.menu-container {
		grid-template-columns: 350px 1fr;
		padding: 10px 15px 10px 15px;
	}
	#menuTogglemain{
		width: 87px;
	}
	#menuTogglemain span{
		height: 2px;
	}
	/* 検索メニュー */
	#filterForm,#filterFormTop {
		gap: 10px;
	}
	.search-condition-left {
		width: 100%;
	}
	.search-condition-center, .search-condition-right {
		width: 45%;
	}
	form .input-group input {
		width: 30%;
	}
	#hamburger-menu #filterFormTitle-head-menu {
		margin-top: 15px;
	}
	#hamburger-menu .menu-form h3 {
		font-size: 18px;
	}
	#hamburger-menu .chip-list label {
		padding: 0.1em 1em;
	}
	.search-result-inner {
		grid-template-columns: 1fr 1fr 1fr;
	}
	/* 追従メニュー */
	#menuToggleFloating{
		width: 87px;
	}
	#menuToggleFloating span{
		height: 2px;
		margin: 5px 0;
	}
	.floating-filter__inner{
		padding: 15px;
	}
	/* ----------------------------------------
	* フッター
	---------------------------------------- */
	#footer .footer-company-name{
		margin: 45px 0 20px;
	}

	/* ----------------------------------------
	* TOPページ以外のヘッダー
	---------------------------------------- */
	.mode-b #header-contact-nav address {
		border-right: none;
		padding: 0;
		order: 2;
	}
	.mode-b #header-contact-nav .btn {
		line-height: 20px;
	}
	/*	#header #logo {
	width: 68%;
}*/
	.head-main-title .main-title{
		font-size: 28px;
	}
	/* ----------------------------------------
	* 制作事例 詳細　case/制作・施工事例名
	---------------------------------------- */
	.works .common-vt-blk{
		width: 100%;
	}
	.works-grid{
		grid-auto-rows: auto;
	}

	/* ----------------------------------------
	* 問い合わせ
	---------------------------------------- */
	.wpcf7 {
		width: 88%;
		margin: 0 auto;
	}
	.wpcf7 #confirm-form input[type="submit"] {
		padding: 15px 10px;
	}
	.case-voice{
		margin-bottom: 30px;
	}

	/* ----------------------------------------
	* 施主支給しませんか？　sesyu-support
	---------------------------------------- */
	.owner-intro__inner{
		grid-template-columns: 1fr;
		gap: 20px;
	}
	/* ----------------------------------------
	* 設計士・工務店の方へ　pro
	---------------------------------------- */
	.reason__card{
		gap: 30px;
	}
	/* ----------------------------------------
	* オーダー家具ができるまで（制作フロー）　order
	---------------------------------------- */
	.order-step__content{
		gap: 30px;
	}
	.order-step__col{
		gap: 10px;
		grid-template-columns: .7fr 1fr;
		display: grid;
	}
	.order-step__grid--step5{
		gap: 20px;
		width: 100%;
	}
	.order-step__content--step6{
		gap: 30px;
	}
	.owner__card--title{
		margin-bottom: 2rem;
	}
	/* ----------------------------------------
	* 丸萬だからできること
	---------------------------------------- */
	.post-content ul.pd-va__grid{
		grid-template-columns: repeat(2, 1fr);
	}
	.pd__button{
		width: 100%;
	}
	/* ----------------------------------------
	* 制作事例詳細
	---------------------------------------- */
	.case-footer-menu-title{
		line-height: 1.2;
	}
	.case-footer-menu-lead br{
		display: none;
	}
	.case-footer-menu-column a{
		padding: 20px;
		gap: 10px;
	}
	.case-single .workcase-info-table{
		padding: 15px 15px 30px;
	}

	/* ----------------------------------------
	* 一枚板詳細
	---------------------------------------- */
	.product-info-table .info-rows .row{
		grid-template-columns: 5em 1fr;
	}
	.product-info-table{
		padding: 15px;
	}
	.finish-content{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.product-info-table .btn-cta{
		font-size: 16px;
	}

	/* ----------------------------------------
	* PP/SP/特商
	---------------------------------------- */
	.policy-list > li{
		grid-template-columns: 250px 1fr;
		gap: 10px;
	}
	/* ----------------------------------------
	* 404
	---------------------------------------- */
	.post-content .menu-notfound ul{
		grid-template-columns: 1fr 1fr;
	}
	/* ----------------------------------------
	*  よくある質問
	---------------------------------------- */
	.faqs-a-links{
		gap: 20px;
		flex-direction: column;
	}
	.faqs-a-body{
		flex: 3;
	}
	.faqs-a{
		padding: 20px 0 20px 45px;
	}
	.faqs-a-tel{
		font-size: 32px;
	}
	/* tablet end */
}
@media screen and (min-width: 768px) and (max-width: 820px) {
	.tag-list {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.footer-contact {
		width: 400px;
	}
	#footer .footer-menu-left {
		margin-top: 0px;
	}
}
@media screen and (max-width: 767px) {
	/* phone */

	/* ----------------------------------------
	* 共通設定
	---------------------------------------- */
	.one-column #content .wrap, .home .wrap, .wrap {
		width: 94%;
		margin: 0 3%;
	}
	.pc-show {
		display: none !important;
	}
	.sp-show {
		display: block !important;
	}
	.sp-br {
		display: block;
	}
	.common-view-more {
		border-radius: 3px;
	}
	.common-view-more-b {
		border-radius: 3px;
	}
	.common-vt-inner {
		margin: 0px;
	}
	.common-vt-body {
		display: block;
	}
	.common-vt-blk {
		padding: 0 3%;
		margin-bottom: 20px;
		width: 100%;
	}
	.common-vt {
		margin: 0;
		padding-right: 20px;
		font-size: 30px;
	}
	.common-vt-description {
		margin: 0;
		padding-left: 20px;
	}
	.common-vt-img-blk {
		margin-top: 30px;
		width: 200px;
		margin-left: auto;
	}
	.common-btn-tb {
		font-size: 16px;
		border-radius: 4px;
		margin-top: 0;
	}
	.common-btn-tb a {
		padding: 15px;
	}
	.common-btn-tb-2 a{
		padding: 15px 20px;
	}
	.common-btn-tb span span {
		font-size: 12px;
	}
	.common-btn-tb-2 {
		font-size: 16px;
		border-radius: 4px;
	}
	.common-btn-tb-2 span span {
		font-size: 12px;
	}
	.unique-values .common-vt-img-blk {
		width: 90%;
	}
	.order-flow .common-vt-img-blk {
		width: 250px;
	}
	/*	#header #logo {
	width: 48%;
}*/
	/* ハンバーガーボタンクリックで出現するメニュー */
	.menu-overlay {
		width: auto;
		margin: 3%;
		height: 97vh;
		overflow-y: scroll;
	}
	#hamburger-menu .menu-right-sns-link{
		right: 15px;
	}
	#hamburger-menu .filter-menu {
		gap: 0px;
		align-items: flex-start;
	}
	#hamburger-menu .filter-menu-left{
		margin-top: 5px;
		align-items: flex-start;
	}
	.menu-container {
		padding: 10px 5px;
		height: auto;
		display: flex;
		flex-direction: column;
	}
	.menu-column {
		flex: auto;
		flex-grow: unset;
	}
	/* メニュー上 */
	#hamburger-menu .menu-top {
		grid-column: auto;
		height: 42px;
	}

	/* メニュー左 */
	#hamburger-menu .menu-left {
		order: 2;
		gap: 15px;
		padding: 0 20px;
	}
	#hamburger-menu p.menu-left-title {
		font-size: 20px;
	}
	#hamburger-menu .menu-left-descript {
		font-size: 14px;
	}
	#hamburger-menu .menu-left-email {
		gap: 15px;
		font-size: 14px;
	}
	#hamburger-menu .icon-email,#hamburger-menu .icon-phone {
		width: 30px;
	}
	#hamburger-menu .menu-left-phone {
		font-size: 30px;
	}
	#hamburger-menu .business-hours {
		font-size: 14px;		
	}
	/* メニュー中央 */
	#hamburger-menu .menu-center {
		order: 3;
		padding: 0 20px;
	}
	#hamburger-menu .menu-box {
		padding: 10px;
		font-size: 12px;
		border-radius: 3px;
	}
	#hamburger-menu .icon-home, #hamburger-menu .icon-koumu {
		width: 70px;
	}
	/* メニュー右 */
	#hamburger-menu .menu-right {
		order: 1;
		padding: 0 20px;
		align-self: center;
		padding-bottom: 60px;
	}
	/*#hamburger-menu .menu-right-vertical li {
	padding: 0 8px;
}*/
	#hamburger-menu .menu-right-vertical a {
		font-size: 16px;
	}
	#hamburger-menu .menu-right-sns-link img {
		width: 40px;
	}

	/* ----------------------------------------
	* フローティングメニュー　スクロールで出現
	---------------------------------------- */
	#menuToggleFloating{
		width: 87px;
	}
	#menuToggleFloating span{
		height: 2px;
		margin: 5px 0;
	}
	/* ----------------------------------------
	* TOPページ以外ヘッダー背景画像
	---------------------------------------- */
	#header .header-wrap .product::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/list_003.webp');
	}
	#header .header-wrap .contact::before ,#header .header-wrap .confirm::before,#header .header-wrap .thanks::before{
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/list_004.webp');
	}
	#header .header-wrap .about::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/company_004.webp');
	}
	#header .header-wrap .privacy-policy::before,#header .header-wrap .site-policy::before ,#header .header-wrap .not-found::before{
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/privacy-policy_002.webp');
	}
	#header .header-wrap .tokushoho::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/specified-commercial-transactions_002.webp');
	}
	#header .header-wrap .works::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/workcase_002.webp');
	}
	#header .header-wrap .pro::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/pro_018.webp');
	}
	#header .header-wrap .sesyu-support::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/pro_018.webp');
	}
	#header .header-wrap .order::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/order_004.webp');
	}
	#header .header-wrap .machine::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/machine_019.webp');
	}
	#header .header-wrap .strength::before {
		background-image:
			linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
			url('lib/images/strength_019.webp');
	}

	/* ----------------------------------------
	* トップへボタン
	---------------------------------------- */
	.pagetop {
		bottom: 8px;
		right: 8px;
	}
	.pagetop span {
		width: 45px;
		height: 45px;
		font-size: 28px;
	}
	.footer-copy{
		padding-right: 0;
	}

	/* ----------------------------------------
	* 検索結果・検索条件
	---------------------------------------- */
	#filterForm, #filterFormTop{
		padding: 0 3%;
		gap: 15px;
	}
	.search-result {
		padding: 50px 0 30px;
	}
	#filterFormTop {
		flex-direction: column;
		gap: 10px 0px;
	}
	.form-container {
		padding: 5% 2%;
		gap: 20px 0px;
	}
	.form-container .filter-menu {
		gap: 10px;
		display: inline-flex;
		padding: 0;
	}
	.form-container .filter-menu > img {
		width: 20px;
	}
	.form-container .filter-menu > h2 {
		font-size: 18px;
	}
	.search-condition-left, .search-condition-center, .search-condition-right {
		width: 100%;
	}
	.form-container #filterFormTitleTop {
		margin-top: 0;
		font-size: 18px;
	}
	.chip-list label, #hamburger-menu .chip-list label {
		padding: 0.1em 0.5em;
		margin: 0.2em 0.1em;
	}
	.form-container .menu-form h3 {
		font-size: 18px;		
	}
	.form-row {
		gap: 10px;
		margin-bottom: 0px;
	}
	.form-label, .form-row h3 {
		font-size: 16px;
		width: 60px;
		margin: 10px 0;
	}
	form .input-group input {
		width: 30%;
		padding: 8px 6px;
		font-size: 14px;
	}
	.shape-options label {
		font-size: 13px;
		border-radius: 3px;
	}
	#search-count{
		font-size: 34px;
	}
	#search-count-unit{
		font-size: 14px;
	}
	#total-count{
		font-size: 20px;
	}
	.search-submit {
		gap: 10px;
		border-radius: 3px;
		font-size: 14px;
	}
	.search-submit img {
		width: 20px;
	}
	.show-all, .in-stock {
		padding: 5px 15px;
	}
	.search-result-inner {
		gap: 5px;
		padding: 20px 0px 50px;
		grid-template-columns: 1fr 1fr;
	}
	.product-related-color h2{
		font-size: 18px;
	}
	.search-title-blk {
		margin-bottom: 30px;
		padding: 0 3%;
	}
	.search-title {
		margin: 0;
		padding-right: 20px;
		font-size: 30px;
	}
	.search-title-description {
		padding-left: 20px;
	}
	.search-items{
		padding: 8px;
	}
	.search-items .item-contents {
		display: block;
	}
	.search-items .item-detail-l {
		min-height: 85px;
	}
	.search-items .item-price span{
		font-size: 12px;
	}
	.search-items .item-title {
		padding: 0;
		margin: 0;
	}
	.search-items .item-price-ask,.search-items .item-price {
		padding: 0 0 10px;
		font-size: 18px;
	}
	.search-items .item-soldout,.search-items .item-pending,.search-items .show-item-detail {
		border-radius: 3px;
	}
	.search-items .item-length, .search-items .item-width, .search-items .item-thickness {
		padding-right: 3px;
		display: inline-block;
		line-height: 1.5;
		font-size: 11px;
	}
	.search-items .item-length span, .search-items .item-width span, .search-items .item-thickness span {
		font-size: 15px;
		display: inline-block;
		padding: 0 1px;
	}
	.search-items .item-detail-r {
		flex-direction: row;
	}
	.species-modal__chips {
		overflow-y: scroll;
		height: 70vh;
		order: 3;
	}

	/* ----------------------------------------
	* フッター
	---------------------------------------- */
	#footer h3.footer-head-menu-title{
		padding: 15px 15px 20px;
		font-size: 18px;
	}
	#footer {
		padding-top: 90px;
	}
	#footer .footer-01 .wrap {
		transform: translateY(-70px);
		padding: 0;
	}
	#footer-head-menu {
		flex-direction: column;
		width: 88%;
		margin: 0 auto;
	}
	.footer-head-menu-title {
		padding: 10px 20px 20px;
		font-size: 16px;
	}
	.footer-head-menu-title img {
		width: 25px;
	}
	.footer-head-menu-link {
		padding: 10px 20px;
	}
	#footer-menu-area {
		padding: 20px 20px 100px;
		gap: 80px;
	}
	.footer-contact {
		width: auto;
	}
	#footer .footer-menu-left {
		gap: 15px;
	}
	#footer .footer-menu-left-descript {
		font-size: 12px;
	}
	#footer .footer-menu-left-email {
		gap: 15px;
		font-size: 14px;
	}
	#footer .footer-menu-left-phone {
		font-size: 30px;
	}
	#footer .icon-email {
		width: 30px;
	}
	#footer .icon-phone {
		width: 30px;
	}
	#footer .footer-reception-hours {
		font-size: 14px;
	}
	#footer .footer-menu-left-title {
		font-size: 20px;
	}
	#footer .footer-menu-box {
		padding: 10px;
		font-size: 12px;
		border-radius: 3px;
	}
	#footer .icon-home, #footer .icon-koumu {
		width: 70px;
	}
	#footer .footer-menu-right-vertical a {
		font-size: 14px;
	}
	#footer-brand-area {
		padding: 20px 30px 32px;
	}
	#footer .footer-company-name img {
		width: 220px;
	}
	#footer .footer-business-hours {
		margin-bottom: 15px;
	}
	.footer-02 {
		flex-direction: column;
	}
	#footer .footer-menu-bottom ul {
		gap: 10px;
		flex-direction: column;
	}
	.footer-02-sp {
		text-align: center;
		padding: 20px 20px 100px;
	}
	#footer .footer-menu-right-sns-link img {
		width: 40px;
	}
	.floating-filter__left > img {
		display: none;
	}
	.floating-filter__left h2 {
		display: none;
	}
	.floating-filter__inner {
		padding: 10px;
	}
	#menuTogglemain {
		width: 80px;
	}
	#menuTogglemain span {
		height: 2px;
	}
	.species-modal__dialog {
		padding: 20px;
		display: grid;
	}
	.species-modal__back {
		border-radius: 3px;
		padding: 10px 20px;
		font-size: 12px;
	}
	.species-modal__footer {
		order: 2;
		margin-bottom: 12px;
	}
	.form-container .menu-form h3.species-modal__title {
		margin: 0 0 12px;
	}
	#footer .footer-company-name{
		margin: 0 0 20px;
	}

	/* ----------------------------------------
	* TOP以外のページ　ヘッダータイトル
	---------------------------------------- */
	.main-header {
		margin: 30px auto 30px;
	}
	.head-main-title-body {
		flex-direction: column;
		width: 100%;
		gap: 30px;
	}
	.head-main-title .main-title {
		font-size: 26px;
	}
	.breadcrumb {
		display: none;
	}


	/* ----------------------------------------
	* 商品詳細　item
	---------------------------------------- */
	.product-info {
		border-bottom: none;
	}
	.product-info-inner {
		flex-direction: column;
	}
	.product-info-inner > section:first-child {
		width: 100%;
	}
	.product-info-table {
		padding: 15px;
		margin-bottom: 20px;
	}
	.product-info-table .chip {
		border-radius: 3px;
	}
	.product-info-table .btn-cta {
		border-radius: 3px;
	}
	.product-info-card .finish-legs {
		border-radius: 4px;
		font-size: 16px;
	}
	.product-info-card .finish-legs a {
		padding: 23px 10px;
	}
	.product-info-inner > section:last-child {
		width: 100%;
		flex: 1;
	}
	.finish-section {
		padding: 0px 0px 10px;
	}
	.finish-inner {
		background-color: #dfdbd0;
		grid-template-columns: 1fr;
		gap: 15px;
		border-radius: 4px;
		padding: 20px 10px;
	}
	.finish-title {
		padding-right: 0px;
		font-size: 22px;
		writing-mode: unset;
		border-right: none;
	}
	.finish-content {
		grid-column: 1 / 1;
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.finish-note{
		grid-column: 1 / 1;
		font-size: 12px;
	}
	.finish-card {
		grid-template-columns: 140px 1fr;
		gap: 12px;
	}
	.legs-inner {
		background-color: #dfdbd0;
		grid-template-columns: 1fr;
		gap: 15px;
		border-radius: 4px;
		padding: 20px 10px;		
	}
	.legs-aside {
		padding-right: 0px;
	}
	.legs-title {
		padding-right: 0px;
		font-size: 22px;
		writing-mode: unset;
		border-right: none;		
	}
	.legs-main {
		gap: 20px;
	}
	.legs-row {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 0px;
		border-top: none;
	}
	.leg-card {
		grid-template-columns: 140px 1fr;
		gap: 10px;
		padding: 20px 0 10px;
		border-top: 1px solid #000000;
	}
	.leg-heading {
		font-size: 14px;
	}
	.leg-thumbs img {
		width: 68px;
	}
	.product-related-color{
		padding: 50px 0px 50px;
		margin: 0 0 30px;
	}
	/* ----------------------------------------
	*  よくある質問
	---------------------------------------- */
	.faqs {
		margin: 50px 15px 100px;
	}
	.faqs-inner {
		padding: 20px 0;
	}
	.faqs-title {
		font-size: 18px;
	}
	.faqs-list {
		padding: 0;
	}
	.faqs-q-title {
		margin-right: 15px;
	}
	.faqs-a {
		padding: 15px 0 15px 15px;
		gap: 15px;
	}
	.faqs-a-links {
		flex-direction: column;
		gap: 20px;
	}
	.faqs-a-mailform {
		gap: 15px;
		font-size: 12px;
		padding: 3px 20px;
	}
	.faqs-a-tel {
		gap: 5px;
		font-size: 28px;
	}

	/* ----------------------------------------
	* 問い合わせ　contact
	---------------------------------------- */
	.contact-info-card {
		flex-direction: column;
		gap: 8px;
		width: auto;
	}
	.head-contact-title-body-page {
		flex-direction: column;
		gap: 20px;	
	}
	.contact-header {
		margin: 60px auto 20px;
		border-bottom: 1px solid #000000;
	}
	.head-contact-title .contact-title {
		font-size: 20px;
	}
	.head-contact-title .contact-description {
		font-size: 12px;
	}
	.wpcf7 {
		width: auto;
		margin: 0 3%;
	}
	.wpcf7 label{
		grid-template-columns: 1fr;
		gap: 5px;
		margin-bottom: 10px;
	}
	.wpcf7 div {
		flex-direction: column;
		gap: 5px;
		padding-bottom: 10px;
	}
	.wpcf7 .contact-title {
		width: 100%;
		font-size: 16px;
		justify-content: flex-start;
		gap: 10px;
	}
	.wpcf7-form-control-wrap {
		width: 100%;
	}
	.wpcf7 .required {
		font-size: 10px;
		padding: 3px 15px;
	}
	.wpcf7 .date-col {
		width: 100%;
		gap: 20px;
	}
	.wpcf7 .date-col .wpcf7-form-control-wrap {
		width: 100%;
	}
	.wpcf7-form-control-wrap[data-name^="visit-date"] input[type="date"] {
		width: 100%;
	}
	.wpcf7-form-control-wrap select {
		width: 100%;
	}
	.wpcf7 .visitable {
		font-size: 14px;
	}
	.wpcf7 .zip-col {
		width: 100%;
	}
	.wpcf7 input[type="submit"] {
		width: 100%;
	}
	.post-content h2.contact-footer-title {
		margin: 100px auto 30px;
		padding: 0 3% 10px;
		font-size: 20px;
	}
	.contact-footer-address {
		flex-direction: column;
		gap: 15px;
		margin: 0 3%;
	}
	.contact-footer-address .contact-button {
		margin: 0;
	}
	.contact-footer-address .tel {
		font-size: 28px;
		padding: 10px 20px 10px 30px;
	}
	.contact-footer-address .tel::before {
		width: 30px;
		height: 30px;
	}
	.contact-footer-address .fax {
		font-size: 28px;
		padding: 10px 20px 10px 30px;
	}
	.contact-footer-address .fax::before {
		width: 30px;
		height: 30px;	
	}
	.wpcf7 div.contact-btn-grp{
		grid-template-columns: 1fr;
	}


	/* ----------------------------------------
	* 会社概要・アクセス　about
	---------------------------------------- */
	.company-grid {
		grid-template-columns: 1fr;
		padding: 0 0 100px;
		gap: 45px;
	}
	.company-media-col{
		display: flex;
	}
	.company-photo.photo-l{
		width: 46%;
		transform: translate(5%, -10%);
	}
	.company-photo.photo-r{
		transform: translate(-5%, -00%);
		width: 46%;
	}
	.company-kv {
		grid-template-columns: 40% 1fr;
	}
	.company-map-btn {
		padding: 3px 10px;
		gap: 6px;
		border-radius: 3px;
		justify-content: center;
	}
	.company-map-wrap {
		aspect-ratio: 16 / 9;
	}
	#sec-access {
		padding: 30px 20px;
	}
	.post-content .company-hero h2 {
		font-size: 22px;
	}
	.company-hero {
		grid-template-columns: 1fr;
	}
	.company-kv-mini {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.company-cta-grid {
		gap: 10px;
		grid-template-columns: 1fr;
		width: 100%;
	}
	.company-telnum {
		font-size: 1.5em;
		gap: 5px;
		grid-template-columns: 30px auto;
	}
	.company-mail-card {
		padding: 0;
		font-size: 16px;
	}
	.company-mailform {
		padding: 5px;
		gap: 5px;
		grid-template-columns: 20px auto;
	}
	.company-mailform a{
		border-radius: 3px;
	}
	.company-phone {
		padding: 0;
		font-size: 16px;
	}
	.company-phone span {
		font-size: 12px;
	}
	.company-media {
		margin-top: 50px;
		width: 100%;
	}
	.company-shot.company-back,.company-shot.company-front{
		width: 95%;
	}
	.company-shot.company-front{
		transform: translate(0%, -10%);
	}
	.company-guide {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.company-card {
		padding: 10px;
	}
	.company-gallery {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px 11px;
	}
	.company-top-navi {
		margin: 0 auto 100px;
	}


	/* ----------------------------------------
	* プライバシーポリシー　privacy-policy
	* サイトーポリシー　site-policy
	* 特定商取引法による表示　tokushoho
	---------------------------------------- */
	.policy-list > li{
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 14px 0 16px;
	}
	.policy-title{ 
		font-size:1rem;
	}
	.policy-title::before{ 
		margin-right:.35em; 
	}


	/* ----------------------------------------
	* 特定商取引法による表示（のみのスタイル）　tokushoho
	---------------------------------------- */
	.policy-body-grid {
		grid-template-columns: 1fr;
	}


	/* ----------------------------------------
	* 制作施工事例　case
	---------------------------------------- */
	.works {
		padding: 50px 0 50px;
	}
	.works-case {
		padding: 00px 0 150px;
	}
	.tag-list {
		grid-template-columns: 1fr 1fr;
		/*		flex-direction: column;
		margin: 0;*/
		padding-left: 20px;
	}
	.tag-list ul:not(:first-child) {
		padding: 0px;
	}
	.works-grid {
		grid-template-columns: repeat(10, minmax(0, 1fr));
		grid-auto-rows: 135px;
		padding: 0px 0px 50px;
	}
	.works-grid.slayer {
		padding: 0 0px 50px;
	}
	.works-grid .grid-item:nth-child(6n + 1) {
		grid-column: 1 / span 6;
		grid-row: span 2;
	}
	.works-grid .grid-item:nth-child(6n + 4),
	.works-grid .grid-item:nth-child(6n + 5) {
		grid-column: 1 / span 4;
		grid-row: auto;
	}
	.works-grid .grid-item:nth-child(6n + 2),
	.works-grid .grid-item:nth-child(6n + 3) {
		grid-column: 7 / span 4;
		grid-row: auto;
	}
	.works-grid .grid-item:nth-child(6n + 6){
		grid-column: 5 / span 6;
		grid-row: span 2;
	}
	.head-main-title.grd3 {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.head-main-title.grd2 {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.head-main-title.grd1 {
		gap: 20px;
	}
	.tag-list-title {
		padding: 0;
	}
	.tag-list.case {
		padding-left: 0px;
	}
	.case-single .workcase-title {
		margin: 0;
		line-height: 1.2;
	}
	.workcase-inner {
		flex-direction: column;
	}
	.case-single .workcase-info-table {
		padding: 20px 15px 40px;
		margin: 0 0 20px;
	}
	.c-btn--contact {
		font-size: 16px;
		border-radius: 4px;
	}
	.c-btn--contact a {
		padding: 15px;
	}
	.case-footer-menu-column {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.case-footer-menu-column a {
		grid-template-columns: 1fr 90px;
		padding: 10px;
		font-size: 16px;
		gap: 10px;
	}
	.case-footer-menu-lead {
		font-size: 12px;
	}

	.case-icon-home, .case-icon-koumu {
		width: 90px;
	}
	.workcase-inner {
		margin-bottom: 0px;
	}
	.workcase-aside {
		width: 100%;
	}
	.product-related-tree.appearance,.product-related-gallery.appearance {
		display: block;
	}
	.product-related-tree .related-tree-inner {
		padding: 0px 0px 30px;
		gap: 5px;
	}
	.product-related-gallery .portfolio-grid {
		grid-template-columns: 1.2fr 0.8fr;
		grid-auto-rows: 135px;
		padding: 0px 0px 30px;
	}
	.workcase-two-col {
		border-bottom: none;
		margin-bottom: 0px;
	}
	.product-related-tree,.product-related-gallery {
		padding: 50px 0px 50px;
	}
	.product-related-tree h2,.product-related-gallery h2 {
		font-size: 18px;
	}


	/* ----------------------------------------
	* 設計士・工務店の方へ　pro
	---------------------------------------- */
	.post-content ul.troubles__list {
		margin-left: 0;
		padding: 0;
	}
	.post-content h2.pro__title {
		font-size: 22px;
	}
	.reason__card {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.samples {
		margin-top: 30px;
	}
	.post-content h4.samples__title {
		font-size: 18px;
	}
	.samples__grid {
		grid-template-columns: 1fr;
	}
	.samples__grid__vertical {
		grid-template-columns: 1fr 1fr;
	}
	.samples__grid > * { order: 3; }
	.samples__grid__beside { order: 1; }
	.samples__grid__full   { order: 2; }
	.model__hero {
		grid-template-columns: 1fr 1fr;
	}
	.model__hero figure:last-child {
		grid-column: 1 / -1;
		width: 80%;
		margin: 0 auto;
	}
	.reason__cta {
		padding: 15px;
		min-width: auto;
		font-size: 16px;
		width: 100%;
	}
	.reason__cta span {
		font-size: 10px;
	}
	.reason {
		padding: 20px;
		margin-bottom: 10px;
	}
	.post-content p.reason__num {
		font-size: 28px;
	}
	.post-content h3.reason__heading {
		font-size: 16px;
	}
	.reason__card--title {
		gap: 15px;
	}
	.reason__miniCta {
		width: 100%;
		font-size: 16px;
	}
	.reason__miniCta span {
		font-size: 10px;
	}
	.reason__cta__w {
		min-width: auto;
		width: 100%;
		font-size: 16px;
	}
	.reason__cta__w span {
		font-size: 10px;
	}

	.owner-intro__inner {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.owner-card__container {
		grid-template-columns: 1fr;
		gap: 0px;
	}
	.owner-cases__grid {
		grid-template-columns: 1fr;
	}
	.case-card {
		padding: 10px 20px;
	}
	.case-voice {
		padding: 15px 20px;
	}
	.owner-cases__cta {
		flex-direction: column;
	}
	.owner-cases__cta .cta-btn-w {
		width: 100%;
		margin-top: 50px;
		margin-bottom: 0px;
		font-size: 18px;
	}
	.owner-cases__cta .cta-btn-b {
		width: 100%;
		margin-top: 0;
		font-size: 18px;
	}
	.store-owner__header {
		width: 100%;
	}
	.store-owner__lead {
		width: 100%;
		grid-template-columns: 1fr;
		margin: 0 auto 50px;
		gap: 10px;
	}
	.post-content ul.works-sets {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.works-set {
		gap: 10px;
	}
	.support-info {
		margin-bottom: 100px;
	}

	.order-step__wrap {
		padding: 20px 15px 30px;
	}
	.owner__card--title {
		margin-bottom: 2rem;
	}
	.order-step__content {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.order-step__content--right {
		width: 90%;
		margin: auto;
	}
	.order-check {
		gap: 20px;
		padding: 15px;
		grid-template-columns: 1fr;
	}
	.order-check__badge {
		width: 100px;
	}
	.order-step__grid--step5 {
		grid-template-columns: 1fr;
	}
	.order-step__col{
		grid-template-columns: .5fr 1fr;
	}
	.order-step__content--step6 {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.order-step__gallery--step6 {
		width: 90%;
		margin: auto;
	}
	.order-flow.page-order {
		padding: 50px 0 100px;
	}
	.page-order .order-flow-step {
		margin-top: 50px;
	}
	.order-flow-step-inner {
		margin: 0;
		padding: 0px 0px 50px;
	}
	.page-order .order-flow-step-completion {
		gap: 5px;
		padding: 0;
		width: 100%;
	}
	.post-content ol.order-flow-step-steps li {
		padding: 6px;
		font-size: 12px;
	}
	.post-content ol.order-flow-step-steps li::before {
		margin-right: 5px;
	}
	.order-flow-step-completed {
		padding: 6px;
	}
	.order-flow-step-labels {
		gap: 5px;
		margin-bottom: 45px;
	}
	.order-flow-step-label {
		padding: 5px;
	}
	.order-flow-step-note {
		font-size: 10px;
		line-height: 1;
	}
	.order-flow-step-label.produce {
		height: 110px;
	}
	.order-price {
		padding: 15px;
	}



	/* ----------------------------------------
	* 中古木工機械販売中　machine
	---------------------------------------- */
	.machine__heading {
		grid-template-columns: 1fr;
	}
	.machine__cta a {
		padding: 10px 25px;
		border-radius: 3px;
	}

	.post-content ul.machines__grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin-left: 0;
	}
	.machines__card {
		padding: 10px;
	}
	.post-content h3.machines__card__title {
		font-size: 16px;
		margin: 0 0 10px;
	}
	.machines {
		padding: 0 0 100px;
	}
	.repair__content {
		grid-template-columns: 1fr;
		gap: 120px;
		padding: 30px;
	}
	.post-content h2.repair__title {
		font-size: 20px;
		margin: 0 0 10px;
	}
	.btn-mail {
		width: 100%;
		text-align: center;
	}
	.repair {
		margin-top: 0px;
		padding: 0 0 100px;
	}
	.post-content ul.strength__grid {
		grid-template-columns: 1fr;
	}
	.strength__panel {
		padding: 40px 10px;
		margin-top: 120px;
	}
	.strength-card {
		margin-bottom: 20px;
		gap: 10px;
		grid-template-columns: 1fr 1fr;
	}
	.strength-card__media{
		width: auto;
		margin-top: 20px;
	}
	.post-content p.strength-card__num {
		font-size: 20px;
	}
	.post-content h3.strength-card__title {
		font-size: 18px;
	}
	.strength-button {
		padding: 10px 30px;
		border-radius: 3px;
	}
	.strength {
		margin: 0 0 50px;
	}
	.purpose__wrap {
		width: auto;
	}
	.post-content h3.purpose__title {
		margin: 0 0 30px;
	}
	.post-content ul.purpose__grid {
		width: auto;
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.purpose {
		margin: 0 0 50px;
	}
	.pd__header__inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.pd__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.pd__panel {
		padding: 10px;
	}
	.post-content hr.pd__divider {
		margin: 10px 0;
	}
	.pd__price-row {
		flex-direction: column;
		align-items: flex-start;
	}
	.pd__button {
		width: 100%;
		border-radius: 3px;
	}
	.purpose-detail {
		margin: 0 0 50px;
	}
	.post-content ul.pd-va__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.pd-va {
		margin: 0 0 50px;
	}
	.post-content ul.pd-results__grid {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.post-content ul.pd-results__grid > .pd-results__item:nth-child(-n+2){
		flex: 1 1 calc(50% - 5px);
	}
	.post-content ul.pd-results__grid > .pd-results__item:nth-child(3){ flex: 2 1 0; min-width:0; }
	.post-content ul.pd-results__grid > .pd-results__item:nth-child(4){ flex: 1 1 0; min-width:0; }
	.post-content ul.pd-results__grid__2 {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.post-content ul.pd-results__grid__2 > .pd-results__item:nth-child(-n+2){
		flex: 1 1 calc(50% - 5px);
	}
	.post-content ul.pd-results__grid__2 > .pd-results__item:nth-child(3){ flex: 1 1 0; min-width:0; }
	.post-content ul.pd-results__grid__2 > .pd-results__item:nth-child(4){ flex: 1 1 0; min-width:0; }
	.post-content ul.pd-results__grid__2 > .pd-results__item:nth-child(5){ flex: 1 1 0; min-width:0; }
	.post-content ul.pd-results__grid__3 {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.post-content ul.pd-results__grid__3 > .pd-results__item:nth-child(-n+3){
		flex: 1 1 calc(32% - 3px);
	}
	.post-content ul.pd-results__grid__3 > .pd-results__item:nth-child(4){ flex: 1 1 0; min-width:0; }
	.post-content ul.pd-results__grid__3 > .pd-results__item:nth-child(5){ flex: 1 1 0; min-width:0; }
	.pd-results {
		margin: 0 0 50px;
	}
	.pd-running__panel {
		padding: 15px;
	}
	.pd-running__panel > div {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.post-content h2.pd-running__title {
		font-size: 18px;
	}
	.post-content ul.pd-running__list {
		margin-bottom: 20px;
	}
	.pd-running__list li {
		margin: 0 0 .2em;
		font-size: 12px;
	}
	.pd-button {
		padding: 8px 20px;
		width: 100%;
	}
	.pd-running {
		margin: 0 0 50px;
	}
	.pd-results__figure img {
		height: 150px;
	}
	/* ----------------------------------------
	* お問い合わせ完了
	---------------------------------------- */
	.thanks__description{
		grid-template-columns: 1fr;
	}
	.post-content h2.thanks__title{
		font-size: 20px;
	}
	.thanks__inner{
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.thanks__box{
		padding: 20px 20px 0;
	}
	.post-content h3.thanks__title{
		font-size: 18px;
	}
	/* ----------------------------------------
	* 404
	---------------------------------------- */
	.post-content .menu-notfound ul{
		gap: 5px 40px;
		grid-template-columns: 1fr;
	}
	/* phone end */
}

/* v3非表示 */
.grecaptcha-badge {
	visibility: hidden;
}
