@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* ----------------------------------------------------------------------
 Common - 共通
---------------------------------------------------------------------- */
a {
	text-decoration: none !important;
	transition:  .3s ease-in-out;
}
a:hover {
	opacity:  .8;
}
.flex-around {
	display: flex;
	justify-content: space-around;
}
.flex-between {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex-center {
	display: flex;
	justify-content: center;
}
.go-to-top-button {
	background: #fff;
	border: 1px solid #937960;
	border-radius: 0;
	color: #937960;
}
.icon::after {
	margin-left: 15px;
}
.icon::after,
.icon::before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
}
.icon::before {
	margin-right: 15px;
}
#main {
	border-radius: 0;
	margin-top: 65px;
}
ul {
	list-style: none;
	padding-left: 0 !important;
}

/* ----------------------------------------------------------------------
 NonDisplay - 非表示項目
---------------------------------------------------------------------- */
.cat-label,
#controls,
.entry-card-categorys,
.fa-folder-open,
.fa-tag,
.header_button,
.lp_title-pc,
.none,
.page .date-tags,
.pagination-next,
.phoneInfo {
	display: none !important;
}

/* ----------------------------------------------------------------------
 Header - ヘッダー
---------------------------------------------------------------------- */

.header-container {
	box-shadow: 0 0 5px #bababa;
	position: fixed !important;
	top: 0;
	width: 100%;
	z-index: 5;
	height: 60px;
	align-items: center;
	display: flex;
}
.navi-in a {
	font-size: 13px;
	padding: 0 20px;
}
.navi-in > ul li {
	width: auto;
}

/* ----------------------------------------------------------------------
 List - 記事一覧
---------------------------------------------------------------------- */
.archive-title {
	font-size: 18px;
}
.e-card-info {
	justify-content: initial;
}
.entry-card-content {
	padding-bottom: 0;
}
.entry-card-meta {
	position: initial;
}
.entry-card-thumb img {
	max-height: 140px;
	object-fit: cover;
}
.entry-card-title {
	font-size: 14px;
}
.list-new {
	font-size: 14px;
	line-height: 1.6;
	padding-right: 15px;
	text-align: right;
}
.list-station {
	display: block;
	font-size: 13px;
}
.new_mark {
	background: #cb0000;
	color: #fff;
	font-size: 12px;
	left: 0;
	padding: 2px 5px;
	position: absolute;
	top: 0;
}

/* ----------------------------------------------------------------------
 Post - 投稿ページ
---------------------------------------------------------------------- */
.another_room {
	color: #0081cc;
	display: block;
	font-size: 13px;
	font-weight: 700;
	text-align: right;
}
.another_room::after {
	content: "\f054";
}
.box17 {
	border-bottom: 2px solid #000;
	margin: 40px auto;
	padding: 5px 35px;
	position: relative;
}
.box17::before {
	background: #f55a11;
	content: '';
	height: calc(100% + 15px);
	left: 15px;
	position: absolute;
	top: 0;
	width: 2px;
}
.box17 p {
	margin: 0;
}

.box27 p {
	font-size: 14px;
	line-height: 1.8;
	margin: 0;
	padding: 10px;
}
.box-title {
	background: #f6fff6;
	border: 1px solid #e5e5e5 !important;
	font-size: 14px;
	left: -1px;
	line-height: 25px;
	padding: 3px 9px;
	position: absolute;
	top: -33px;
}
#breadcrumb {
	font-size: 13px;
}
button.favorite_button_in {
	background: none;
	border: none;
	cursor: pointer;
	transition: 0.2s ease-in-out;
}
button.favorite_button_in i {
	color: #555;
	font-size: 20px;
	opacity: .3;
	padding: 8px;
}


.column-member {
	background: #f2f2ee;
	border: 1px solid #000;
	font-size: 13px;
	margin: 0 10px 10px 0;
	max-width: calc(50% - 10px / 2);
	padding: 10px;
}
.column-member br {
	display: none;
}
.column-member img {
	margin-bottom: 10px;
}
.column-member:nth-of-type(2n) {
	margin-right: 0;
}
.comment::before {
	content: "\f4ad";
}
.date-tags {
	color: #555;
}
.entry-title {
	font-size: 17px;
	margin-bottom: 0;
}
.favorite_button {
	align-items: center;
	display: flex;
}
.flex-member {
	display: flex;
	flex-wrap: wrap;
}
.flex-tag {
	background: #f4f5f7;
	display: flex;
	flex-wrap: wrap;
	padding: 10px;
	text-align: center;
}
.flex-tag a {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 5px;
	flex: 1 1 auto;
	font-size: 14px;
	margin: 5px;
	padding: 5px 30px;
	position: relative;
}
.flex-tag a::after {
	color: #353c59;
	content: "\f054";
    position: absolute;
    right: 10px;
}
.formbutton_tel {
	color: #cb0000;
	display: block;
	font-size: 23px;
	font-weight: bold;
	text-align: center;
}
.formbutton_tel::before {
	content: "\f3cd";
}
.formlink {
	background: #353c59;
}
.formlink::before {
	content: "\f554";
}
.formlink::before,
.line::before {
	font-size: 20px;
	vertical-align: middle;
}
.formlink,
.line {
	color: #fff !important;
	font-size: 13px;
	line-height: 1.4;
	margin-bottom: 20px;
	padding: 5px 0;
	text-align: center;
	width: 49%;
}
.formlink span,
.line span {
	font-size: 17px;
	font-weight: bold;
	vertical-align: middle;
}
.gaiyou_flex {
	padding-top: 20px;
	width: 255px;
}
.gaiyou_flex div {
	border-bottom: 1px solid #f4f4f4;
	display: flex;
	line-height: 2.5;
	padding: 0 10px;
}
.gaiyou_flex div:nth-of-type(5),
.gaiyou_flex div:nth-of-type(7) {
	border: none;
}
.gaiyou_flex .formlink {
	display: block;
	margin-top: 40px;
	width: 100%;
}
.gaiyoulist {
	font-size: 14px;
	overflow: hidden;
}
.gaiyoulist dd {
	flex: 0 0 80%;
	margin-left: 0;
	padding: 5px 15px;
	position: relative;
}
.gaiyoulist dd::after {
	border-bottom: 1px solid #f4f4f4;
	bottom: 0;
	content: "";
	left: -100%;
	position: absolute;
	right: 0;
}
.gaiyoulist dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0;
}
.gaiyoulist dt {
	flex: 0 0 20%;
	padding: 7px 15px;
}
.gaiyou_naiyou {
	text-align: right;
	width: 100%;
}
.gaiyou_naiyou-1 {
	color: #444;
	font-size: 14px;
}
.gaiyou_price {
	color: #cb0000;
	font-size: 17px;
	font-weight: bold;
}
.gaiyou_title {
	align-items: center;
	color: #444;
	display: flex;
	font-size: 14px;
	width: 100px;
}
.gallery-caption {
	background: #faf7f0;
	margin-bottom: 10px !important;
	padding: 6px 8px;
	text-align: left;
}
.gallery-columns-1 img {
	margin: 0 auto;
}
.gallery-columns-2 .gallery-item {
	max-width: calc(50% - 5px / 2);
}
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n) {
	margin-right: 0;
}
.gallery-columns-3 .gallery-item {
	max-width: calc(33.33% - 10px / 3);
}
.gallery-item {
	margin-bottom: 0 !important;
	margin-right: 5px;
	margin-top: 5px !important;
}
.gallery-item a {
	display: flex;
}
.gallery-item img {
	border: 0 !important;
}
.is-choosen .favorite_button_in i {
	border-color: #ccc;
	color: #ffd43b;
	opacity: 1;
}
.line {
	background: #06c755;
}
.line::before {
	content: "\f3c0";
	font-family: "Font Awesome 5 Brands";
	margin-right: 15px;
}
.location {
	border: 1px solid #0081cc;
	border-radius: 5px;
	font-size: 13px;
	padding: 3px 5px;
}
.location::before {
	content: "\f3c5";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
}
.location:hover {
	background:  #0081cc;
	color: #fff !important;
}
.location-1 {
	display: block;
	margin-left: auto;
	text-align: center;
	width: 150px;
}
.madori {
	max-width: 450px;
	width: auto;
}
.madori-flex {
	align-items: center;
}
.neighboring_facilities {
	margin: 40px auto;
}
.neighboring_facilities-1 {
	font-size: 12px;
}
.pet::before {
	color: #876445;
	content: "\f1b0";
	margin-right: 5px;
}
.pink-underline {
    border-bottom: 1px dotted #e73656;
}

.posth2 {
	background: 0 !important;
	border-bottom: 1px solid #ddd;
	font-size: 17px !important;
	margin: 80px 0 30px !important;
	text-align: center;
}
.posth3 {
	border: none !important;
	font-size: 16px !important;
	margin: 40px 0 10px !important;
	padding: 40px 0 20px !important;
	text-align: center;
}
.pricecolor {
	color: #cb0000;
	font-weight: bold;
}
.price-down,
.sold-out {
	border-left: 46px solid;
	font-size: 18px !important;
	font-weight: normal !important;
	padding: 12px !important;
	position: relative;
}
.price-down {
	background: #fef9f9 !important;
	border-color: #cb0000;
}
.price_down {
	color: #cb0000;
	font-size: 12px;
}
.price-down::before {
	content: "\f309";
	left: -27px;
}
.price-down::before,
.sold-out::before {
	color: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.single .top_button a {
	font-weight: normal;
}
.sold-out {
	background: #f1f8ff !important;
	border-color: #5c9ee7;
}
.sold-out::before {
	content: "\f559";
	left: -30px;
}
.special-bukken {
	display: block;
	font-size: 15px;
	font-weight: bold;
}
.special-color {
	color: #cb0000;
	font-size: 15px;
	font-weight: bold;
	padding-right: 20px;
}
.special-new {
	background: #cb0000;
	color: #fff;
	font-size: 10px;
	padding: 2px 5px;
	vertical-align: middle;
}
.staffcomment {
	border: 5px solid #f4f4f4;
	margin: 50px auto;
	padding: 20px 0;
}
.staffcomment-1 {
	background: #fff;
	margin: 0 20px;
	padding: 10px 20px;
}
.staffcomment-1 p {
	font-size: 14px;
	margin-bottom: 0;
	padding: 5px;
}
.staffcomment-2 {
	background: #f4f5f7;
	font-size: 13px;
	margin: 5px 0;
	padding: 5px 10px;
}
.staffcomment h3 {
	border: 0;
	color: #353c59;
	font-size: 16px;
	padding: 0;
	text-align: center;
}
.staffcomment img {
	display: block;
	margin: 0 auto 25px;
	width: 130px;
}
.tag-link {
	border: 0;
	color: #555;
	display: initial;
	padding: 0;
}
.tag-link::after {
	content: "/";
	padding-left: 5px;
}
.tag-link:last-child::after {
	content: "";
}
.thanks {
	font-size: 25px;
	font-weight: bold;
	padding: 50px 0 30px;
    text-align: center;
}
.title-between {
	display: flex;
	justify-content: space-between;
	height: 50px;
}

/* ----------------------------------------------------------------------
 OpenRoom - オープンルーム
---------------------------------------------------------------------- */
main .widget-entry-cards .openroom-tag {
	bottom: 91px;
	width: 100%;
}
.open-days {
	display: block;
	font-weight: bold;
	margin: 0 auto;
	width: 310px;
}
.open-fuzai {
	font-size: 12px;
	margin: 5px 0;
	text-align: center;
}
.open-naiyou {
	background: #faf7f0;
	font-size: 13px;
	padding: 10px 40px;
}
.open-room {
	border: 5px double #e5e5e5;
	margin: 50px auto 0;
	padding: 10px 0;
	width: 80%;
}
.open-room-1 {
	margin: 0 auto;
	width: 450px;
}
.open-room .formlink {
	background: #937960;
	display: block;
	margin: 5px 0;
	width: 100%;
}
.open-room p {
	display: none;
}
.openroom-tag {
	background: rgba(214,23,17,.7);
	bottom: 9px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	left: 0;
	padding: 5px;
	position: absolute;
	text-align: center;
	width: 100%;
}
.open-title {
	color: #937960;
	display: block;
	font-size: 23px;
	font-weight: bold;
	text-align: center;
}
.recommended_flex .openroom-tag {
	bottom: 96px;
	top: 169px;
}
#sidebar .openroom-tag {
	bottom: 5px;
}
.widget-entry-cards .openroom-tag {
	width: 120px;
}

/* ----------------------------------------------------------------------
 Q&A - よくあるご質問
---------------------------------------------------------------------- */
.link {
	color: #0081cc !important;
	text-decoration: underline !important;
}
.post_qa {
	border-bottom: 1px solid #e7e7e7;
	overflow: hidden;
	position: relative;
}
.post_qa input {
	opacity: 0;
	position: absolute;
	z-index: -1;
}
.post_qa input:checked ~ label::after {
	transform: rotate(315deg);
}
.post_qa input:checked ~ .post_qa-content {
	max-height: 200px;
}
.post_qa label {
	align-items: center;
	color: #444;
	display: flex;
	font-weight: bold;
	padding: 15px 0;
	position: relative;
}
.post_qa label::after {
	content: '+';
	font-size: 18px;
	position: absolute;
	right: 0;
	text-align: center;
	transition: all .5s;
	width: 60px;
}
.post_qa p {
	margin-bottom: 0;
}
.post_qa .post_qa-content {
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease-in-out 0s;
}
.post_qa .post_qa-content p {
	background: #fafafa;
	font-weight: bold;
	padding: 24px 32px 24px 55px;
}
.post_qatab::before {
	font-size: 20px;
}
.post_qatab-a::before {
	color: #cb0000;
	content: "A.";
	left: 18px;
	position: absolute;
}
.post_qatab-q::before {
	content: "Q.";
	margin-right: 20px;
}

/* ----------------------------------------------------------------------
 AddQuicktag - クイックタグ
---------------------------------------------------------------------- */
.center {
	display: block;
	text-align: center;
}
.normal-waku {
	background: #faf7f0;
	margin: 10px 0 30px;
	padding: 15px;
}
.quick-raiten {
	background: #353c59;
	border: 1px solid #353c59;
	border-radius: 4px;
	color: #fff !important;
	display: block;
	margin: 25px auto;
	padding: 8px;
	text-align: center;
	width: 40%;
}
.quick-raiten::before {
	content: "\f554";
	font-size: 20px;
}

/* ----------------------------------------------------------------------
 FrontPage - フロントページ
---------------------------------------------------------------------- */
main .widget-entry-card-link {
	max-width: calc(33.33% - 20px / 3);
	margin-right: 10px;
	width: 33.33%;
}
main .widget-entry-card-thumb {
	width: 100% !important;
}
main .widget-entry-card-title {
	display: inline-block !important;
}
main .widget-entry-cards {
	display: flex;
	flex-wrap: wrap;
}
main .widget-entry-cards .a-wrap {
	margin-bottom: 30px;
	padding: 0;
}
main .widget-entry-cards .a-wrap:nth-of-type(3n) {
	margin-right: 0;
}
.new-continuation {
	border: 1px solid #444;
	border-radius: 30px;
	color: #000 !important;
	display: block;
	font-size: 14px;
	margin: 0 auto;
	padding: 5px;
	text-align: center;
	width: 30%;
	padding: 10px 30px;
}
.new-continuation::after {
	color: #f55a11;
	content: "\f054";
}
.top_1 {
	display: block;
	text-align: center;
}
.top_2 {
	max-width: calc(50% - 5px);
}
.top_2 a {
	color: #fff !important;
	display: block;
	padding: 10px;
	text-align: center;
	margin-bottom: 50px;
}
.top_2 a::after {
	content: "\f054";
}
.top_3 {
	font-size: 14px;
	height: 200px;
	line-height: 1.7;
	padding: 15px;
}
.top_3 span:first-child {
	display: block;
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
}
.top_button {
	background: #fcf8f2;
	padding: 10px;
	text-align: center;
}
.top_button a {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 14px;
	font-weight: bold;
	margin: 5px;
	padding: 5px;
	position: relative;
	width: 400px;
}
.top_button a::after {
	color: #353c59;
	content: "\f054";
	position: absolute;
    right: 10px;
}
.top_office {
	padding: 30px;
	text-align: center;
}
.top_office a {
	color: #937960;
	font-size: 14px;
}
.top_office dd {
	flex: 0 0 75%;
	margin-left: 0;
	padding: 3px 0;
}
.top_office dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	text-align: start;
	width: 390px;
}
.top_office dt {
	flex: 0 0 25%;
	padding: 3px 0;
}
.top_office span {
	display: block;
	font-size: 14px;
	margin-bottom: 21px;
}
.top_photo {
	margin-top: 80px;
}
.top_photo-1 {
	position: relative;
}
.top_photo-1 img {
	height: 280px;
	object-fit: cover;
	width: 100%;
}
.top_photo_label {
	align-items: center;
	color: #fff;
	display: flex;
	font-weight: bold;
	height: 50px;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0;
	width: 100px;
}
.top_photo_label-1 {
	background: #f55a11;
}
.top_photo_label-2 {
	background: #937960;
}
.top_photo_label-3 {
	background: #353c59;
}
.top_photo_label-4 {
	background: #f58021;
}
.top_subtitle {
	border-top: 1px solid #ccc;
	font-weight: bold;
	margin-top: 50px;
	padding-top: 40px;
	text-align: center !important;
}
.toptag {
	background: #fff;
	border: 1px solid #333;
	flex: 1 1 auto;
	margin: 5px;
	padding: 10px 30px;
}
.toptag_flex {
	background: #f6fff6;
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	padding: 10px;
	text-align: center;
}

/* ----------------------------------------------------------------------
 AboutUs - 会社概要
---------------------------------------------------------------------- */
.access {
	font-size: 20px;
	margin-top: 50px;
	text-align: center;
}
.access_p {
	padding: 20px 40px;
}
.company td {
	padding: 10px 15px;
}
.company th {
	text-align: left;
	text-indent: 30px;
	width: 170px;
}
.staff-access {
	margin: 0 auto 30px;
	width: 50%;
}
.video-container {
	margin: 30px auto !important;
}

/* ----------------------------------------------------------------------
 Contactform - 問い合わせフォーム
---------------------------------------------------------------------- */
.flexForm {
    display: flex;
    margin-top: 25px;
}
.formbox,
.formTel {
    margin: 50px auto 0;
}
.form-newtel {
	background: #fff;
}
.form-privacy {
	background: #fff;
	border-radius: 20px;
	font-size: 13px;
	margin: 50px 0;
	padding: 10px;
	text-align: center;
}
.formTel {
    display: block;
}
.formtel {
	background: #f6fff6;
	margin-top: 50px;
	padding: 20px;
}
.form-tel {
	align-items: center;
	display: flex;
}
.formtel1 {
    color: #f55a11;
    font-size: 25px;
}
.formtel1::before {
	content: "\f3cd";
}
.form-tel1 {
	display: block;
	font-size: 14px;
	text-align: center;
}
.form-tel2 {
	font-size: 14px;
}
.form-tel2 span {
	font-size: 15px;
}
.formTel a {
	background: #fff;
	border: 1px solid #444;
	display: block;
	padding: 20px 0 10px;
	text-align: center;
}
.formtel h3 {
	margin-top: 0 !important;
	padding-top: 20px !important;
}
.form-tel img {
	margin: 30px;
}
.form-tel p {
	display: none;
}
.form-tel span {
	font-weight: bold;
}

.hissupoint {
    background: #f55a11;
    color: #fff;
    font-size: 13px;
    margin-left: 10px;
    padding: 2px 5px;
}
input[type="checkbox"] {
	margin-right: 10px;
	transform: scale(1.5);
}

.mark {
	color: #f55a11;
}
::placeholder {
    color: #666;
	font-family: sans-serif;
	font-size: 16px;
    opacity:  .4;
}
select {
	background: #fff;
}
#submit {
    background: #f55a11;
    border: 0;
    color: #fff;
    display: block;
    font-size: 18px;
    margin: 30px auto 50px;
    padding: 10px;
    transition: .3s ease-in-out;
    width: 70%;
}
#submit:hover {
	opacity:  .8;
}
.tel-only {
	padding: 10px 0 0;
	width: 100%;
}
.tel-plus {
	margin: auto 0;
	width: 50%;
}
.toiawase {
	background: #fff;
	font-weight: bold;
	padding: 10px 0;
    text-align: center;
}
.toiawase-check {
	margin-left: -10px;
}
.toiawaseRight {
	width: 65%;
}
.toiawaseSmall {
	font-weight: 700;
	width: 30%;
}
.wpcf7 {
	background: #fafafa;
	border: 1px solid #ddd;
	padding: 22px;
}
.wpcf7-form p {
	margin-bottom: 0;
}
.wpcf7-list-item {
	display: block;
}
.wpcf7-select {
	color: #000;
	height: 45px;
}

/* ----------------------------------------------------------------------
 MyList - MYリスト一覧ページ
---------------------------------------------------------------------- */



.p-list_wrapper {
	display: flex;
	flex-wrap: wrap;
}
.text-small {
	font-size: 14px;
}

/* ----------------------------------------------------------------------
 Widget - ウィジェット
---------------------------------------------------------------------- */
.list-price {
	color: #cb0000;
	font-size: 14x;
	font-weight: bold;
}
.search-edit {
	border-radius: 25px !important;
	padding-left: 25px !important;
}
.search-submit {
	right: 15px;
}
.widget-entry-card-content {
	font-size: 14px;
	margin-left: 0;
}
.widget-entry-card-thumb img {
	object-fit: cover;
}
.widget-entry-card-title {
	font-weight: bold;
	padding-top: 5px;
}

/* ----------------------------------------------------------------------
 Footer - フッター
---------------------------------------------------------------------- */
.copyright,
.footer_rerecaptcha {
    font-size: 13px;
}
#footer {
	text-align: center;
}
.footerBox {
	font-size: 14px;
}
.footerBox img {
	width: 130px;
}

.footer_subtitle {
	display: block;
	font-weight: bold;
	margin-bottom: 20px;
}
.linkBox ul {
	padding: 50px 0;
}
.linkBox ul li {
	border-right: 1px solid #444;
	display: inline-block;
	font-size: 14px;
	line-height: 1.2;
	padding: 0 25px;
}
.linkBox ul li:last-child {
	border-right: none;
}
.recommended_flex {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
.recommended_flex img {
	height: 125px;
	object-fit: cover;
}
.recommended_flex li {
	margin-right: 10px;
	max-width: calc(16.66% - 50px / 6);
	width: 16.66%;
}
.recommended_flex li:last-child {
	margin-right: 0;
}
.recommended_title {
	font-size: 14px;
	font-weight: bold;
	text-align: start;
}

/* ----------------------------------------------------------------------
 Members - 会員登録
---------------------------------------------------------------------- */
a.memberButton {
	background: #f55a11;
	color: #fff;
	display: block;
	margin: 21px auto 40px;
	padding: 8px;
	text-align: center;
	width: 300px;
}
form.post_password input[type="submit"] {
	background: #f55a11;
	border: 0;
	color: #fff;
	margin-left: 20px;
	width: 70px;
}
input[type="password"] {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	margin-left: 20px;
	vertical-align: middle;
	width: auto;
}
.memberButton::after {
	content: "\f105";
}
.post-13543 input[type="text"] {
	margin-bottom: 10px;
}
.post_password {
	background: #f4f1ef;
	padding: 25px 36px;
	text-align: center;
}
/* ----------------------------------------------------------------------
 Sidebar - サイドバー
---------------------------------------------------------------------- */
.side_area {
	line-height: 2.5;
}
.side_area::before {
	color: #353c59;;
	content: "\f054";
}
.sidebar {
	background: #f4f4f4;
	margin-top: 65px;
	padding: 0;
}
.sidebar .card-thumb img {
	height: 120px !important;
}
.sidebar h3 {
	font-size: 16px;
	margin-bottom: 0;
	text-align: center;
}
#sidebar .list-new {
	bottom: 0;
	position: absolute;
	right: 0;
}
.sidebar .new-entry-cards,
.tagcloud,
.textwidget {
	background: #fff;
	padding: 15px;
}
#text-3 .side_area,
#text-4 .side_area,
#text-5 .side_area {
	border: 1px solid #ccc;
	border-radius: 20px;
	flex: 1 1 auto;
	font-size: 14px;
	line-height: 1.8;
	margin: 2px;
	padding: 3px 8px;
	text-align: center;
}
#text-3 .side_area::before,
#text-4 .side_area::before,
#text-5 .side_area::before {
	display: none;
}
#text-3 .textwidget p,
#text-4 .textwidget p,
#text-5 .textwidget p {
	display: flex;
	flex-wrap: wrap;
}

/* ----------------------------------------------------------------------
 RelatedPosts - 関連記事
---------------------------------------------------------------------- */
.related-entry-card img {
	height: 143px;
	object-fit: cover;
}
.related-entry-card-title {
	font-size: 14px !important;
}

/* ----------------------------------------------------------------------
 Responsive - レスポンシブ表示
---------------------------------------------------------------------- */
/* 1023px以下 */
@media screen and (max-width: 1023px) {
	.navi-in .menu-pc {
		display: flex;
	}
	.p-cta {
		height: 350px;
	}
	.site-name-text-link {
		padding-left: 29px;
	}
	.top_3 {
		height: 180px;
	}
}

/* 896px以下 */
@media screen and (max-width: 896px) {
/*　Header - ヘッダー　*/
	.flexMenu {
		align-items: center;
		margin: 10px 0;
	}
	.flexMenu-1 {
		display: flex;
		position: absolute;
		right: 0;
	}
	#go-to-top {
		bottom: 80px;
	}
	.header_button {
		border: 1px solid #ccc;
		display: block !important;
		font-size: 13px;
		margin-right: 30px;
		padding: 4px 50px;
	}
	.header_button::before {
		color: #353c59;
		margin-right: 7px;
	}
	.header_button:first-child::before {
		content: "\f03a";
	}
	.header_button:nth-child(2)::before {
		content: "\f002";
	}
	.header-container-in.hlt-top-menu {
		align-items: initial;
	}
	.navi-in .menu-pc {
		display: none;
	}
	.phoneInfo {
		background: #fcf8f2;
		bottom: 0;
		display: flex !important;
		position: fixed;
		text-align: center;
		width: 100%;
		z-index: 5;
	}
	.phoneInfo a {
		border-right: 1px solid #ccc;
		border-top: 1px solid #ccc;
		color: #000;
		font-size: 12px;
		padding: 2.5% 0;
		width: 25%;
	}
	.phoneInfo a::before {
		display: block;
		font-size: 16px;
		margin-right: 0;
	}
	.phoneInfo a:last-child {
		border-right: 0;
	}
	.recommended_flex li {
		max-width: calc(33.33% - 20px / 3);
		width: 33.33%;
	}
	.recommended_flex li:nth-of-type(3n) {
		margin-right: 0;
	}
	#text-2 {
		margin-top: -80px;
		padding-top: 63px;
	}
}

/* 834px以下 */
@media screen and (max-width: 834px) {
	.header_button {
		padding: 4px 30px;
	}
}

/* 782px以下 */
@media screen and (max-width: 782px) {
	.admin-bar .header-container {
		top: 46px;
	}
	.header_button {
		margin-right: 10px;
	}
	.p-cta {
		font-size: 23px;
		font-weight: bold;
	}
	.top_3 {
		height: 205px;
	}
}

/* 600px以下 */
@media screen and (max-width: 600px) {
	.new-continuation {
		width: 80%;
	}
	main .widget-entry-card-link {
		max-width: calc(50% - 10px / 2);
		width: 50%;
	}
	main .widget-entry-cards .a-wrap:nth-of-type(2n) {
		margin-right: 0 !important;
	}
	main .widget-entry-cards .a-wrap:nth-of-type(3n) {
		margin-right: 10px;
	}
	.top_1 {
		padding: 15px;
		text-align: left;
	}
	#wpadminbar {
		position: fixed;
	}
	.top_3 {
		height: 260px;
	}
	.top_photo_label-3 {
		font-size: 14px;
	}	
}

/* 480px以下 */
@media screen and (max-width: 480px) {
/*　Common - 共通　*/
	a:hover {
		opacity:  1 !important;
	}
	.flex-around,
	.flex-between,
	.flex-center {
		display: block;
	}
	.go-to-top {
		display: none !important;
	}
	#main {
		margin-top: 45px;
	}
/*　Header - ヘッダー　*/
	.flexMenu {
display: flex;
    justify-content: space-between;
	}
	.header_button {
		padding: 4px 8px;
	}
	.site-name-text-link {
		padding-left: 15px;
	}
/*　List - 記事一覧　*/
	.entry-card {
		display: block !important;
	}
	.entry-card-meta {
		display: none;
	}
	.entry-card-thumb {
		float: left !important;
		height: 120px;
		width: 120px !important;
	}
	.entry-card-wrap {
		width: 100% !important;
	}
	.list-new {
		bottom: 0;
		line-height: 1.3;
		padding: 5px 5px 5px 0;
		position: absolute;
		right: 0;
	}
/*　Post - 投稿ページ　*/
	.another_room {
		margin: -15px 0 15px 0;
	}
	.box27 {
		margin-top: 60px !important;
		width: 100% !important;
	}
	.formlink,
	.line {
		display: block;
		margin: 10px auto;
		width: 100%;
	}
	.formtel {
		margin: 0;
		padding: 20px 10px;
	}
	.form-tel {
		display: block;
		text-align: center;
	}
	.form-tel img {
		margin: 10px 0 0;
	}
	.gaiyou_flex {
		padding-top: 0;
		width: 100%;
	}
	.gaiyou_flex div {
		margin: 0 auto;
		width: 85%;
	}
	.gaiyoulist {
		line-height: 1.8;
	}
	.gaiyoulist dd {
		flex: 0 0 70%;
	}
	.gaiyoulist dt {
		flex: 0 0 30%;
	}
	.madori {
		display: block;
		margin: 0 auto 30px;
		width: 100%;
	}
	.posth2 {
		margin-top: 50px !important;
	}
	.posth3 span::after,
	.posth3 span::before {
		width: 50px;
	}
	.quick-raiten {
		width: 100%;
	}
	.staffcomment {
		padding: 10px;
	}
	.staffcomment-1 {
		margin: 0;
		padding: 10px;
	}
	.staffcomment img {
		margin-top: 25px;
	}
	.tel-plus {
		width: 100%;
	}
	.thanks {
		margin-bottom: 0;
	}
	.title-between {
		height: auto;
	}
/*　OpenRoom - オープンルーム　*/
	main .widget-entry-cards .openroom-tag {
		bottom: 85px;
	}
	.open-days {
		font-size: 14px;
		width: 100%;
	}
	.open-fuzai {
		text-align: start;
	}
	.open-naiyou {
		padding: 10px;
	}
	.open-room {
		padding: 20px;
		width: 100%;
	}
	.open-room-1 {
		width: 100%;
	}
	.openroom-tag {
		bottom: 0;
		font-size: 10px;
	}
	.recommended_flex .openroom-tag {
		bottom: 91px;
		top: auto;
	}
	#sidebar .openroom-tag {
		bottom: 5px;
	}
/*　Q&A - よくあるご質問　*/
	.lp_title-pc {
		display: block !important;
	}
	.post_qa label {
		align-items: start;
		padding: 10px 45px 10px 15px;
	}
	.post_qatab::before {
		font-size: 16px;
	}
/*　FrontPage - フロントページ　*/
	.p-cta {
		font-size: 19px;
		height: 250px;
		margin-bottom: 0 !important;
	}
	#post-1802 .list-new,
	#post-13627 .list-new {
		padding: 0;
		position: initial;
	}
	#post-1802 .top_subtitle {
		padding-top: 20px;
	}
	.top_1 {
		margin-bottom: 0;
	}
	.top_2 {
		max-width: 100%;
	}
	.top_2 a {
		margin: 20px auto 50px;
		width: 90%;
	}
	.top_3 {
		height: auto;
	}
	.top_button a {
		display: block;
		margin: 10px 5px;
		width: auto;
	}
	.top_button a:last-child {
		margin-bottom: 5px;
	}
	.top_office {
		padding: 15px;
	}
	.top_office dl {
		font-size: 14px;
		line-height: 1.5;
		width: auto;
	}
	.top_photo a {
		font-weight: bold;
	}
	.toptag {
		padding: 5px;
	}
/*　AboutUs - 会社概要　*/
	.access_p {
		margin-bottom: 0;
		padding: 20px 0;
	}
	.company td,
	.company th {
		display: block;
		font-size: 14px;
		padding: 5px 15px;
		text-indent: 0;
		width: auto;
	}
	.staff-access {
		width: 100%;
	}
/*　Contactform - 問い合わせフォーム　*/
	.flexForm {
		display: block;
	}
	.formTel {
		margin: 0;
	}
	#submit:hover {
		opacity:  1 !important;
	}
	.toiawaseRight,
	.toiawaseSmall {
		width: 100%;
	}
	.wpcf7 {
		padding: 0;
	}
	.wpcf7 form {
		margin: 22px 12px 0;
	}
	.wpcf7-form-control-wrap {
		line-height: 2;
	}
/*　Widget - ウィジェット　*/
	.widget-entry-card-thumb {
		margin-right: 10px;
		margin-top: 0;
	}
	.widget-entry-card-title {
		padding-top: 5px;
	}
/*　Footer - フッター　*/
	.copyright {
		color: #444;
	}
	.footerBox {
		background: #fff;
		padding: 50px 20px 0;
	}
	.footerTel {
		margin-top: 20px;
	}
	.linkBox {
		background: #fff;
	}
	.linkBox ul {
		border-bottom: 1px solid #e5e5e5;
		padding-bottom: 0;
		padding-top: 0;
	}
	.linkBox ul li {
		border-bottom: 1px solid #e5e5e5;
		border-left: 1px solid #e5e5e5;
		border-right: none;
		line-height: 3.5;
		padding: 0;
		width: 46%;
	}
    .linkBox ul li:first-child,
	.linkBox ul li:nth-child(2n+1) {
		border-left: 0;
	}
	.linkBox ul li:nth-last-child(-n+2) {
		border-bottom: 0;
	}
/*　Recommend - おすすめ物件　*/
	.recommended_flex .list-new {
		line-height: 1.6;
		padding-bottom: 20px;
		padding-top: 0;
		position: initial;
	}
	.recommended_flex li {
		max-width: calc(50% - 10px / 2);
		width: 50%;
	}
	.recommended_flex li:nth-child(2n) {
		margin-right: 0 !important;
	}
	.recommended_flex li:nth-child(3n) {
		margin-right: 10px;
	}
/*　Members - 会員登録　*/
	input[type="password"] {
		margin-bottom: 10px;
		margin-left: 0;
		width: 100%;
	}
/*　RelatedPosts - 関連記事　*/
	.related-list .list-new {
		position: initial;
	}
/*　MyList - MYリスト一覧ページ　*/


	.p-list_wrapper {
		flex-flow: column;
	}
/*　MobileFooter - モバイル固定フッター　*/
	.kengaku-button::before,
	.raiten-button::before {
		content: "\f554";
	}
	.satei-button::before {
		content: "\f1ec";
	}
	.tel-button::before {
		content: "\f095";
	}
}



/*　不明　*/
.click {
	display: inline-block;
	margin-bottom: 10px;
}
.pc-none {
	display: none;
}
@media screen and (max-width: 480px) {
	.special-color {
		display: block;
	}
	.column-member {
		width: 49%;
	}
	.flex-member {
		display: flex !important;
	}
	.pc-none {
		display: block;
	}
	.price-room {
		font-size: 14px;
	}
}

/* ----------------------------------------------------------------------
 ShareButton - シェアボタン
---------------------------------------------------------------------- */
.sns-share-buttons {
	display: flex;
	margin-top: 10px !important;
}
.sns-share-buttons a {
	height: 40px;
	margin: 8px;
    width: 40px;
}
.sns-share-buttons a:first-child {
	margin-left: 0;
}
.footer-bottom {
	margin-top: 0;
}
.text-small i {
	color: #ffd43b;
}


@media screen and (max-width: 480px) {
	form.post_password input[type="submit"] {
		font-size: 15px;
		margin-left: 0;
	}



	.member-button::before {
		content: "\f502";
	}
	

 .list-button::before {
    content: "\f005";
  }
.entry-card-title {
  font-size: 15px;
}



}


.sort {
	width: auto;
  font-size: 15px;
  padding: 5px;
  color: #000;
  margin-bottom: 10px;
	margin-left: auto;
  display: block;
	height: 40px;
}

.tag-content, .tag-page-content, .tag-page-content p {
	margin-bottom: 0 !important;
}

.simple-about {
display: block;
  font-size: 13px;
  text-align: right;
  text-decoration: underline;
}

.simplefavorite-button {
display: inline-flex;
  align-items: center;
}
.simplefavorite-button.active {
  opacity: 1 !important;
}
.simplefavorite-button i {
	font-size: 20px;
	color: #ccc;
  font-size: 20px;
	padding: 8px;
}

/* ----------------------------------------------------------------------
 MyList - MYリスト一覧ページ
---------------------------------------------------------------------- */
.p-list_title {
	background: none !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin: 0 !important;
	padding: 5px 0 0 !important;
}
.p-list_img {
	max-height: 143px;
	overflow: hidden;
}
.p-list_item {
	display: block;
	margin-bottom: 30px;
	margin-right: 10px;
	max-width: calc(33.33% - 20px / 3);
	position: relative;
	transition: 0.2s ease-in-out;
	width: 33%;
}
.p-list_item:nth-of-type(3n) {
	margin-right: 0;
}
.p-list_item .simplefavorite-button i {
  font-size: 16px;
  padding: 0;
}




@media screen and (max-width: 480px) {
  .p-list_item {
    border: 1px solid #d6d6d6;
    margin-bottom: 8px;
    max-width: 100%;
    padding: 5px;
    width: 100%;
  }
  .p-list_img {
    float: left;
    height: 120px;
    margin-right: 15px;
  }
.p-list_img img {
    height: 120px;
    object-fit: cover;
    width: 120px;
  }
	.p-list_item .list-new {
    padding: 10px 10px 10px 0;
  }

	.p-list_item .flex-between {
		display: flex;
	}
	

	
	
}
.gaiyoulist .pricecolor {
	font-size: 16px;
}
.toptag_flex a {
	border-radius: 30px !important;
	border-color: #ccc;
}
.list-new .list-price {
	font-size: 16px;
}
.entry-card-title {
  font-size: 16px;
}
.pagination .current {
  background-color: #f6fff6;
}
.side_area a {
	font-size: 14px;
}

.related-entry-heading {
	padding-bottom: 10.2px;
}

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

.flex-tag a {
	padding: 5px 30px;
}	

}



.raiten-waku {
	width: 100%;
	margin-top: 50px;
	border: 5px solid #f4f4f4;
	padding: 20px;
}
.raiten-waku img {
	width: 46%;
	height: 210px;
}


.raiten-logo span {
	font-weight: bold;
	font-size: 15px;
}
.flex-around {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.raiten-bt {
background: #f9f1e4;
  display: block;
  text-align: center;
  padding: 10px;
	color: #000 !important;
	margin-top: 20px;
	border-radius: 40px;
font-size: 14px;
  font-weight: bold;
}

.raiten-waku p {
	margin-bottom: 0!important;
}
.raiten-waku .inner {
	padding: 20px;
}

.raiten-waku-1 {
	height: 210px;
	width: 380px;
}








@media screen and (max-width: 480px) {
	.raiten-waku img {
		width: 100%;
	}

	.raiten-bt {
		margin: 20px 0 0 ;
	}
.raiten-waku-1 {
	width: 100%;
	height: auto;
}
	.raiten-logo div {
		padding-top: 0;
	}

}



img {
	vertical-align: initial;
}

.admin-pv {
	display: none;
}

.favoritetag-title {
background: #f55a11;
  color: #fff;
  padding: 5px 10px;
}

.favoritetag-1 {
	border-bottom: dotted 1px #f55a11;
	margin-bottom: 10px;
	color: #000;
	font-size: 15px;
	font-weight: bold;
}

.favorite-tag::before {
  color: #f55a11;
  content: "\f054";
}

.favorite-tag {
margin-left: 20px;
  font-size: 14px;
	color: #000 !important;
}


.base {
	color: #000;
	font-size: 14px;
}

.top-contenttitle {
  background: transparent !important;
  font-size: 20px !important;
  padding: 40px 0 0 !important;
    padding-top: 40px;
  text-align: center;
}
.baikyaku-contenttitle {
  margin-top: 0 !important;
  padding-top: 20px !important;
}

.button1 p {
margin-bottom: 15px;
  font-size: 13px;
}
.button2 {
font-weight: 700;
  font-size: 15px;
}
.page-left {
	text-align: initial;
}
.tel-form {
	width: 40%;
	margin: auto 0 0;
}


.tel-form .baikyaku-calculator {
	width: 100%;
	margin: 0;
}
.baikyaku-calculator {
background: #f55a11;
  color: #fff !important;
  display: flex;
  font-weight: 700;
  font-size: 14px;
	width: 336px;
  height: 48px;
  border-radius: 4px;
  align-items: center;
  justify-content: center;
	margin: 20px auto 0;
}

.section-wrapper {
	border-top: 1px solid #ccc;
	padding: 40px 0 0 !important;
	margin-top: 50px;
}
.line_new {
	background: #06c755;
	border: 1px solid #06c755;
}
.line_new::before {
	content: "\f3c0";
	font-family: "Font Awesome 5 Brands";
	margin-right: 15px;
}
.line_new::before {
	font-size: 20px;
	vertical-align: middle;
}
.line_new span {
	font-size: 17px;
	font-weight: bold;
	vertical-align: middle;
}
.line_new {
	color: #fff !important;
	font-size: 14px;
	line-height: 1.4;
	margin: 20px 0;
	padding: 5px 0;
    text-align: center;
    width: 49%;
}
.line-page {
  margin: 20px auto 0;
  display: flex;
  width: 336px;
  height: 48px;
  border-radius: 4px;
  align-items: center;
  justify-content: center;
}
.base .list-new {
	position: initial;
}
#breadcrumb a {
  font-size: 12px;
}
#breadcrumb .fa-fw {
  display: none;
}

.more-close,
.more-open {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	width: 100%;
}
.more-close::after,
.more-open::after {
	color: #ffd36e;
}
.more-close::after {
	content: "\f077";
}
.more-open::after {
	content: "\f078";
}
.new-more {
	font-size: 12px;
	width: 30%;
}
.read-more-0 {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#read-more-0 input, /* inputは非表示 */
#read-more-0 input ~ span.more-close,
#read-more-0 input ~ span.more-contents,
#read-more-0 input:checked ~ span.more-open { /*チェックされたinputの弟で、クラス名がmore-openのspanに適用*/
	display: none;
}
#read-more-0 input ~ span.more-open { /* 無くても機能する */
	display: inline-block;
}
#read-more-0 input:checked ~ span.more-contents {
	display: inline-flex;
	flex-wrap: wrap;
}
.top-more {
	color: #444;
	font-weight: bold;
	margin-bottom: 30px;
	margin-right: 10px;
	max-width: calc(33.33% - 20px / 3);
	width: 33.33%;
}
.top-more:nth-of-type(3n) {
	margin-right: 0;
}
.top-more span {
	display: block;
	font-size: 11px;
	font-weight: normal;
	line-height: 1.6;
}
.triangle::before {
	display: none;
}
.cp_actab {
	color: #444;
	font-size: 14px;
	margin: 0 auto;
	width: 80%;
}
.cp_actab .cp_actab-content {
	background: #e8f5f3;
	max-height: 0;
	overflow: hidden;
	transition: max-height .5s;
}
.cp_actab input {
	opacity: 0; 
	position: absolute;
 	z-index: -1;
}
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 200px;
}
.cp_actab input:checked ~ label::after {
	transform: rotate(315deg);
}
.cp_actab label {
	border-bottom: 1px solid #c4e1e9;
	display: block;
	line-height: 2;
	padding: 10px;
	position: relative;
}
.cp_actab label::after {
	color: #ff7b54;
	content: '+';
	font-size: 20px;
	font-weight: bold;
	position: absolute;
	right: 0;
	text-align: center;
	transition: all .5s;
	width: 35px;
}
.flow_title::before {
	background: #e8f5f3;
	border: 1px solid #666;
	border-radius: 50%;
	color: #fff;
	display: inline-block;
	font-size: 17px;
	line-height: 30px;
	margin-right: 20px;
	text-align: center;
	text-shadow: 1px 0 0 #666,0 1px 0 #666,-1px 0 0 #666,0 -1px 0 #666;
	width: 30px;
}
.flow_title-1::before {
	content: "1";
}
.flow_title-2::before {
	content: "2";
}
.flow_title-3::before {
	content: "3";
}
.flow_title-4::before {
	content: "4";
}
.flow_title-5::before {
	content: "5";
}
.flow_title-6::before {
	content: "6";
}
.triangle {
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #c4e1e9;
	margin: 0 auto;
	width: 0;
}
.flow-content {
	margin-bottom: 0 !important;
	padding: 10px 20px;
}
.tab::before {
	background: #666;
	border-radius: 50%;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	line-height: 20px;
	margin-right: 10px;
	text-align: center;
	width: 20px;
}
.tab-a::before {
	content: "A";
}

.related-tag {
border-bottom: 3px double #bababa;
  margin-bottom: 10px;
  font-weight: bold;
  text-indent: 5px;
  font-size: 18px;
	margin-top: 30px;
}
.related-tag1 {
	font-size: 15px;
}
.tag-header .top-tag {
  flex: 1 1 auto;
  margin: 5px;
  border: 1px solid #ddd;
  padding: 5px;
  color: #333;
	border-radius: 0;
  font-size: 12px;
}
.tag-header {
	background: #fff !important;
	padding: 0;
}
.tag-header a::after {
  margin-left: 8px;
  position: initial;
}
#post-1802 .title-between {
	display: none;
}

.button_flex a {
  border: 1px solid #ccc;
  font-size: 14px;
  padding: 5px 10px 5px 20px;
}
.button_flex a:first-child {
  margin-right: 20px;
}
.button_flex a::after {
  color: #353c59;
  content: "\f078";
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 50px;
}

.gallery-form .baikyaku-calculator {
    display: block;
    font-weight: 400;
    font-size: 13px;
    height: auto;
    padding: 5px;
}
.gallery-form .baikyaku-calculator {
    margin-top: 0;
    margin-bottom: 20px;
}
.baikyaku-calculator {
    align-items: center;
    background: #353c59;
    border-radius: 4px;
    color: #fff !important;
    display: flex;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    margin: 20px auto 0;
    width: 336px;
}
.gallery-form .baikyaku-calculator span {
    font-weight: 700;
    font-size: 15px;
}
.gallery-form .baikyaku-calculator:nth-child(2) {
    background: #ffd36e;
    color: #4E4E4E !important;
}
.button1 {
  border: 1px solid #e5e5e5;
  padding: 24px;
  text-align: center;
}
.gallery-form {
  padding: 14px 14px 0;
}
.button1 .inner {
  width: 50%;
}
.button1 .raiten-logo {
  margin: 10px auto;
}
.raiten-logo {
  text-align: initial;
}
.raiten-logo img {
  height: auto !important;
  width: 100px !important;
	object-fit: contain;
}
.raiten-logo div {
  font-size: 13px;
  margin: 0 auto;
}
.gallery-form .tel-form {
  margin: auto 0;
  width: 50%;
}
.gallery-form .raiten-bt {
  background: #fff;
  border: 1px solid #06c755;
  border-radius: 40px;
  color: #06c755 !important;
  margin: 10px auto 5px;
  padding: 5px;
  width: 336px;
}
.gallery-form .raiten-bt img {
  margin-right: 10px;
  vertical-align: middle;
  width: 25px;
}
.gallery-form .raiten-bt img {
  margin-right: 10px;
  vertical-align: middle;
  width: 25px;
}
.gallery-form .border {
  border-top: 1px solid #e5e5e5;
}

.gallery-form .baikyaku-calculator:nth-child(2) {
    color: #000 !important;
	background: #f4f1ef;
    border: 1px solid #ddd;	
}
.colorh3 {
  color: #353c59;
  margin-bottom: 0 !important;
  text-align: center;
}
.article h3 {
  border: 0;
  line-height: 1.75;
  margin-top: 30px;
}
.waku {
  border: 1px solid #353c59;
  font-size: 13px;
  padding: 10px;
}
.waku p {
  margin-bottom: 0;
}
.inside_photo {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  margin: 40px 0 10px;
}
.posth3 {
  border-bottom: 1px solid #e5e5e5 !important;
  font-size: 16px !important;
  padding: 12px 20px 5px 10px !important;
}












@media screen and (max-width: 480px) {
	.button1 img {
		margin-top: 0;
	}
	.tel-form {
		width: 100%;
		margin-top: 15px;
	}

.simple-width {
	width: 100%;
}
.page-left {
	text-align: center;
}

	.base table th,
	.base table td {
		font-size: 12px;
	}
 .top-more {
    font-size: 12px;
    max-width: calc(50% - 10px / 2);
    width: 50%;
  }
 .top-more:nth-of-type(2n) {
    margin-right: 0 !important;
  }
.top-more:nth-of-type(3n) {
    margin-right: 10px;
  }
 .cp_actab {
    width: 100%;
  }
.related-tag {
	font-size: 15px;
}
	 .button_flex a {
    font-size: 12px;
    position: relative;
  }
 .button_flex a:first-child {
    margin-right: 10px;
    width: 60%;
  }
.button_flex a:last-child {
    width: 40%;
  }
 .button_flex a::after {
    position: absolute;
    right: 10px;
  }
	 .top-contenttitle {
    font-size: 17px !important;
  }
  .button1 .inner {
    display: block;
    width: 100%;
  }
  .gallery-form .raiten-logo div {
    padding-top: 0;
  }
  .raiten-logo div {
    text-align: center;
    width: 100%;
  }
  .gallery-form .tel-form {
    width: 100%;
  }
 .raiten-logo {
    text-align: center;
  }
  .button_flex {
    display: flex;
  }
	
	.form-privacy {
text-align: initial;
  padding: 20px;
	}
	
		
}


.kasaneru6{
  position: relative;
margin-bottom: 10px;

}
.kasaneru6 img.imagup{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);

	width: 400px;
}
.concept-logo {
width: 100px;
height: auto;
margin: auto 0 auto 20px;
}

.concept span {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 5px;
  display: block;
}

.concept {
  border: 1px solid #ddd;
  padding: 15px;
  font-size: 13px;
  margin-top: 50px;
  margin-bottom: 50px;
}

.concept-tel {
  width: 40%;
  text-align: center;
	margin: auto 0;
}

.concept .raiten-bt {
  margin: 0 auto;
    margin-top: 0px;
  width: 80%;
  padding: 5px;
}
.concept .flex-between {
  padding-top: 25px;
  border-top: 1px solid #ddd;
  margin-top: 20px;
}


/* 外枠：縦にも横にもスクロール（スクロールバーはここだけ） */
.news-wrapper {
    max-height: 200px;
    overflow: auto;        /* ← 縦＋横スクロールをまとめてここに */
    padding: 8px;
    border: 1px solid #ddd;
	font-size: 12px;

}

/* UL は縦並び */
.news-list {
    padding: 0;
    margin: 0 !important;
}

/* LI も縦並び */
.news-list li {
    list-style: none;
    margin-bottom: 8px;
    padding: 4px 0;
    border-bottom: 1px solid #eee; /* ← 薄いライン */
}

/* 横に長い内容を1行に収める（スクロールは wrapper が担当） */
.news-item-inner {
    display: block;
}

/* NEWバッジ */
.news-new {
  display: inline-block;
  background: #e60033;
  color: #fff;
  padding: 0 5px;
  font-size: 11px;
  border-radius: 4px;
  margin-right: 4px;
  font-weight: 700;
}
.news-badge {
  background: #f2f2f2;
  color: #333;
  padding: 0 4px;
  font-size: 11px;
  margin: 0 5px;
	border: 1px solid #ccc;
}
.badge-up {
    background: #ff0000;
    color: #fff;
	border: 0;
}
.news-archive-list li {
    list-style: none;
    padding: 10px 0;
    border-bottom: 1px solid #eee; /* 薄い下線 */
	font-size: 13px;
}

.top-news {
border: 1px solid #ddd;
  margin-left: auto;
  width: 110px;
  text-align: center;
  font-size: 12px;
	display: block;
	color: #333;
	margin-top: -30px;
}

.top-news::after {
  content: "\f054";
	color: #aaa;
}


#text-6 {
	display: none;
}

#text-6 a {
display: flex;
  border: 2px solid #dda853;
  padding: 15px;
}



.entry-card-wrap {
	height: 300px;
}

/* soldout のときのフィルターだけ適用 */
.entry-card-thumb.soldout img {
  filter: grayscale(100%) brightness(60%);
}

/* figure の位置調整（必要） */
.entry-card-thumb {
  position: relative;
  overflow: hidden;
}



.soldout-text {
  font-size: 14px;
}

.show-all-properties {
	font-size: 14px;
}
.show-all-properties label {
text-align: right;
  display: block;
}



@media screen and (max-width: 480px) {
.entry-card-wrap {
  height: auto;
}
}





@media screen and (max-width: 768px){
.kasaneru6 img.imagup{
  width: 70%;
}
	
 .concept .flex-between {
    display: block !important;
    text-align: center;
  }
 .concept-tel {
    width: 100%;
    margin-top: 15px;
  }
	
	
	
}



.ect-2-columns .entry-card-wrap {
  padding: 0 0 12px;
}
.entry-card-thumb img {
  max-height: 180px;
}
.entry-card-thumb {
  margin-top: 0;
}
.entry-card-wrap {
	height: auto;
}
.entry-card-content h2 {
  font-size: 16px;
  padding: 0 15px;
}
.ect-vertical-card .entry-card-wrap .entry-card-meta {
	padding: 0 15px;
}
.ect-vertical-card .entry-card-wrap .entry-card-thumb {
	height: 180px;
}
.entry-card-title {
  margin-bottom: 0;
}

@media screen and (max-width: 480px) {
  .ecb-entry-border .entry-card-wrap {
    border: none;
  }
.entry-card-wrap:first-child {
    border-top: 10px solid #f9f1e4;
  }
  .entry-card-wrap, .related-entry-card-wrap, .sidebar .a-wrap {
    padding: 10px 0 !important;
  }
	
 .a-wrap {
    border-bottom: 10px solid #f9f1e4 !important;
    margin: 0 !important;
  }
 .related-list .a-wrap figure {
    float: left !important;
    height: 120px;
    margin-right: 10px !important;
    margin-top: 0;
    width: 120px !important;
  }
 .related-list .a-wrap img {
    height: 120px !important;
  }
 .list-new {
    bottom: 0;
    padding: 20px 5px 5px 20px;
    position: absolute;
    right: 0;
    text-align: right;
	 line-height: 1.5;
  }
	
	
.entry-card-wrap {
  height: auto;
}
	.list .list-price {
font-size: 24px;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 24px;
	}
	.list .list-new {
display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    color: #707070;
    align-items: end;
    text-align: initial;
    position: initial;
    padding: 0;
	}
	.list .entry-card-content h2 {
		font-size: 14px;
	}
	
	.list .list-price1 {
		font-size: 14px;
		margin-left: 2px;
	}
	
.ect-vertical-card .entry-card-wrap .entry-card-thumb {
  width: 100% !important;
  float: none !important;
}
	
.entry-card-content h2 {
    padding: 10px 5px 5px 0;
    margin-bottom: 0;
  }
	
  .a-wrap {
    border-bottom: 10px solid #f9f1e4 !important;
    margin: 0 !important;
    max-width: 100%;
    padding: 10px 0 !important;
    width: 100% !important;
  }
	
	.list .a-wrap {
		padding: 0 0 10px !important;
	}
  .entry-card-wrap:first-child {
	  padding-top: 10px !important;
  }
	
.baikyaku-calculator,
.gallery-form .raiten-bt {
	width: auto;
}
	
	.page-id-1802 main .widget-entry-cards {
		display: block;
	}
	.page-id-1802 main .widget-entry-card-link {
		max-width: 100%;
	}
  .page-id-1802 .widget-entry-cards figure img {
    height: 180px;
  }
  .page-id-1802 main .widget-entry-cards .list-new {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    color: #707070;
    align-items: end;
    text-align: initial;
    position: initial;
    padding: 0;
  }
 .page-id-1802 main .list-price {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 24px;
  }
 .page-id-1802 main .list-price1 {
    font-size: 14px;
    margin-left: 2px;
  }
	.recommended_flex {
		padding: 10px 20px !important;
	}

	
	
	
	
	
	
}







.ect-vertical-card .entry-card-wrap .entry-card, .rect-vertical-card .related-entry-card {
  display: block;
}

.ect-vertical-card .entry-card-wrap .entry-card-content {
	height: auto;
}

.hissu {
  color: #cb0000;
}
#contact .wpcf7-checkbox {
  display: flex;
}
#contact .wpcf7-checkbox .first {
  margin-right: 40px;
}
.wpcf7-form-control-wrap {
  line-height: 2.5;
}
#contact label {
  margin-top: 20px;
  display: block;
}
.wpcf7-list-item {
  margin-left: 0;
}
input[type="checkbox"] {
  margin: 0 10px 0 5px;
  transform: scale(1.5);
}
/* カレンダー入力欄 */
.my-custom-calendar {
letter-spacing: .08em;
	cursor: pointer;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill='%23000' d='M13.3 13.3h-2.6v-2.6h2.6zm-4-6.6H6.7v2.6h2.6zm4 0h-2.6v2.6h2.6zm-8 4H2.7v2.6h2.6zm4 0H6.7v2.6h2.6zm-4-4H2.7v2.6h2.6zM16 1.3V16H0V1.3h2V2c0 .7.6 1.3 1.3 1.3S4.7 2.7 4.7 2v-.7h6.6V2c0 .7.7 1.3 1.4 1.3S14 2.7 14 2v-.7zm-1.3 4H1.3v9.4h13.4zM13.3.7c0-.4-.3-.7-.6-.7-.4 0-.7.3-.7.7V2c0 .4.3.7.7.7.3 0 .6-.3.6-.7zM4 2c0 .4-.3.7-.7.7-.3 0-.6-.3-.6-.7V.7c0-.4.3-.7.6-.7.4 0 .7.3.7.7z' opacity='.4'/%3E%3C/svg%3E");
  background-position: right 17px center;
  background-repeat: no-repeat;
}
/* セレクトボックス（時間帯）の最終調整 */
.page-id-54364 .wpcf7-form-control.wpcf7-select,
.page-id-13543 .wpcf7-form-control.wpcf7-select {
    /* 1. ブラウザ標準の矢印を完全に消す */
    appearance: none;
    
    /* 3. 自作の矢印アイコンを背景として設置 */
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important; /* 右端から10pxの位置に固定 */
    background-size: 18px !important;

    /* 4. 見た目の調整 */
    cursor: pointer;
}
.top-soudan {

  padding: 20px;
  width: 80%;
  margin: 50px auto;
  text-align: center;
  background: #b5933a;

	letter-spacing: 0.05em;
	font-weight: bold;
   color: #fff !important;
	display: block;
}

.top-soudan {
	width: 80%;
	padding: 10px;
	margin-top: 15px;
}
#contact .wpcf7-not-valid,
#bukken .wpcf7-not-valid {
  background-color: #fff1eb !important;
  border-color: #d84100 !important;
}

.toiawase-1 {
  margin-top: 60px;
}
.form1 {
  width: 70%;
}






input[type="text"],
textarea,
input[type="tel"],
input[type="email"] {
  border-radius: 0;
}

[data-name="checkbox-361"] label {
	margin-top: 0 !important;
}

#bukken label {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
#bukken label span.title {
  flex-basis: 200px;
  flex-shrink: 0;
}
.page-id-537 .wpcf7-form-control-wrap,
.page-id-537 select {
  width: 100%;
}
/* セレクトボックス（時間帯）の最終調整 */
.page-id-537 .wpcf7-form-control.wpcf7-select,
#bukken .wpcf7-form-control.wpcf7-select,
.button1 select {
    /* 1. ブラウザ標準の矢印を完全に消す */
    appearance: none;
    
    /* 3. 自作の矢印アイコンを背景として設置 */
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important; /* 右端から10pxの位置に固定 */
    background-size: 18px !important;

    /* 4. 見た目の調整 */
    cursor: pointer;
}
.page-id-537 .toiawase {
  margin-bottom: 25px;
}


.form-bordernone {
	border: none;
}
.reserve-box {
  background: #faf8f4;
  padding: 16px;
  border-radius: 8px;
  border: .5px solid #e0ddd6;
  text-align: initial;
}
.reserve-box label {
  color: #111;
  display: inline-block;
  font-weight: 500;
}
.reserve-box .flex-between {
  flex-wrap: initial;
}
.reserve-box input {
  color: #111;
}
.reserve-box input,
.reserve-box select {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border-radius: 6px;
  border: 1px solid #ccc;
	font-size: 14px;
}
.reserve-box label {
  display: block;
  margin-top: 15px;
  width: 180px;
	font-size: 12px;
}
.reserve-button {
  display: block;
  background: #ea5921;
  color: #fff !important;
  text-align: center;
  padding: 12px;
  text-decoration: none;
font-size: 14px;
  background: #b5933a;
  color: #fff !important;

}

/* カレンダー全体のフォントや枠線を整える */
.flatpickr-calendar {
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-radius: 12px;
}

/* 選択された日付の色を変える */
.flatpickr-day.selected, .flatpickr-day.selected:hover {
    background: #0073aa; /* ここをお好みの色に！ */
    border-color: #0073aa;
}

/* 今日の日付の枠線の色 */
.flatpickr-day.today {
    border-color: #0073aa;
}


/* 土曜日の色を青にする（7番目の列） */
.flatpickr-day:nth-child(7n),
.flatpickr-day:nth-child(7n):hover {
    color: #007bff; /* 鮮やかな青 */
}

/* 日曜日の色を赤にする（7n+1番目の列、または特定の条件） */
/* Flatpickrの週の始まり設定によって調整が必要ですが、通常はこちらでOK */
.flatpickr-day:nth-child(7n+1),
.flatpickr-day:nth-child(7n+1):hover {
    color: #ff4d4d; /* 鮮やかな赤 */
}

/* 選択された日の文字色は白を維持（背景色に負けないように） */
.flatpickr-day.selected, 
.flatpickr-day.selected:hover {
    color: #fff !important;
}

/* 過去の日付（選択不可）はグレーのままにする */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: rgba(57, 57, 57, 0.3) !important;
}

.reserve-box select {
	color: #000;
}

/* ============================================================
   スマホ：カレンダー/セレクトのタップ時に起きるiOS自動ズームを防止
   ------------------------------------------------------------
   iOSは input/select/textarea の font-size が 16px 未満だと、
   フォーカス時に画面を自動拡大する。表示倍率(viewport)はいじらず、
   フォーカス対象の実フォントだけ 16px に引き上げて防ぐ。
   （見た目の差は 14→16px のみ。レイアウトは崩れない）
   ============================================================ */
@media screen and (max-width: 768px) {
  .reserve-box input,
  .reserve-box select,
  .reserve-box textarea,
  .my-custom-calendar,   /* Flatpickrの表示用入力(altInput) */
  #visit-date,
  #visit-time {
    font-size: 16px !important;
  }
}















@media screen and (max-width: 480px) {
#wpcf7-f54363-p54364-o1,
#wpcf7-f54372-p13543-o1,
#wpcf7-f9-p537-o1 {
    background: none;
    border: none;
  }
 #contact .wpcf7-checkbox label {
    margin-top: 0;
  }
/* チェックボックスの標準デザインをリセット */
#members-form .wpcf7-checkbox input[type="checkbox"],
#contact .wpcf7-checkbox input[type="checkbox"] {
    appearance: none;
	
    /* 枠線の設定：ここで細さを調整 */
    border: 1px solid #ccc; /* 1pxが一番細い実線です */
    width: 18px;
    height: 18px;
    background: #fff;
    vertical-align: middle;
    cursor: pointer;
    position: relative;
    border-radius: 2px; /* 少し角を丸くすると親しみやすくなります */
}

/* チェックが入った時の印（レ点） */
#members-form .wpcf7-checkbox input[type="checkbox"]:checked::after,
#contact .wpcf7-checkbox input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid #ea5921; /* チェックの色（お好みで変えてください） */
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
#members-form input[type="checkbox"],
#contact input[type="checkbox"] {
    transform: scale(1.3);
  }
 .wpcf7-form-control-wrap {
    line-height: 2;
  }
	
#members-form select,
#members-form input[type="text"],
#members-form input[type="tel"],
#members-form input[type="email"], 
#contact select,
#contact input[type="text"],
#contact input[type="tel"],
#contact input[type="email"] {
    border-radius: 60px;
    padding-left: 20px;
  }
#members-form .form-privacy,
#contact .form-privacy {
    background: #f4f5f7;
  }
 #members-form #submit,
#contact #submit {
    width: 100%;
    padding: 20px;
  }
#members-form .toiawase,
#contact .toiawase {
    background: #eee;
  }
.form1, .toiawaseSmall {
    width: 100%;
  }	
 #members-form .wpcf7-list-item {
    margin-left: 10px;
  }	
#members-form textarea,
#contact textarea {
    height: 150px;
  }	
#members-form textarea[name="area-1"] {
    margin-top: 10px;
    margin-left: 10px;
  }
  #members-form .toiawaseSmall {
    font-weight: 400;
  }	
#bukken label {
    display: block;
  }
#bukken .form-privacy {
  background: #f4f5f7;
	}	
#bukken input,
#bukken select {
    border-radius: 60px;
    padding-left: 20px;
  }
	#bukken .toiawase {
    background: #eee;
  }
	
	 .reserve-box {
    margin-bottom: 20px;
    padding-top: 5px;
  }
 #bukken #submit {
    width: 100%;
    padding: 20px;
  }	
	
	
	
	
	
	
	/* 親要素：ここを「横並び」の土台にします */
.footer-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex !important; /* 強制的に横並びにする */
  flex-direction: row;       /* 縦並びを禁止し、横一行にする */
  justify-content: space-between; /* 均等に配置 */
  align-items: center;
  padding: 15px 5px;
  background-color: #fff;
  z-index: 9999;
  box-sizing: border-box;
	display: none !important;
	background-color: rgba(0,0,0,.5);
}

/* 子要素：各ボタンを33%の幅にします */
.footer-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  
  /* 幅の設定 */
  width: 32%;        /* 隙間を考慮して33%より少し小さめに設定 */
  flex: 0 0 32%;     /* 勝手に伸び縮みしないよう固定 */  
  height: 33px;      /* 高さを少し抑えるとスマホで押しやすいです */
  font-size: 13px;   /* 3つ並べるので文字サイズは少し小さめが安全 */
  border-radius: 50px;
  white-space: nowrap; /* 改行を防ぐ */
	letter-spacing: .08em;
}

/* 各ボタンの色 */
  .btn-reserve,
  .btn-raiten {
    background-color: #ea5921;
    color: #fff;
    border: 1px solid #F1D3A1;
  }
  .btn-register {
    color: #000;
    background-color: #F8F9FA;
    border: 1px solid #DEE2E6;
  }
 .btn-favorite {
    color: #000;
    background-color: #E3F2FD;
    border: 1px solid #BBDEFB;
  }
 .btn-reserve::before {
	 content: "\f554";
	 margin-right: 5px;
  }
.btn-favorite::before {
    content: "\f004";
	margin-right: 5px;
  }
  .btn-register::before {
    content: "\f502";
	  margin-right: 5px;
  }
  .btn-raiten::before {
    content: "\f54f";
	  margin-right: 5px;
  }
	
	
	
	
	
}


.quick-baikyaku {
background: #353c59;
  border: 1px solid #353c59;
  border-radius: 4px;
  color: #fff !important;
  display: block;
  margin: 25px auto;
  padding: 8px;
  text-align: center;
  width: 50%;
}
.quick-baikyaku::before {
	content: "\f1ec";
	font-size: 20px;
}











.staff-img-1 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  position: relative;
}

.staff-kasaneru:nth-of-type(3n) {
  margin-right: 0;
}
.staff-kasaneru {
	  margin: 10px 15px 20px 0;
  max-width: calc(33.33% - 30px / 3);
  position: relative;
	  object-fit: cover;
}
.staff-kasaneru img.imagup {
  position: absolute;
  left: 50%;
  transform: translate(-50%,-53%);
  width: 100%;
  bottom: -9%;
}

@media screen and (max-width: 480px) {
  .staff-kasaneru {
    max-width: calc(50% - 10px / 2);
	  margin: 0 10px 10px 0;
  }
.staff-kasaneru:nth-of-type(3n) {
  margin-right: 10px;
}
  .staff-kasaneru:nth-of-type(2n) {
    margin-right: 0;
  }
.staff-kasaneru img.imagup {
	bottom: -8%;
	}
	
	.quick-baikyaku {
		width: 100%;
	}	
	
	.reserve-button {
		width: 100%;
	}
	
	
	
	
}

.rect-vertical-card .related-entry-card-content {
	height: auto;
}

.linkcolor {
	color: #0081cc !important;
	display: block;
}


.price_waku {
    font-size: 20px;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 10px;	
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 24px;
}
.price_small1 {
	font-size: 15px;
	margin-right: 15px;
	font-weight: 400;
	color: #000;
}
.price_small {
	font-size: 15px;
}
.summary-box dl {
    display: grid;
    grid-template-columns: 90px 1fr;
	  line-height: 2.0;
	font-size: 14px;
}
.summary-box dt {
  color: #9a9b9c;
}
.article h2 {
  font-size: 16px;
  border-left: 4px solid #000 !important;
  padding: 0 15px;
  background: none;
  margin-bottom: 16px;
  margin-top: 50px;
}
.staffcomment-3 {
    background: #f4f5f7;
    font-size: 13px;
    margin: 5px;
    padding: 5px 10px;
}
.box27 {
  border: 1px solid #e5e5e5;
  display: inline-block;
  font-size: 13px;
  margin: 50px 0 20px !important;
  padding: 7.5px 15px;
  position: relative;
}

.box-title::before {
  content: "\f00c";
}

.entry-content > * {
  line-height: 1.75;
	letter-spacing: .02em;
}

.waku {
  border: 1px solid #ddd;
  font-size: 13px;
  padding: 10px;
}
.faq {
	border: 1px solid #ddd;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 16px;
  background: #fff;
}

.faq-q {
border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 10px;
	font-weight: 700;
display: inline-block;
  width: 100%;
}

.faq p {
	margin-bottom: 0 !important;
}
.article h3 {
  font-size: 15px;
  padding-left: 0;
  padding-top: 12px;
}
.article h3 {
  border: 0;
  line-height: 1.75;
  margin-bottom: 0 !important;
}

.footer {
	margin-top: 0;
}



/* ============================================================
  シンプルエスト｜販売中記事用 CTA 3パターン カスタムCSS
  WordPressの「追加CSS」または記事内 <style> に貼り付けて使用
  ヘッダー・フッター・フォントファミリーは含みません
  ============================================================ */

/* ---------- 変数 ---------- */
:root {
  --cta-gold:        #b5933a;
  --cta-gold-pale:   #d4c9a8;
  --cta-gold-bg:     #faf6ec;
  --cta-border:      #e0ddd6;
  --cta-text-dark:   #1a1a18;
  --cta-text-mute:   #7a7060;
  --cta-bg-sub:      #faf8f4;
  --cta-line-border: #b8d8bc;
  --cta-line-bg:     #f0f8f0;
  --cta-line-text:   #1a7a30;
}

/* ---------- 共通ボタン ---------- */
.cta-btn {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .1em;
  padding: 10px 18px;
  text-decoration: none;
  font-weight: 600;
  transition: background .2s, color .2s;
  text-align: center;
  line-height: 1.4;
  border-radius: 0;
  cursor: pointer;
}
.cta-btn--primary {
  background: var(--cta-gold);
  color: #fff;
  border: 0.5px solid var(--cta-gold);
}
.cta-btn--primary:hover { background: #9a7c30; color: #fff; }

.cta-btn--outline {
  background: transparent;
  color: var(--cta-gold);
  border: 0.5px solid var(--cta-gold-pale);
}
.cta-btn--outline:hover { background: var(--cta-gold-bg); }

.cta-btn--line {
  background: transparent;
  color: var(--cta-line-text) !important;
  border: 0.5px solid var(--cta-line-border);
}
.cta-btn--line:hover { background: var(--cta-line-bg); }

.cta-btn--dark {
  color: var(--cta-text-dark);
  border: 0.5px solid var(--cta-text-dark);
}
.cta-btn--dark:hover { background: var(--cta-border); color: var(--cta-text-dark); }

.cta-btn--sm  { padding: 10px 18px; font-size: 12px; }
.cta-btn--full { width: 100%; display: block; }
.cta-btn--bot { padding: 13px 10px; font-size: 12px; letter-spacing: .08em; }


/* ---------- 上段CTA ---------- */
.cta-top {
  background: #fff;
  border: 0.5px solid var(--cta-border);
  padding: 20px 24px;
  margin: 32px 0;
}
.cta-top__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.cta-top__text { flex: 1; }
.cta-top__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--cta-text-dark);
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.cta-top__sub {
  font-size: 12px;
  color: var(--cta-text-mute);
  letter-spacing: .04em;
  line-height: 1.7;
}
.cta-top__btns {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}


/* ---------- 中段CTA ---------- */
.cta-mid {
  background: var(--cta-bg-sub);
  border: 0.5px solid var(--cta-border);
  padding: 36px 32px;
  text-align: center;
  margin: 40px 0;
}
.cta-mid__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--cta-text-dark);
  font-weight: 600;
  margin-bottom: 16px;
}
.cta-mid__eyebrow span {
  display: inline-block;
  width: 20px;
  height: 1px;
  background: var(--cta-gold);
  flex-shrink: 0;
}
.cta-mid__title {
  font-size: 18px;
  font-weight: 300;
  color: var(--cta-text-dark);
  letter-spacing: .06em;
  margin-bottom: 8px;
  line-height: 1.6;
}
.cta-mid__sub {
  font-size: 12px;
  color: var(--cta-text-mute);
  margin-bottom: 28px;
  letter-spacing: .04em;
  line-height: 1.9;
}
.cta-mid__btns {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}


/* ---------- 下段CTA ---------- */
.cta-bot {
  background: #fff;
  border: 0.5px solid var(--cta-border);
  overflow: hidden;
  margin: 40px 0 2px;
}
.cta-bot__head {
  background: var(--cta-text-dark);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.cta-bot__head-line {
  width: 1px;
  height: 22px;
  background: var(--cta-gold);
  flex-shrink: 0;
}
.cta-bot__head-title {
  font-size: 11px;
  color: #fff;
  letter-spacing: .16em;
  font-weight: 400;
}
.cta-bot__body { padding: 28px 24px 32px; }
.cta-bot__lead {
  font-size: 15px;
  font-weight: 600;
  color: var(--cta-text-dark);
  letter-spacing: .04em;
  margin-bottom: 6px;
  line-height: 1.7;
}
.cta-bot__sub {
  font-size: 12px;
  color: var(--cta-text-mute);
  line-height: 1.9;
  margin-bottom: 24px;
}
.cta-bot__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.hb-btm-member-section{background:#f5ebe3;padding:22px 28px;margin-bottom:2px;}
.hb-btm-member-title{font-size:13px;font-weight:700;color:#1c1a18;margin-bottom:4px;}
.hb-btm-member-sub{font-size:11px;color:#888480;line-height:1.8;margin-bottom:12px;}
.hb-btm-similar-section{background:#f2f0ed;padding:20px 28px;}
.hb-btm-similar-title{font-size:10px;letter-spacing:2px;color:#888480;margin-bottom:12px;text-transform:uppercase;}
.hb-btm-similar-links{display:flex;flex-wrap:wrap;gap:8px;}
.hb-btm-similar-link{display:inline-block;padding:6px 14px;background:#faf9f7;border:1px solid #ddd9d4;font-size:12px;text-decoration:none;color:#2d2a26;border-radius:2px;transition:all 0.15s;}
.hb-btm-btn-left{display:flex;align-items:center;gap:10px;}
.hb-btm-btn svg{width:15px;height:15px;flex-shrink:0;}
.hb-btm-btn{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:13px;font-weight:700;cursor:pointer;border:none;text-decoration:none;transition:all 0.18s;border-radius:2px;}
.hb-btm-btn-member{background:#f5ebe3;color:#c05a20;border:1px solid #e8c9b3;}
.hb-btm-btn-member:hover{background:#e8c9b3;color:#c05a20;text-decoration:none;}
.hb-btm-similar-links{display:flex;flex-wrap:wrap;gap:8px;}
.hb-btm-similar-link{display:inline-block;padding:6px 14px;background:#faf9f7;border:1px solid #ddd9d4;font-size:12px;text-decoration:none;color:#2d2a26;border-radius:2px;transition:all 0.15s;}
.hb-btm-similar-link:hover{background:#b5933a;color:#faf9f7;text-decoration:none;}




/* ---------- スマホ対応（480px以下） ---------- */
@media (max-width: 480px) {

  .cta-top { padding: 18px 16px; }
  .cta-top__inner { flex-direction: column; align-items: stretch; }
  .cta-top__btns { flex-direction: column; gap: 8px; }
  .cta-top__btns .cta-btn { width: 100%; display: block; }

  .cta-mid { padding: 28px 18px; }
  .cta-mid__title { font-size: 16px; }
  .cta-mid__btns { flex-direction: column; align-items: center; }
  .cta-mid__btns .cta-btn { width: 100%; max-width: 300px; display: block; }

  .cta-bot__body { padding: 22px 16px 26px; }
  .cta-bot__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}



/* ========================================
   幡ヶ谷ベース 営業コンセプトセクション
   カスタム CSS
   ※ ヘッダー・フッター・フォントファミリーのCSSは含みません
   ======================================== */
:root {
  --hb-accent: #b5933a;
  --hb-dark:   #1a1a1a;
  --hb-mid:    #555555;
  --hb-border: #f0f0f0;
}
/* ========================================
   ラッパー
   ======================================== */
.hb-concept {
  max-width: 480px;
  margin: 0 auto;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}
/* ========================================
   写真エリア（スマホ：16/9固定）
   ======================================== */
.hb-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #1c1c1c;
}
.hb-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.78;
}
.hb-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  z-index: 1;
}
.hb-hero__badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  padding: 10px 28px;
  white-space: nowrap;
}
.hb-hero__badge-ja {
  display: block;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.hb-hero__badge-en {
  display: block;
  color: rgba(255, 255, 255, 0.55);
  font-size: 10px;
  letter-spacing: 0.28em;
  margin-top: 3px;
}
/* ========================================
   3ポイント（スマホ：縦積み）
   ======================================== */
.hb-points {
  padding: 20px 0 26px;
  display: flex;
  flex-direction: column;
}
.hb-point {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--hb-border);
}
.hb-point:first-child {
  padding-top: 0;
}
.hb-point:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.hb-point__line {
  flex-shrink: 0;
  width: 2px;
  align-self: stretch;
  min-height: 52px;
  background: var(--hb-accent);
  border-radius: 2px;
}
.hb-point__num {
  font-size: 9px;
  color: var(--hb-accent);
  letter-spacing: 0.18em;
}
.hb-point__text {
  font-size: 14px;
  color: var(--hb-mid);
  line-height: 1.75;
  margin: 0 !important;
}
.hb-point__text strong {
  color: var(--hb-dark);
  font-weight: 600;
}
/* ========================================
   PC（481px以上）：3カラム横並び
   ======================================== */
@media (min-width: 481px) {
  .hb-concept {
    max-width: 100%;
  }
  .hb-hero__badge-ja {
    font-size: 22px;
  }
  .hb-hero__badge-en {
    font-size: 11px;
  }
  .hb-hero__badge {
    padding: 14px 40px;
  }
  .hb-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 36px 40px 40px;
    gap: 0;
  }
  .hb-point {
    padding: 0 32px 0 0;
    border-bottom: none;
    border-right: 1px solid var(--hb-border);
  }
  .hb-point:last-child {
    border-right: none;
    padding-right: 0;
  }
  .hb-point:nth-child(2),
  .hb-point:nth-child(3) {
    padding-left: 32px;
  }
  .hb-point__line {
    min-height: 64px;
  }
  .hb-point__text {
    font-size: 15px;
  }
}



/* ============================================================
  シンプルエスト｜販売終了記事用 CTA 3パターン カスタムCSS
  WordPressの「追加CSS」または記事内 <style> に貼り付けて使用
  ヘッダー・フッター・フォントファミリーは含みません
  ============================================================ */

/* ---------- 変数 ---------- */
:root {
  --scta-gold:        #b5933a;
  --scta-gold-pale:   #d4c9a8;
  --scta-gold-bg:     #faf6ec;
  --scta-border:      #e0ddd6;
  --scta-border-in:   #ece9e2;
  --scta-text-dark:   #1a1a18;
  --scta-text-mute:   #7a7060;
  --scta-text-weak:   #a09880;
  --scta-bg-sub:      #faf8f4;
  --scta-line-border: #b8d8bc;
  --scta-line-bg:     #f0f8f0;
  --scta-line-text:   #1a7a30;
}

/* ---------- 共通ボタン ---------- */
.scta-btn {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .1em;
  padding: 10px 18px;
  text-decoration: none;
  font-weight: 600;
  transition: background .2s, color .2s;
  text-align: center;
  line-height: 1.4;
  border-radius: 0;
  cursor: pointer;
}
.scta-btn--primary {
  background: var(--scta-gold);
  color: #fff;
  border: 0.5px solid var(--scta-gold);
}
.scta-btn--primary:hover { background: #9a7c30; color: #fff; }

.scta-btn--outline {
  background: transparent;
  color: var(--scta-gold);
  border: 0.5px solid var(--scta-gold-pale);
}
.scta-btn--outline:hover { background: var(--scta-gold-bg); }

.scta-btn--line {
  background: transparent;
  color: var(--scta-line-text);
  border: 0.5px solid var(--scta-line-border);
}
.scta-btn--line:hover { background: var(--scta-line-bg); }

.scta-btn--dark {
background: #fff0;
  color: var(--scta-gold);
  border: .5px solid var(--scta-gold-pale);
}
.scta-btn--dark:hover { background: var(--scta-gold-bg); }

.scta-btn--sm   { padding: 10px 18px; font-size: 12px; }
.scta-btn--full { width: 100%; display: block; }
.scta-btn--bot  { padding: 10px 18px; font-size: 12px; letter-spacing: .08em; }


/* ---------- SOLDバナー ---------- */
.sold-badge {
  background: #fff;
  border: 0.5px solid var(--scta-gold-pale);
  padding: 11px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 2px;
}
.sold-badge__tag {
  font-size: 9px;
  letter-spacing: .2em;
  font-weight: 700;
  color: var(--scta-gold);
  border: 0.5px solid var(--scta-gold);
  padding: 3px 9px;
  flex-shrink: 0;
}
.sold-badge__text {
  font-size: 12px;
  color: var(--scta-text-mute);
  line-height: 1.6;
  letter-spacing: .04em;
}


/* ---------- 上段CTA ---------- */
.scta-top {
  background: #fff;
  border: 0.5px solid var(--scta-border);
  border-top: none;
  padding: 20px 24px;
  margin-bottom: 32px;
}
.scta-top__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.scta-top__text { flex: 1; }
.scta-top__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--scta-text-dark);
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.scta-top__sub {
  font-size: 11px;
  color: var(--scta-text-mute);
  letter-spacing: .04em;
  line-height: 1.7;
}
.scta-top__btns {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}


/* ---------- 中段CTA ---------- */
.scta-mid {
  background: var(--scta-bg-sub);
  border: 0.5px solid var(--scta-border);
  padding: 36px 32px;
  text-align: center;
  margin: 40px 0;
}
.scta-mid__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--scta-text-dark);
  font-weight: 600;
  margin-bottom: 16px;
}
.scta-mid__eyebrow span {
  display: inline-block;
  width: 20px;
  height: 1px;
  background: var(--scta-gold);
  flex-shrink: 0;
}
.scta-mid__title {
  font-size: 18px;
  font-weight: 300;
  color: var(--scta-text-dark);
  letter-spacing: .06em;
  margin-bottom: 8px;
  line-height: 1.6;
}
.scta-mid__sub {
  font-size: 12px;
  color: var(--scta-text-mute);
  margin-bottom: 8px;
  letter-spacing: .04em;
  line-height: 1.9;
}
.scta-mid__note {
  font-size: 11px;
  color: var(--scta-text-weak);
  margin-bottom: 28px;
  letter-spacing: .04em;
  line-height: 1.8;
}
.scta-mid__btns {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}


/* ---------- 下段CTA ---------- */
.scta-bot {
  background: #fff;
  border: 0.5px solid var(--scta-border);
  overflow: hidden;
  margin: 40px 0 2px;
}
.scta-bot__head {
  background: var(--scta-text-dark);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.scta-bot__head-line {
  width: 1px;
  height: 22px;
  background: var(--scta-gold);
  flex-shrink: 0;
}
.scta-bot__head-title {
  font-size: 11px;
  color: #fff;
  letter-spacing: .16em;
  font-weight: 400;
}
.scta-bot__body { padding: 28px 24px 32px; }
.scta-bot__lead {
  font-size: 15px;
  font-weight: 600;
  color: var(--scta-text-dark);
  letter-spacing: .04em;
  margin-bottom: 6px;
  line-height: 1.7;
}
.scta-bot__sub {
  font-size: 12px;
  color: var(--scta-text-mute);
  line-height: 1.9;
  margin-bottom: 6px;
}
.scta-bot__note {
  font-size: 11px;
  color: var(--scta-text-weak);
  line-height: 1.8;
  margin-bottom: 24px;
}
.scta-bot__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 20px;
}

/* 類似物件リンク */
.scta-similar {
  border-top: 0.5px solid var(--scta-border-in);
  padding-top: 20px;
}
.scta-similar__label {
  font-size: 10px;
  letter-spacing: .16em;
  color: var(--scta-text-weak);
  font-weight: 600;
  margin-bottom: 12px;
}
.scta-similar__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.scta-similar__link {
  display: inline-block;
  padding: 6px 14px;
  background: var(--scta-bg-sub);
  border: 0.5px solid var(--scta-border);
  font-size: 11px;
  text-decoration: none;
  color: var(--scta-text-mute);
  letter-spacing: .04em;
  transition: all .15s;
}
.scta-similar__link:hover {
  border-color: var(--scta-gold-pale);
  color: var(--scta-gold);
  background: var(--scta-gold-bg);
}


/* ---------- スマホ対応（480px以下） ---------- */
@media (max-width: 480px) {

  .sold-badge { padding: 10px 14px; gap: 10px; }

  .scta-top { padding: 18px 16px; }
  .scta-top__inner { flex-direction: column; align-items: stretch; }
  .scta-top__btns { flex-direction: column; gap: 8px; }
  .scta-top__btns .scta-btn { width: 100%; display: block; }

  .scta-mid { padding: 28px 18px; }
  .scta-mid__title { font-size: 16px; }
  .scta-mid__btns { flex-direction: column; align-items: center; }
  .scta-mid__btns .scta-btn { width: 100%; max-width: 300px; display: block; }

  .scta-bot__body { padding: 22px 16px 26px; }
  .scta-bot__grid { grid-template-columns: repeat(1, 1fr); gap: 8px; }

  .scta-similar__links { gap: 6px; }
}



/* ============================================================
   シンプルエスト フッター カスタムCSS
   WordPressの「追加CSS」または カスタムCSSプラグインに貼り付け
   ヘッダー・フォントファミリーのCSSは含みません
   ============================================================ */

/* ▼ リセット */
.ft * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ============================================================
   CTAバー（黒背景）
   ============================================================ */
.ft-cta-bar {
  background: #1a1a18;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.ft-cta-bar__copy {
  font-size: 13px;
  letter-spacing: .1em;
  color: rgba(255,255,255,.55);
}

.ft-cta-bar__copy strong {
  font-size: 18px;
  font-weight: 300;
  display: block;
  letter-spacing: .06em;
  margin-bottom: 4px;
  color: #fff;
}

.ft-cta-bar__btns {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.ft-cta-bar__btn {
  display: inline-block;
  padding: 12px 28px;
  font-size: 12px;
  letter-spacing: .12em;
  text-decoration: none;
  border: 0.5px solid;
  transition: all .2s;
}

.ft-cta-bar__btn--gold {
  background: #b5933a;
  color: #fff !important;
  border-color: #b5933a;
}

.ft-cta-bar__btn--gold:hover {
  background: #9a7c30;
}

/* ============================================================
   メインフッター（白背景）
   ============================================================ */
.ft-white {
  background: #fff;
}

.ft-body {
  max-width: 960px;
  margin: 0 auto;
  padding: 52px 32px 0;
}

.ft-top {
  display: grid;
  grid-template-columns: 220px 1fr 1fr;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 0.5px solid #e0ddd6;
}

/* ▼ ブランド */
.ft-logo-link {
  display: inline-block;
  margin-bottom: 20px;
}

.ft-logo-img {
  width: 160px;
  height: auto;
  display: block;
}

.ft-tagline {
  font-size: 12px;
  color: #a09880;
  line-height: 2;
  letter-spacing: .06em;
}

/* ▼ 列見出し */
.ft-col-head {
  font-size: 10px;
  letter-spacing: .24em;
  color: #b5933a;
  font-weight: 700;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 0.5px solid #d4c9a8;
}

/* ▼ ナビ */
.ft-nav {
  list-style: none;
}

.ft-nav li {
  border-bottom: 0.5px solid #ece9e2;
}

.ft-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  font-size: 12px;
  color: #7a7060;
  text-decoration: none;
  letter-spacing: .04em;
  transition: color .15s;
}

.ft-nav a::after {
  content: '→';
  font-size: 10px;
  color: transparent;
  transition: color .15s;
}

.ft-nav a:hover {
  color: #1a1a18;
}

.ft-nav a:hover::after {
  color: #b5933a;
}

/* ▼ コンタクト */
.ft-tel-num {
  font-size: 24px;
  font-weight: 300;
  color: #1a1a18;
  letter-spacing: .04em;
  margin-bottom: 4px;
}

.ft-tel-note {
  font-size: 10px;
  color: #a09880;
  letter-spacing: .08em;
  margin-bottom: 22px;
}

.ft-btn {
  display: block;
  text-align: center;
  padding: 13px 0;
  font-size: 12px;
  letter-spacing: .12em;
  text-decoration: none;
  border: 0.5px solid;
  transition: all .2s;
}

.ft-btn--outline {
  background: transparent;
  color: #b5933a !important;
  border-color: #d4c9a8;
}

.ft-btn--outline:hover {
  background: #faf6ec;
}

/* ============================================================
   下部：会社情報＋エリアタグ
   ============================================================ */
.ft-lower {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 32px;
}

.ft-info-bar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 0.5px solid #e0ddd6;
}

.ft-info-text {
  font-size: 11px;
  color: #a09880;
  line-height: 1.9;
  letter-spacing: .04em;
}

.ft-area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.ft-area-tag {
  font-size: 12px;
  color: #a09880;
  border: 0.5px solid #e0ddd6;
  padding: 5px 12px;
  letter-spacing: .06em;
  text-decoration: none;
  transition: all .15s;
}

.ft-area-tag:hover {
  color: #b5933a;
  border-color: #b5933a;
}

/* ▼ コピーライト行 */
.ft-copy-bar {
  padding: 18px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ft-copy {
  font-size: 10px;
  color: #c0b89a;
  letter-spacing: .1em;
}

.ft-privacy a {
  font-size: 10px;
  color: #a09880;
  text-decoration: none;
  letter-spacing: .06em;
}

.ft-privacy a:hover {
  color: #b5933a;
}

/* ============================================================
   スマホ対応 max-width: 480px
   ============================================================ */
@media (max-width: 480px) {
  .ft-cta-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 20px;
  }

  .ft-cta-bar__btns {
    flex-direction: column;
    width: 100%;
  }

  .ft-cta-bar__btn {
    text-align: center;
    width: 100%;
  }

  .ft-body {
    padding: 40px 20px 0;
  }

  .ft-top {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ft-lower {
    padding: 0 20px;
  }

  .ft-info-bar {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ft-area-tags {
    justify-content: flex-start;
  }

  .ft-copy-bar {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
}



/* ============================================================
   幡ヶ谷ベース スマホ固定フッター
   hatagaya-footer.css
   WordPress: functions.php で wp_enqueue_style() にて読み込む
   ============================================================ */

:root {
  --hb-brand:       #b5933a;
  --hb-brand-dark:  #9e4918;
  --hb-black:       #222222;
  --hb-black-dark:  #1a1a1a;
  --hb-sub-bg:      #fafafa;
  --hb-border:      #e8e8e8;
  --hb-text-muted:  #999999;
  --hb-footer-cta-h: 52px;
  --hb-footer-sub-h: 44px;
}

/* ── フッター本体 ── */
#hb-fixed-footer {
	display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.13);
  font-family: 'Hiragino Sans', 'Noto Sans JP', 'Yu Gothic', sans-serif;
}

/* ── 上段：メインCTA ── */
#hb-footer-cta {
  display: flex;
  height: var(--hb-footer-cta-h);
}

.hb-cta-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: filter 0.15s;
  -webkit-tap-highlight-color: transparent;
}

.hb-cta-btn:active {
  filter: brightness(0.88);
}

.hb-cta-btn--visit {
  background: var(--hb-brand);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.hb-cta-btn--call {
  background: var(--hb-black);
}

.hb-cta-btn__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #fff;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hb-cta-btn__text {
  text-align: left;
}

.hb-cta-btn__label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.3px;
  line-height: 1.2;
}

.hb-cta-btn__sub {
  display: block;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.85);
  margin-top: 2px;
  line-height: 1;
}

/* ── 下段：サブナビ ── */
#hb-footer-subnav {
  height: var(--hb-footer-sub-h);
  overflow: hidden;
  background: var(--hb-sub-bg);
  border-top: 1px solid var(--hb-border);
  display: flex;
  transition: height 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

#hb-footer-subnav.is-hidden {
  height: 0;
}

.hb-sub-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: none;
  border: none;
  border-right: 1px solid var(--hb-border);
  cursor: pointer;
  text-decoration: none;
  color: var(--hb-text-muted) !important;
  transition: color 0.15s;
  -webkit-tap-highlight-color: transparent;
  padding: 0;
}

.hb-sub-btn:last-child {
  border-right: none;
}

.hb-sub-btn:active {
  color: var(--hb-brand);
}

.hb-sub-btn__icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hb-sub-btn__label {
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2px;
  line-height: 1;
}
	
	
.hb-cta-btn--kengaku::before {
    content: "\f554"; /* ご指定のアイコンコード */
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free"; /* Cocoonのバージョンに合わせて自動適用 */
    font-weight: 900; /* 塗りつぶしアイコンの場合は必要 */
    font-size: 20px;  /* アイコンのサイズ（既存のSVGに合わせて調整してください） */
    margin-right: 8px; /* テキストとの間の余白 */
    display: inline-block;
    align-self: center; /* 縦中央揃え */
	color: #fff;
}
	.hb-cta-btn--kengaku {
	background: var(--hb-brand);
    border-right: 1px solid rgba(255, 255, 255, 0.2);		
	}
/* ================================
   スマホ対応 (480px以下)
================================ */
@media (max-width: 480px) {
	
	#hb-fixed-footer {
	display: block;
}
  .hb-cta-btn--kengaku svg.hb-cta-btn__icon {
    display: none !important;
  }
	.hb-cta-btn__icon {
		margin-right: 10px;
	}
/* ── ボディ下余白（フッター分） ── */
body {
  padding-bottom: calc(var(--hb-footer-cta-h) + var(--hb-footer-sub-h)) !important;
}
	
	
	
}




.grecaptcha-badge {
  visibility: hidden;
}




/* ============================================================
   幡ヶ谷ベース スマホ固定フッター
   hatagaya-footer.css
   WordPress: functions.php で wp_enqueue_style() にて読み込む
   ============================================================ */

:root {
  --hb-brand:       #b5933a;
  --hb-brand-dark:  #9e4918;
  --hb-black:       #222222;
  --hb-black-dark:  #1a1a1a;
  --hb-sub-bg:      #fafafa;
  --hb-border:      #e8e8e8;
  --hb-text-muted:  #999999;
  --hb-footer-cta-h: 52px;
  --hb-footer-sub-h: 44px;
}

/* ── ボディ下余白（フッター分） ── */
body {
  padding-bottom: calc(var(--hb-footer-cta-h) + var(--hb-footer-sub-h)) !important;
}

/* ── フッター本体 ── */
#hb-fixed-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.13);
  font-family: 'Hiragino Sans', 'Noto Sans JP', 'Yu Gothic', sans-serif;
  /* ▼ スクロール連動：ぬるっと上下するためのアニメーション基盤 */
  transform: translateY(0);
  transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

/* ▼ 下スクロール中：画面下へぬるっと隠す（影もはみ出さないよう110%） */
#hb-fixed-footer.hb-hide {
  transform: translateY(110%);
}

/* ── 上段：メインCTA ── */
#hb-footer-cta {
  display: flex;
  height: var(--hb-footer-cta-h);
}

.hb-cta-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: filter 0.15s;
  -webkit-tap-highlight-color: transparent;
}

.hb-cta-btn:active {
  filter: brightness(0.88);
}

.hb-cta-btn--visit {
  background: var(--hb-brand);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.hb-cta-btn--call {
  background: var(--hb-black);
}

.hb-cta-btn__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: #fff;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hb-cta-btn__text {
  text-align: left;
}

.hb-cta-btn__label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.3px;
  line-height: 1.2;
}

.hb-cta-btn__sub {
  display: block;
  font-size: 9px;
  color: rgba(255, 255, 255, 0.85);
  margin-top: 2px;
  line-height: 1;
}

/* ── 下段：サブナビ ── */
#hb-footer-subnav {
  height: var(--hb-footer-sub-h);
  overflow: hidden;
  background: var(--hb-sub-bg);
  border-top: 1px solid var(--hb-border);
  display: flex;
  transition: height 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

#hb-footer-subnav.is-hidden {
  height: 0;
}

.hb-sub-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  background: none;
  border: none;
  border-right: 1px solid var(--hb-border);
  cursor: pointer;
  text-decoration: none;
  color: var(--hb-text-muted);
  transition: color 0.15s;
  -webkit-tap-highlight-color: transparent;
  padding: 0;
}

.hb-sub-btn:last-child {
  border-right: none;
}

.hb-sub-btn:active {
  color: var(--hb-brand);
}

.hb-sub-btn__icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hb-sub-btn__label {
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2px;
  line-height: 1;
}
	
	
.hb-cta-btn--kengaku::before {
    content: "\f554"; /* ご指定のアイコンコード */
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free"; /* Cocoonのバージョンに合わせて自動適用 */
    font-weight: 900; /* 塗りつぶしアイコンの場合は必要 */
    font-size: 20px;  /* アイコンのサイズ（既存のSVGに合わせて調整してください） */
    margin-right: 8px; /* テキストとの間の余白 */
    display: inline-block;
    align-self: center; /* 縦中央揃え */
	color: #fff;
}
	.hb-cta-btn--kengaku {
	background: var(--hb-brand);
    border-right: 1px solid rgba(255, 255, 255, 0.2);		
	}


/* ============================================================
   シンプルエスト ヘッダー検索 & ハンバーガーメニュー
   se-header.css
   WordPressカスタムCSS欄に貼り付けてください
   ヘッダー・フッター・フォントファミリーのCSSは含みません
   ============================================================ */

/* ----- ヘッダーバー ----- */
.se-hdr {
  position: sticky;
  top: 0;
  z-index: 500;
  height: 52px;
  background: #fff;
  border-bottom: 0.5px solid #e0ddd6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}

.se-hdr-logo {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #1a1a18;
  text-decoration: none;
  line-height: 1;
}
.se-hdr-logo span {
  color: #b5933a;
  font-size: 9px;
  display: block;
  letter-spacing: .2em;
  font-weight: 400;
  margin-top: 3px;
}

.se-hdr-icons {
  display: flex;
  align-items: center;
}

.se-hdr-btn {
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a1a18;
  transition: color .15s;
  padding: 0;
}
.se-hdr-btn:hover,
.se-hdr-btn.is-active {
  color: #b5933a;
}
.se-hdr-btn svg {
  width: 19px;
  height: 19px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ----- 共通オーバーレイ制御 ----- */
/* js で .is-open を付け外しします */
body.se-overlay-open {
  overflow: hidden;
}

/* ----- 検索パネル（下スライド） ----- */
.se-search-panel {
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  /* 【バグ対策①②】パネルは常にオーバーレイ(1000000)より前面 ＝ 固定フッター(.phoneInfo)よりも上 */
  z-index: 1000001;
  background: #fff;
  border-bottom: 0.5px solid #e0ddd6;
  transform: translateY(-110%);
  transition: transform .28s cubic-bezier(.4, 0, .2, 1), visibility .28s;
  /* 【要件3】閉じている間は非表示＆クリック不可（誤クリック防止） */
  visibility: hidden;
  pointer-events: none;
}
.se-search-panel.is-open {
  transform: translateY(0);
  /* 【要件3】開いた瞬間に強制解除し、入力・クリックを確実に有効化 */
  visibility: visible;
  pointer-events: auto;
}

/* 検索入力行 */
.se-search-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px 10px;
  border-bottom: 0.5px solid #ece9e2;
}
/* 検索フォーム：行内で横いっぱいに伸ばす（閉じるボタン分を除いた残り全幅） */
.se-search-form {
  flex: 1 1 auto;
  min-width: 0;          /* flexの縮小バグ回避（これが無いと中身の固有幅で詰まる） */
  display: flex;
  align-items: center;
}
/* 入力枠ラッパー：フォーム内で最大限広げ、虫眼鏡アイコンの配置基準にする */
.se-search-wrap {
  flex: 1 1 auto;
  min-width: 0;          /* type=search の固有幅で左に縮むのを防ぐ */
  width: 100%;
  position: relative;    /* アイコン(absolute)の基準。これが効かないとアイコンが枠外へ飛ぶ */
  display: flex;
  align-items: center;
}
.se-search-input {
  flex: 1 1 auto;        /* 枠いっぱいまで確実に伸ばす */
  min-width: 0;
  width: 100%;
  height: 40px;
  padding: 0 40px 0 14px; /* 右側は虫眼鏡アイコン分のスペースを確保 */
  box-sizing: border-box; /* padding込みで100%に収める（はみ出し防止） */
  font-size: 13px;
  color: #1a1a18;
  background: #faf8f4;
  border: 0.5px solid #e0ddd6;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;       /* type=search の既定装飾・固有幅を無効化 */
  transition: border-color .15s, background .15s;
}
.se-search-input:focus {
  border-color: #b5933a;
  background: #fff;
}
.se-search-input::placeholder {
  color: #a09880;
  font-size: 12px;
  letter-spacing: .04em;
}
.se-search-icon {
  /* 広がった入力枠の「内側・右端」にぴったり重ねる */
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #b5933a;
  pointer-events: none;   /* クリックは下の入力欄へ通す */
  display: flex;
  align-items: center;
  z-index: 1;             /* 入力欄の上に確実に重ねる */
}
.se-search-icon svg {
  width: 15px;
  height: 15px;
}
.se-search-close {
  font-size: 15px;
  color: #a09880;
  cursor: pointer;
  padding: 6px 8px;
  background: none;
  border: none;
  transition: color .15s;
  flex-shrink: 0;
  letter-spacing: 0;
}
.se-search-close:hover {
  color: #1a1a18;
}

/* タブ */
.se-search-tabs {
  display: flex;
  padding: 0 20px;
  border-bottom: 0.5px solid #e0ddd6;
}
.se-search-tab {
  font-size: 10px;
  font-weight: 600;
  color: #a09880;
  padding: 9px 16px;
  cursor: pointer;
  border-bottom: 1.5px solid transparent;
  margin-bottom: -0.5px;
  transition: color .15s, border-color .15s;
  letter-spacing: .14em;
}
.se-search-tab.is-active {
  color: #b5933a;
  border-bottom-color: #b5933a;
}

/* タブコンテンツ */
.se-search-body {
  padding: 14px 20px 18px;
}
.se-search-pane {
  display: none;
}
.se-search-pane.is-active {
  display: block;
}

/* セクションラベル */
.se-filter-label {
  font-size: 9px;
  letter-spacing: .2em;
  color: #a09880;
  font-weight: 600;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.se-filter-label::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 1px;
  background: #b5933a;
  flex-shrink: 0;
}

/* エリアグリッド */
.se-area-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.se-area-link {
  display: block;
  font-size: 11px;
  color: #3a3830;
  text-decoration: none;
  padding: 9px 10px;
  background: #fff;
  border: 0.5px solid #e0ddd6;
  line-height: 1.45;
  transition: border-color .15s, color .15s, background .15s;
}
.se-area-link:hover {
  background: #faf6ec;
  border-color: #d4c9a8;
  color: #b5933a;
}

/* 価格帯リスト */
.se-price-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.se-price-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  color: #3a3830;
  text-decoration: none;
  padding: 9px 14px;
  background: #fff;
  border: 0.5px solid #e0ddd6;
  transition: border-color .15s, color .15s, background .15s;
}
.se-price-link::before {
  content: '';
  width: 4px;
  height: 4px;
  background: #b5933a;
  opacity: .45;
  flex-shrink: 0;
  transition: opacity .15s;
}
.se-price-link:hover {
  background: #faf6ec;
  color: #b5933a;
  border-color: #d4c9a8;
}
.se-price-link:hover::before {
  opacity: 1;
}

/* 特徴タグ */
.se-tag-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.se-tag-link {
  font-size: 11px;
  color: #7a7060;
  text-decoration: none;
  padding: 6px 11px;
  border: 0.5px solid #e0ddd6;
  background: #fff;
  letter-spacing: .04em;
  transition: border-color .15s, color .15s, background .15s;
}
.se-tag-link:hover {
  background: #faf6ec;
  color: #b5933a;
  border-color: #d4c9a8;
}

/* ----- ハンバーガーメニュー（右スライド） ----- */
.se-menu-panel {
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  bottom: 0;
  /* 【バグ対策①②】メニューも常にオーバーレイ(1000000)より前面 ＝ 固定フッターよりも上 */
  z-index: 1000001;
  background: #fff;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), visibility .3s;
  -webkit-overflow-scrolling: touch;
	height: auto;
  max-height: calc(100% - 60px); /* 画面からはみ出さないよう、ヘッダー下の最大高さを指定 */
	border-bottom: .5px solid #e0ddd6;
  box-shadow: 0 6px 24px rgb(26 26 24 / .08);
  /* 【要件3】閉じている間は非表示＆クリック不可 */
  visibility: hidden;
  pointer-events: none;
}
.se-menu-panel.is-open {
  transform: translateX(0);
  /* 【要件3】開いた瞬間に強制解除 */
  visibility: visible;
  pointer-events: auto;
}
.se-menu-panel__overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.3);
  z-index: 9998;
  pointer-events: none;
}
/* メニューラベル */
.se-menu-section-label {
  font-size: 9px;
  letter-spacing: .22em;
  font-weight: 600;
  color: #a09880;
  padding: 22px 20px 10px;
}

/* ナビリスト */
.se-menu-nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 0.5px solid #ece9e2;
  text-decoration: none;
  transition: background .15s;
}
.se-menu-nav-item:hover {
  background: #faf8f4;
}
.se-menu-nav-inner {
  padding: 10px 0;
}
.se-menu-nav-ja {
  font-size: 15px;
  font-weight: 400;
  color: #1a1a18;
  letter-spacing: .04em;
  display: block;
}
.se-menu-nav-en {
  font-size: 9px;
  letter-spacing: .2em;
  color: #b5933a;
  font-weight: 600;
  margin-top: 3px;
  display: block;
}
.se-menu-nav-arrow {
  color: #d4c9a8;
  font-size: 16px;
  flex-shrink: 0;
  line-height: 1;
}

/* ガイドグリッド（目地ボーダー） */
.se-menu-guides {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: #e0ddd6;
  margin: 22px 20px 0;
  border: 0.5px solid #e0ddd6;
}
.se-guide-link {
  background: #fff;
  padding: 16px 14px;
  text-decoration: none;
  transition: background .15s;
}
.se-guide-link:hover {
  background: #faf6ec;
}
.se-guide-link-ja {
  font-size: 13px;
  color: #1a1a18;
  letter-spacing: .04em;
  display: block;
}
.se-guide-link-arrow {
  color: #b5933a;
  font-size: 12px;
  margin-left: 4px;
}
.se-guide-link-en {
  font-size: 9px;
  letter-spacing: .2em;
  color: #b5933a;
  font-weight: 600;
  margin-top: 4px;
  display: block;
}

/* メニュー下部CTA */
.se-menu-bottom {
  padding: 26px 20px 40px;
}
.se-menu-contact-label {
  font-size: 9px;
  letter-spacing: .2em;
  color: #a09880;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.se-menu-contact-label::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 1px;
  background: #b5933a;
  flex-shrink: 0;
}
.se-menu-tel {
  font-size: 22px;
  font-weight: 300;
  color: #1a1a18;
  letter-spacing: .04em;
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
}
.se-menu-tel-note {
  font-size: 10px;
  color: #a09880 !important;
  letter-spacing: .06em;
  margin-bottom: 18px;
}
.se-menu-cta-btns {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.se-menu-cta-btn {
  display: block;
  text-align: center;
  font-size: 12px;
  letter-spacing: .1em;
  padding: 13px 20px;
  text-decoration: none;
  border: 0.5px solid #d4c9a8;
  color: #b5933a !important;
  background: #fff;
  transition: background .15s;
}
.se-menu-cta-btn:hover {
  background: #faf6ec;
}
.se-menu-cta-btn--primary {
  background: #b5933a;
  color: #fff !important;
  border-color: #b5933a;
}
.se-menu-cta-btn--primary:hover {
  background: #9a7c30;
}
.se-menu-cta-btn--line {
  color: #3a8a48 !important;
  border-color: #b8d8bc;
}
.se-menu-cta-btn--line:hover {
  background: #f0f8f0;
}
.hb-search-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px 6px 9px;
  background: #f5f2ed;
  border: 1.5px solid #e0dbd4;
  border-radius: 20px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  flex-shrink: 0;
  white-space: nowrap;
  margin-right: 10px;
}



/* ----- スマホ 480px ----- */
@media (max-width: 480px) {
  .se-hdr {
    padding: 0 14px;
  }
  .se-search-row {
    padding: 10px 14px 8px;
  }
  .se-search-tabs {
    padding: 0 14px;
  }
  .se-search-body {
    padding: 12px 14px 16px;
  }
  .se-area-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }
  .se-menu-panel {
    top: 60px;
  }
  .se-menu-guides {
    margin: 18px 14px 0;
  }
  .se-menu-bottom {
    padding: 22px 14px 36px;
  }
  .se-menu-cta-btn {
    width: 100%;
  }
}


/* ======================================================
   幡ヶ谷ベース｜ヘッダー検索オーバーレイ CSS
   ====================================================== */



/* ===== 検索オーバーレイ本体（初期状態：閉じているとき） ===== */
#hbSearchOverlay.hb-search-overlay {
  position: fixed !important;
  left: 50% !important;
  width: 100% !important;
  max-width: 640px;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  z-index: 999999 !important;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  border-bottom: 2px solid #f0ede8;
  
  /* 表示位置：通常時（ヘッダーの真下へ固定） */
  top: 60px !important; 

  /* 💡 ぬるっと上から降ろすための仕掛け（重複を完全削除） */
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, -20px) !important; /* 初期位置は20px上 */
  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease !important;
}



/* ===== 💡 検索窓：開いたとき（JavaScriptで .hb-show がついたとき） ===== */
#hbSearchOverlay.hb-search-overlay.hb-show {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important; /* 定位置へぬるっとスライドイン */
}

/* ===== 検索窓内の各パーツ・レイアウト ===== */
.hb-search-overlay__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px 10px;
  border-bottom: 1px solid #f5f3f0;
}

.hb-search-overlay__wrap {
  flex: 1;
  position: relative;
}

.hb-search-overlay__input {
  width: 100%;
  height: 38px;
  padding: 0 38px 0 14px;
  font-size: 13px;
  color: #1a1a1a;
  background: #f5f2ed;
  border: 1.5px solid transparent;
  border-radius: 6px;
  outline: none;
  transition: border-color 0.15s, background 0.15s;
  font-family: inherit;
  -webkit-appearance: none;
}
.hb-search-overlay__input:focus {
  border-color: #c05a20;
  background: #fff;
}
.hb-search-overlay__input::placeholder {
  color: #b0a89e;
  font-size: 12px;
}

.hb-search-overlay__icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #b0a89e;
  pointer-events: none;
  display: flex;
  align-items: center;
}

.hb-search-overlay__close {
  font-size: 18px;
  color: #aaa;
  cursor: pointer;
  padding: 4px 6px;
  line-height: 1;
  background: none;
  border: none;
  transition: color 0.15s;
  flex-shrink: 0;
}
.hb-search-overlay__close:hover { color: #1a1a1a; }

/* ===== タブエリア ===== */
.hb-search-overlay__tabs {
  display: flex;
  padding: 0 16px;
  border-bottom: 1px solid #f0ede8;
}

.hb-search-overlay__tab {
  font-size: 11px;
  font-weight: 700;
  color: #b0a89e;
  padding: 8px 14px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s, border-color 0.15s;
  letter-spacing: 0.03em;
}
.hb-search-overlay__tab.hb-on {
  color: #c05a20;
  border-bottom-color: #c05a20;
}

/* ===== タブコンテンツ内容 ===== */
.hb-search-overlay__body {
  padding: 12px 16px 16px;
}

.hb-ov-pane { display: none; }
.hb-ov-pane.hb-on { display: block; }

/* エリアグリッド */
.hb-ov-area-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.hb-ov-area-link {
  display: block;
  font-size: 12px;
  color: #4a4540;
  text-decoration: none;
  padding: 9px 10px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #e8e2da;
  line-height: 1.4;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.hb-ov-area-link:hover {
  background: #fdf1e8;
  border-color: #c05a20;
  color: #c05a20;
}

/* 価格帯 */
.hb-ov-price-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hb-ov-price-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: #4a4540;
  text-decoration: none;
  padding: 9px 12px;
  background: #fff;
  border: 1px solid #e8e2da;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.hb-ov-price-link::before {
  content: '';
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #c05a20;
  opacity: 0.4;
  flex-shrink: 0;
  transition: opacity 0.15s;
}
.hb-ov-price-link:hover {
  background: #fdf1e8;
  color: #c05a20;
  border-color: #c05a20;
}
.hb-ov-price-link:hover::before { opacity: 1; }

/* 特徴タグ */
.hb-ov-tag-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hb-ov-tag {
  font-size: 11px;
  color: #6a6460;
  text-decoration: none;
  padding: 6px 10px;
  border: 1px solid #ddd5cc;
  border-radius: 3px;
  background: #fff;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.hb-ov-tag:hover {
  background: #fdf1e8;
  color: #c05a20;
  border-color: #c05a20;
}


/* ─── 各デバイス用のレスポンシブ ───────────────── */

/* PC環境 */
@media (min-width: 481px) {
  .mobile-footer-bar,
  .sp-footer-bar,
  .fixed-footer-nav,
  #mobile-footer-nav {
    display: none !important;
  }
  .hb-search-overlay__input {
    font-size: 14px;
  }
}

/* スマホ 480px以下 */
@media (max-width: 480px) {
  /* CTA */
  .hb-fb-cta { padding: 36px 20px; }
  .hb-fb-cta__hdl { font-size: 18px; }
  .hb-fb-cta__btns {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .hb-fb-btn {
    width: 100%;
    max-width: 280px;
    text-align: center;
    padding: 14px 0;
  }

  /* ナビゾーン（2×2グリッド） */
  .hb-fb-nav { padding: 32px 20px 24px; }
  .hb-fb-nav__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 12px;
  }
  .hb-fb-nav__col {
    padding: 0;
    border-left: none;
    border-top: 1px solid #e0e0e0;
    padding-top: 16px;
  }
  .hb-fb-nav__col:first-child,
  .hb-fb-nav__col:nth-child(2) {
    border-top: none;
    padding-top: 0;
  }

  /* コピーライト */
  .hb-fb-bottom {
    padding: 14px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
	  height: auto;
  }
  .hb-fb-bottom__links { gap: 12px; }

  /* 検索オーバーレイ（SPサイズ微調整） */
  .hb-search-overlay__input {
    height: 36px;
    font-size: 13px;
  }
  .hb-search-overlay__tab {
    font-size: 10.5px;
    padding: 7px 11px;
  }
  .hb-ov-area-link {
    font-size: 11.5px;
    padding: 8px 9px;
  }
  .hb-ov-price-link {
    font-size: 11.5px;
    padding: 8px 10px;
  }
  .hb-ov-tag {
    font-size: 10.5px;
    padding: 5px 9px;
  }
}




/* --------------------------------------------------
 * 1. 通常時（ログアウト状態など、管理バーがない時）
 * -------------------------------------------------- */
.header-container {
  position: relative; /* 検索窓の位置の基準にする */
  z-index: 9999;      /* ヘッダー全体をサイトの最前面に */
}

.hb-search-overlay {
  position: absolute; /* ヘッダーコンテナ（.header-container）を基準にする */
  top: 100%;          /* ヘッダーの高さ100%の位置（＝真下）にくっつける */
  left: 0;
  width: 100%;
  max-width: 100%;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 998;       /* ヘッダー（9999）よりわずかに下に設定し、下に潜り込ませる */
}

/* --------------------------------------------------
 * 2. WordPressログイン時（画面最上部に管理バーがある時）
 * -------------------------------------------------- */
/* admin-barが存在する場合、干渉を防ぐための調整 */
body.admin-bar .header-container {
  /* Cocoonのヘッダーが「スクロール追従（固定）」に設定されている場合の保険 */
  z-index: 9999; 
}

@media screen and (max-width: 480px) {
.header-container-in {
	width: 100%;
}
}

/* ======================================================
   1. ヘッダー要素を「最前面」に引き上げる設定
   ====================================================== */
.header-container, 
#header-container,
#header {

  z-index: 9999999 !important;      /* 検索窓より大きい数値にして一番手前に */
  background: #ffffff !important;  /* 裏に隠れた検索窓が透けないように背景を白に固定 */
}

/* ======================================================
   2. 検索オーバーレイ本体（初期状態：閉じているとき ＆ 消えるとき）
   ====================================================== */
#hbSearchOverlay.hb-search-overlay {
  /* 💡【スクロール対応】ビューポートに固定(fixed)。
     これでページのどの位置にスクロールしていても、常にヘッダー直下へ表示される
     （ハンバーガーのドロワーと同じ挙動）。absoluteだとスクロール時に
     ドキュメント頭へ取り残され画面外に消えてしまうため fixed に統一。 */
  position: fixed !important;

  /* 💡【ズレ解消】左右の端を0固定にしてmarginで中央寄せ */
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  
  width: 100% !important;
  max-width: 640px;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  border-bottom: 2px solid #f0ede8;
  
  /* 通常時：ヘッダー（999999）のすぐ後ろのレイヤーに潜り込ませる */
  z-index: 999998 !important; 

  /* 表示位置：ヘッダーの真下 */
  top: 60px !important; 
  display: block !important; 
  visibility: hidden !important;
  
  /* 💡【ふわっと排除】不透明度は最初から100%くっきりに固定 */
  opacity: 1 !important; 
  
  /* 💡【ズレ解消】真上（Y軸）への移動だけに集中 */
  transform: translateY(-100%) !important; 
  
  /* アニメーション設定（物理的な移動だけを滑らかに実行） */
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), 
              visibility 0.35s !important;
}

/* ======================================================
   3. 💡 検索窓：開いたとき（JavaScriptで .hb-show がついたとき）
   ====================================================== */
#hbSearchOverlay.hb-search-overlay.hb-show {
  visibility: visible !important;
  
  /* 真上から定位置へ真っ直ぐスライドダウン */
  transform: translateY(0) !important; 
}

/* ======================================================
   4. WordPressログイン時（画面最上部に管理バーがある場合）の処理
   ====================================================== */
/* 黒い管理バーを全要素の最前面に固定 */
body.admin-bar #wpadminbar {
  z-index: 9999999 !important;    /* ヘッダー(999999)よりも手前へ */
}

/* ログイン時のみ、検索窓の表示位置を下げ、レイヤーをヘッダーの裏に潜り込ませる */
body.admin-bar #hbSearchOverlay.hb-search-overlay {
  /* 💡【スクロール対応】こちらも合わせて fixed に統一 */
  position: fixed !important;
  top: 106px !important;
  z-index: 999997 !important;     /* 管理バーやヘッダーのさらに奥へ */
}




/* ===== 検索ボタン（ピル型・パターンA） ===== */




.hb-search-btn:hover { background: #fdf1e8; border-color: #b5933a; }
.hb-search-btn.hb-active,
.hb-search-btn.is-active { background: #fdf1e8; border-color: #c05a20; }
.hb-search-btn svg { color: #b5933a !important; flex-shrink: 0; vertical-align: center; }
.hb-search-btn span {
  font-size: 12px;
  letter-spacing: 0.03em;
	color: #1a1a1a;
}
.hb-search-btn:hover span,
.hb-search-btn.hb-active span,
.hb-search-btn.is-active span { color: #b5933a; }













/* ── ハンバーガーボタン ── */


.hb-menu-btn__bar {
  display: block;
  width: 22px;
  height: 1.5px;
  background: #2c2520;
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.2s;
}

.hb-menu-btn.is-open .hb-menu-btn__bar:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.hb-menu-btn.is-open .hb-menu-btn__bar:nth-child(2) {
  opacity: 0;
}
.hb-menu-btn.is-open .hb-menu-btn__bar:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ── ドロワー本体 ── */
/* ── ドロワー本体 ── */
.hb-drawer {
  position: fixed;
  right: 0;
  width: 300px;
  
  /* 💡 高さを100%固定から変更 */
  height: auto; 
  max-height: calc(100% - 60px); /* 画面からはみ出さないよう、ヘッダー下の最大高さを指定 */
  
  background: #faf8f4;
  border-left: 1px solid #e8e0d4;
  
  /* 💡 もし下側に枠線（角丸など）をつけたい場合はここで調整できます */
  border-bottom: 1px solid #e8e0d4; 
  border-bottom-left-radius: 8px; /* 好みに応じて左下を少し丸めても綺麗です */

  z-index: 9999;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
}

.hb-drawer.is-open {
  transform: translateX(0);
}

/* ── ドロワーヘッダー ── */
.hb-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 22px 12px;
  border-bottom: 1px solid #e8e0d4;
}

.hb-drawer__logo {
  font-size: 10px;
  font-weight: 400;
  color: #b0a090;
  letter-spacing: 0.2em;
}

.hb-drawer__close {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #d4c9bb;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #a09282;
}

/* ── ナビ ── */
.hb-drawer__nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 22px;
  border-bottom: 1px solid #f0e8de;
  text-decoration: none;
  transition: background 0.15s;
}

.hb-drawer__nav-item:hover {
  background: #f3ede4;
}

.hb-drawer__nav-item--last {
  border-bottom: none;
}

.hb-drawer__nav-label {
  font-size: 13px;
  color: #2c2520;
}

.hb-drawer__nav-en {
  font-size: 10px;
  color: #b0a090;
  letter-spacing: 0.08em;
  margin-top: 2px;
}

.hb-drawer__nav-arrow {
  color: #c8a882;
  flex-shrink: 0;
}

/* ── 区切り線 ── */
.hb-drawer__divider {
  height: 1px;
  background: #e8e0d4;
}

/* ── ガイドカード ── */
.hb-drawer__guides {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 14px 22px 18px;
}

.hb-drawer__guide-card {
  padding: 12px 14px;
  border-bottom: 2px solid #c8a060;
  text-decoration: none;
  transition: background 0.15s;
  display: block;
}

.hb-drawer__guide-card:hover {
  background: #f3ede4;
}

.hb-drawer__guide-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.hb-drawer__guide-title {
  font-size: 12px;
  font-weight: 500;
  color: #2c2520;
  white-space: nowrap;
}

.hb-drawer__guide-top svg {
  color: #c8a060;
  flex-shrink: 0;
}

.hb-drawer__guide-en {
  font-size: 9px;
  color: #b0a090;
  letter-spacing: 0.1em;
  margin-top: 3px;
}

/* ── オーバーレイ ── */
.hb-drawer__overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.3);
  z-index: 9998;
  pointer-events: none;
}

.hb-drawer__overlay.is-open {
  display: block;
  pointer-events: auto;
}

/* 検索オープン時のグレー背景は「スマホのみ」表示する
   （PCでは出さず通常のまま。ハンバーガーの is-open は全サイズ維持） */
@media screen and (max-width: 480px) {
  .hb-drawer__overlay.hb-search-backdrop {
    display: block;
    pointer-events: auto;
  }
}

/* ── ドロワーオープン時、ヘッダーの✕を非表示 ── */
body.drawer-open #hbSearchClose {
  display: none !important;
}

/* ── 管理バー対応 ── */
.admin-bar .hb-drawer {
  top: 32px;
}

.hb-menu-btn__bar:nth-child(2) {
  background: #b5933a;
}
.hb-menu-btn__bar {
  height: 2px !important;
}


@media screen and (max-width: 782px) {
  .admin-bar .hb-drawer {
    top: 46px;
  }
}

body:not(.admin-bar) .hb-drawer {
  top: 0;
}

/* 管理バーあり: 32px + ヘッダー高さ */
.admin-bar .hb-drawer {
  top: 92px; /* 32 + 60 = 92 → 実際のヘッダー高さに合わせて調整 */
}

#hbMenuBtn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  flex-shrink: 0;
  margin-right: 10px;
}

@media screen and (max-width: 782px) {
  .admin-bar .hb-drawer {
    top: 106px; /* 46 + 60 = 106 → 実際のヘッダー高さに合わせて調整 */
  }
}

body:not(.admin-bar) .hb-drawer {
  top: 60px; /* ヘッダー高さのみ → 実際の値に合わせて調整 */
}


/* スマホのみ表示 */
@media screen and (max-width: 599px) {
  #hbMenuBtn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    flex-shrink: 0;
	  margin-right: 10px;
  }
	

	
	
	
	
	
	
	
	
}

.header-container-in.hlt-top-menu .logo-header img {
	vertical-align: middle;
}
#header {
	width: 100%;
}
  /* ログイン時のみ：WP管理バー(モバイル46px)の真下に固定 */
  body.admin-bar .header-container {
    top: 32px !important;
  }
.flexMenu div {
  display: flex;
}
	/* ログイン時のみ、検索窓の表示位置を下げ、レイヤーをヘッダーの裏に潜り込ませる */
body.admin-bar #seMenuPanel.se-menu-panel {
  /* 💡【スクロール対応】こちらも合わせて fixed に統一 */
  position: fixed !important;
  top: 92px !important;
  /* 【バグ対策①修正】以前は 999997 でオーバーレイ(999998)に負け、
     管理バー＋スマホ時にメニューがグレーで覆われていた。
     必ずオーバーレイ(1000000)より上に統一する。 */
  z-index: 1000001 !important;
}



/* ============================================================
 * PC表示時（1025px以上）：パネルが横に広がりすぎるのを防ぐ調整
 *   検索パネル＝中央寄せ・最大800px ／ メニュー＝右寄せ・最大450px
 *   ※ 1024px以下では下の別ルールで全幅にするため、ここを min-width で限定する
 * ============================================================ */
@media screen and (min-width: 1025px) {

/* ── 1. 検索パネル（上からぬるっと・最大800px） ── */
  #seSearchPanel {
    /* 💡 強制的に横幅を最大800pxに絞り、それ以上広げさせない */
    width: 640px !important;
    max-width: 800px !important;
    
    /* 画面の上の外側に配置（ど真ん中キープ） */
    left: 50% !important;
    right: auto !important;

    
    /* 初期状態：真ん中を維持したまま、上に隠す */
    transform: translate(-50%, -100%) !important; 
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    

    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
  
  /* 検索パネル：開いたとき（中央に降りる） */
  #seSearchPanel.is-open {
    transform: translate(-50%, 0) !important; 
  }

  /* 💡 WordPress管理バーがあるときの検索パネル位置補正 */
  .admin-bar #seSearchPanel {
    top: 92px !important;
  }
  .admin-bar #seSearchPanel.is-open {
    transform: translate(-50%, 0) !important;
  }


  /* ── 2. ハンバーガーメニュー（右側からぬるっと・最大450px） ── */
  #seMenuPanel {
    /* 💡 強制的に横幅を450pxに固定 */
    width: 450px !important;
    max-width: 450px !important;
    
    /* 画面の右端・縦いっぱいに固定 */
    left: auto !important;
    right: 0 !important;

    overflow-y: auto; /* メニューが縦に長い場合は内部スクロール */
    
    /* 初期状態：右の外側に隠す（translate-Xを使用） */
    transform: translateX(100%) !important;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    

  }
  
  /* メニューパネル：開いたとき（右からスッと出る） */
  #seMenuPanel.is-open {
    transform: translateX(0) !important;
  }

} /* end @media (min-width: 1025px) */


/* ── 1024px以下：検索／メニューとも全幅で表示（はみ出し防止） ── */
@media screen and (max-width: 1024px) {
  #seSearchPanel,
  #seMenuPanel {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
  /* 検索パネルは上スライド、メニューは右スライドの初期位置を維持 */
  #seSearchPanel { transform: translateY(-110%) !important; }
  #seSearchPanel.is-open { transform: translateY(0) !important; }
  #seMenuPanel { transform: translateX(100%) !important; }
  #seMenuPanel.is-open { transform: translateX(0) !important; }
}
















@media screen and (max-width: 480px) {
  /* ログイン時のみ：WP管理バー(モバイル46px)の真下に固定 */
  body.admin-bar .header-container {
    top: 46px !important;
  }

	

	#seSearchPanel, #seMenuPanel {
		width: 100% !important;
	}
	.admin-bar #seSearchPanel {
  top: 106px !important;
}
	
/* ── ハンバーガーメニューパネル本体 ── */
#seMenuPanel {
  /* 💡【バグ対策②】固定フッター(.phoneInfo)より確実に前面へ */
  z-index: 1000001 !important;
}

/* 💡【バグ対策①】オーバーレイはパネルより必ず1段低く（パネル > 背景 > 本文 のサンドイッチ） */
.se-main-overlay {
  z-index: 1000000 !important;
}
	
	
}






/* ============================================================
 * 共通グレー透過オーバーレイ（背面の背景用）
 * ============================================================ */
.se-main-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26, 24, 22, 0.5); /* ほんのり温かみのある黒の50%透過 */

  /* 【バグ対策①②】パネル(1000001)のすぐ後ろ、かつメインコンテンツ・固定フッターより前。
     ＝ 必ず「パネル ＞ グレー背景 ＞ 本文」のサンドイッチ構造を全環境で固定する。 */
  z-index: 1000000;

  /* 初期状態は非表示（ぬるっとフェードイン・アウトさせる） */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}

/* JavaScriptで .is-open がついたときにふわっと表示 */
.se-main-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto; /* 開いている間は後ろのメインページを触らせない */
}


/* ============================================================
 * 【レイアウト要件①】固定ヘッダーのフレックス配置
 *   左端：サイトロゴ ／ 右端：「物件を探す」＋ハンバーガー
 *   PC・スマホ共通で横並びに揃える
 * ============================================================ */
.flexMenu {
  display: flex !important;
  align-items: center;
  justify-content: space-between; /* ロゴを左、アクションを右へ押し出す */
  width: 100%;
  flex-wrap: nowrap;
}

/* 右側のアクション群（「物件を探す」ボタン＋ハンバーガー） */
.se-header-actions {
  display: flex !important;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-left: auto; /* 念のため右端固定 */
	margin-right: 10px;
}

/* ボタン同士の余白は gap に一本化（旧 margin-right の二重余白を解消） */
.se-header-actions .hb-search-btn,
.se-header-actions #hbMenuBtn {
  margin-right: 0;
}

/* 予備：メニューパネルが開いている間、検索 close ボタンを隠すなどの干渉防止 */
body.se-overlay-open #seSearchClose {
  /* 必要に応じて調整してください */
}



body {
  padding-bottom: 0 !important;
}
.footer_rerecaptcha,
.footer_rerecaptcha a {
  color: #a09880;
  font-size: 11px;
}



@media screen and (max-width: 480px) {
	body {
  padding-bottom: 96px !important;
}
}



























/* ========================================
   販売物件ページ カスタムCSS
   prefix: pr-
   breakpoint: 480px
   ======================================== */

/* ---- 変数 ---- */
:root {
  --pr-gold:        #b5933a;
  --pr-gold-pale:   #d4c9a8;
  --pr-gold-bg:     #faf6ec;
  --pr-border:      #e0ddd6;
  --pr-border-in:   #ece9e2;
  --pr-text-dark:   #1a1a18;
  --pr-text-mid:    #3a3830;
  --pr-text-mute:   #7a7060;
  --pr-text-weak:   #a09880;
  --pr-bg-sub:      #faf8f4;
  --pr-line-green:  #06C755;
  --pr-line-border: #b8d8bc;
  --pr-line-bg:     #f0f8f0;
}

/* ---- ページナビ ---- */
.pr-nav {
  display: flex;
  gap: 1px;
  background: var(--pr-border);
  margin-bottom: 0;
  position: sticky;
  top: 65px;
  z-index: 10;
}

.pr-nav__item {
  flex: 1;
  padding: 10px 4px;
  font-size: 12px;
  text-align: center;
  background: #fff;
  color: var(--pr-text-mute);
  text-decoration: none;
  letter-spacing: .04em;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}

.pr-nav__item:hover {
  color: var(--pr-gold);
  border-bottom-color: var(--pr-gold);
}

/* ---- 価格バー ---- */
.pr-price-bar {
  padding: 16px 0 10px;
  border-bottom: 0.5px solid var(--pr-border);
}

.pr-price-bar__price {
  font-size: 28px;
  font-weight: 400;
  color: var(--pr-gold);
  letter-spacing: .02em;
  line-height: 1.2;
}

.pr-price-bar__unit {
  font-size: 16px;
  font-weight: 300;
}

.pr-price-bar__meta {
  font-size: 14px;
  color: var(--pr-text-mute);
  margin-top: 4px;
  letter-spacing: .04em;
}

/* ---- 3列キースペック ---- */
.pr-spec-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-bottom: 0.5px solid var(--pr-border);
  margin-bottom: 0;
}

.pr-spec-row__cell {
  padding: 10px;
  border-right: 0.5px solid var(--pr-border-in);
}

.pr-spec-row__cell:last-child {
  border-right: none;
}

.pr-spec-row__label {
  font-size: 12px;
  color: var(--pr-text-weak);
  letter-spacing: .08em;
  margin-bottom: 3px;
}

.pr-spec-row__val {
  font-size: 13px;
  font-weight: 500;
  color: var(--pr-text-dark);
}

/* ---- バッジ ---- */
.pr-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 10px 0 12px;
}

.pr-badge {
  font-size: 11px;
  background: var(--pr-gold-bg);
  color: var(--pr-gold);
  border: 0.5px solid var(--pr-gold-pale);
  padding: 3px 8px;
  letter-spacing: .04em;
}

/* ---- セクション共通 ---- */
.pr-section {
  padding: 24px 0;
  border-bottom: 0.5px solid var(--pr-border);
}

.pr-section-label {
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--pr-gold);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.pr-section-label::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 1px;
  background: var(--pr-gold);
  flex-shrink: 0;
}

/* ---- 見学予約ボックス ---- */
.pr-booking {
  padding: 20px 0;
  border-bottom: 0.5px solid var(--pr-border);
}

.pr-booking__box {
  border: 0.5px solid var(--pr-border);
  padding: 16px;
  background: var(--pr-bg-sub);
}

.pr-booking__row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.pr-booking__label {
  font-size: 12px;
  color: var(--pr-text-mute);
  width: 80px;
  flex-shrink: 0;
}

.pr-booking__req {
  color: #c0392b;
}

.pr-booking__input {
  flex: 1;
  font-size: 13px;
  padding: 8px 10px;
  border: 0.5px solid var(--pr-border);
  background: #fff;
  color: var(--pr-text-dark);
  border-radius: 0;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.pr-booking__btn {
  display: block;
  width: 100%;
  background: var(--pr-gold);
  color: #fff;
  text-align: center;
  padding: 13px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .06em;
  text-decoration: none;
  margin-top: 4px;
  transition: background .2s;
}

.pr-booking__btn:hover {
  background: #9a7c30;
}

/* ---- 写真グリッド ---- */
.pr-photo-caption {
  font-size: 11px;
  color: var(--pr-text-weak);
  letter-spacing: .08em;
  font-weight: 600;
  padding: 12px 0 6px;
  border-top: 0.5px solid var(--pr-border-in);
  margin-top: 8px;
}

.pr-photo-caption:first-of-type {
  margin-top: 0;
}

.pr-photo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

.pr-photo-grid--3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.pr-photo-grid a,
.pr-photo-grid--3 a {
  display: block;
  overflow: hidden;
}

.pr-photo-grid img,
.pr-photo-grid--3 img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.pr-photo-grid--3 img {
  height: 100px;
}

.pr-photo-grid a:hover img,
.pr-photo-grid--3 a:hover img {
  transform: scale(1.03);
}

/* ---- スタッフコメント ---- */
.pr-staff-comment {
  background: var(--pr-bg-sub);
  border-left: 2px solid var(--pr-gold);
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.9;
  color: var(--pr-text-mute);
  margin-bottom: 20px;
}

/* ---- 物件レポート 見出し ---- */
.pr-report-h2 {
  font-size: 15px;
  font-weight: 500;
  color: var(--pr-text-dark);
  padding: 14px 0 8px;
  border-bottom: 0.5px solid var(--pr-border);
  margin-bottom: 0;
  letter-spacing: .04em;
}

.pr-report-h3 {
  font-size: 13px;
  font-weight: 500;
  color: var(--pr-gold);
  padding: 12px 0 4px 10px;
  border-left: 2px solid var(--pr-gold);
  margin: 14px 0 6px;
  letter-spacing: .04em;
}

.pr-report-body {
  font-size: 13px;
  line-height: 1.9;
  color: var(--pr-text-mute);
  margin: 0;
}

/* ---- 設備リスト ---- */
.pr-equip {
  margin-top: 16px;
  border: 0.5px solid var(--pr-border);
}

.pr-equip-title {
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--pr-text-weak);
  padding: 8px 12px;
  background: var(--pr-bg-sub);
  border-bottom: 0.5px solid var(--pr-border);
}

.pr-equip-item {
  font-size: 12px;
  color: var(--pr-text-mute);
  padding: 7px 12px;
  border-bottom: 0.5px solid var(--pr-border-in);
  line-height: 1.6;
}

.pr-equip-item:last-child {
  border-bottom: none;
}

.pr-equip-item::before {
  content: '·';
  color: var(--pr-gold);
  margin-right: 6px;
}

/* ---- 物件概要テーブル ---- */
.pr-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.pr-table tr {
  border-bottom: 0.5px solid var(--pr-border-in);
}

.pr-table th {
  text-align: left;
  font-weight: 400;
  font-size: 12px;
  color: var(--pr-text-weak);
  padding: 9px 8px 9px 0;
  width: 110px;
  vertical-align: top;
  white-space: nowrap;
}

.pr-table td {
  padding: 9px 0;
  color: var(--pr-text-dark);
  font-weight: 500;
  line-height: 1.6;
}

.pr-table__price {
  color: var(--pr-gold);
  font-size: 16px;
}

/* ---- アクセス ---- */
.pr-access-list {
  margin-bottom: 16px;
}

.pr-access-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 0.5px solid var(--pr-border-in);
  font-size: 13px;
}

.pr-access-station {
  font-weight: 500;
  color: var(--pr-text-dark);
  min-width: 100px;
}

.pr-access-time {
  color: var(--pr-gold);
  font-size: 12px;
  font-weight: 500;
}

.pr-access-line {
  color: var(--pr-text-weak);
  font-size: 11px;
  letter-spacing: .04em;
}

.pr-map {
  width: 100%;
  display: block;
  border: 0.5px solid var(--pr-border);
}

.pr-map-link {
  display: inline-block;
  font-size: 11px;
  color: var(--pr-text-mute);
  text-decoration: underline;
  margin-top: 6px;
  letter-spacing: .04em;
}

/* ---- 周辺施設 ---- */
.pr-facility {
  margin-top: 20px;
}

.pr-facility-title {
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--pr-text-weak);
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 0.5px solid var(--pr-border);
}

.pr-facility-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.pr-facility-item {
  font-size: 12px;
  color: var(--pr-text-mute);
  padding: 6px 0;
  border-bottom: 0.5px solid var(--pr-border-in);
  line-height: 1.5;
}

.pr-facility-item::before {
  content: '·';
  color: var(--pr-gold);
  margin-right: 4px;
}

/* ================================================================
   CTAパーツ（cta_3patterns_preview.html から引用・統合）
   ================================================================ */

/* ---- 上段CTA ---- */
.cta-top {
  background: #fff;
  border: 0.5px solid var(--pr-border);
  padding: 20px 20px;
  margin: 20px 0;
}

.cta-top__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cta-top__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--pr-text-dark);
  letter-spacing: .04em;
  margin-bottom: 4px;
}

.cta-top__sub {
  font-size: 11px;
  color: var(--pr-text-mute);
  letter-spacing: .04em;
  line-height: 1.7;
}

.cta-top__btns {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* ---- 中段CTA ---- */
.cta-mid {
  background: var(--pr-bg-sub);
  border: 0.5px solid var(--pr-border);
  padding: 32px 24px;
  text-align: center;
  margin: 20px 0;
}

.cta-mid__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--pr-text-dark);
  font-weight: 600;
  margin-bottom: 14px;
}

.cta-mid__eyebrow span {
  display: inline-block;
  width: 20px;
  height: 1px;
  background: var(--pr-gold);
}

.cta-mid__title {
  font-size: 17px;
  font-weight: 300;
  color: var(--pr-text-dark);
  letter-spacing: .06em;
  margin-bottom: 6px;
  line-height: 1.6;
}

.cta-mid__sub {
  font-size: 12px;
  color: var(--pr-text-mute);
  margin-bottom: 24px;
  letter-spacing: .04em;
  line-height: 1.8;
}

.cta-mid__btns {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* ---- 下段CTA ---- */
.cta-bot {
  background: #fff;
  border: 0.5px solid var(--pr-border);
  overflow: hidden;
  margin-top: 20px;
}

.cta-bot__head {
  background: var(--pr-text-dark);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.cta-bot__head-line {
  width: 1px;
  height: 22px;
  background: var(--pr-gold);
  flex-shrink: 0;
}

.cta-bot__head-title {
  font-size: 11px;
  color: #fff;
  letter-spacing: .16em;
  font-weight: 400;
}

.cta-bot__body {
  padding: 24px 24px 28px;
}

.cta-bot__lead {
  font-size: 16px;
  font-weight: 300;
  color: var(--pr-text-dark);
  letter-spacing: .06em;
  margin-bottom: 6px;
  line-height: 1.7;
}

.cta-bot__sub {
  font-size: 12px;
  color: var(--pr-text-mute);
  line-height: 1.9;
  margin-bottom: 20px;
}

.cta-bot__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

/* ---- ボタン共通 ---- */
.btn {
  display: inline-block;
  font-size: 11px;
  letter-spacing: .1em;
  padding: 11px 20px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-family: inherit;
  font-weight: 600;
  transition: background .2s, color .2s;
  text-align: center;
  line-height: 1.4;
  white-space: nowrap;
}

.btn--primary {
  background: var(--pr-gold);
  color: #fff;
  border: 0.5px solid var(--pr-gold);
}
.btn--primary:hover { background: #9a7c30; color: #fff; }

.btn--outline {
  background: transparent;
  color: var(--pr-gold);
  border: 0.5px solid var(--pr-gold-pale);
}
.btn--outline:hover { background: var(--pr-gold-bg); }

.btn--line {
  background: transparent;
  color: #1a7a30;
  border: 0.5px solid var(--pr-line-border);
}
.btn--line:hover { background: var(--pr-line-bg); }

.btn--dark {
  background: var(--pr-text-dark);
  color: #fff;
  border: 0.5px solid var(--pr-text-dark);
}
.btn--dark:hover { background: #2c2c28; color: #fff; }

.btn--sm { padding: 9px 14px; font-size: 10px; }
.btn--full { width: 100%; }
.btn--bot { padding: 13px 10px; font-size: 10px; letter-spacing: .08em; }

/* ================================================================
   スマホ対応 max-width: 480px
   ================================================================ */
@media (max-width: 480px) {

  /* ナビ */
  .pr-nav { top: 45px; }
  .pr-nav__item { font-size: 10px; padding: 9px 2px; }

  /* 価格バー */
  .pr-price-bar__price { font-size: 24px; }
  .pr-price-bar__meta { font-size: 12px; }

  /* キースペック */
  .pr-spec-row__val { font-size: 12px; }

  /* 写真グリッド */
  .pr-photo-grid img { height: 120px; }
  .pr-photo-grid--3 { grid-template-columns: 1fr 1fr; }
  .pr-photo-grid--3 img { height: 100px; }

  /* 概要テーブル：th/td 縦積み */
  .pr-table th,
  .pr-table td {
    display: block;
    width: 100%;
  }
  .pr-table th {
    padding-bottom: 2px;
    border-bottom: none;
  }
  .pr-table td { padding-top: 2px; }

  /* アクセス */
  .pr-access-item { flex-wrap: wrap; gap: 4px; }
  .pr-access-station { min-width: auto; }

  /* 周辺施設 */
  .pr-facility-list { grid-template-columns: 1fr; }

  /* 上段CTA */
  .cta-top { padding: 16px; }
  .cta-top__inner { flex-direction: column; align-items: flex-start; }
  .cta-top__btns { width: 100%; flex-direction: column; }
  .btn { width: 100%; }

  /* 中段CTA */
  .cta-mid { padding: 24px 16px; }
  .cta-mid__btns { flex-direction: column; align-items: center; }
  .cta-mid__btns .btn { width: 100%; max-width: 300px; }

  /* 下段CTA */
  .cta-bot__body { padding: 20px 16px 24px; }
  .cta-bot__grid { grid-template-columns: 1fr 1fr; }

  /* 予約ボックス */
  .pr-booking__row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .pr-booking__label { width: auto; }
  .pr-booking__input { width: 100%; }
}





.reserve-box .flex-between {
	margin-bottom: 10px;
}
.pr-booking h2 {
	margin-top: 0;
}








/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

