@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700&display=swap");
/*
Theme Name: XeoryExtensionChild
Theme URI: https://xeory.jp/extension
Description: Xeory拡張テーマ
Author: バズ部
Author URI: https://lucy.ne.jp/bazubu/
Version: 0.6.3
Text Domain: xeory_extension
Tested up to: 6.8
Requires PHP: 7.0
Tags:blog,one-column,two-columns,right-sidebar,theme-options
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Copyright: Copyright (c) バズ部

*/
/* all display
-------------------------------------------------- */
.wrap {
  width: 100% !important;
  box-sizing: border-box;
  margin: 0 auto;
  zoom: 1;
  background-color: #f3f2ee;
}
.wrap:before {
  display: inline-table;
}
.wrap:after {
  content: "";
  display: block;
  clear: both;
}

#main {
  width: 100%;
}

#side {
  width: 310px;
  float: left;
  margin-left: -310px;
}

.left-content #main {
  width: 100%;
  float: left;
}
.left-content .main-inner {
  margin-right: 358px;
  margin-left: 0;
}
.left-content #side {
  width: 310px;
  float: left;
  margin-left: -310px;
}

.right-content #main {
  width: 100%;
  float: left;
}
.right-content .main-inner {
  margin-left: 358px;
  margin-right: 0;
}
.right-content #side {
  width: 310px;
  float: left;
  margin-left: -100%;
}

.one-column #content .wrap {
  width: 1000px;
}
.one-column #content .wrap #main {
  width: 100%;
  float: none;
}
.one-column #content .wrap #main .main-inner {
  width: 100%;
  margin: 0;
}
.one-column #content .wrap #side {
  display: none;
}

/* table
-------------------------------------------------- */
table {
  width: 100% !important;
}

table td,
table th {
  word-break: break-all;
  text-align: left;
}

/* ----------------------------------------
* レスポンシブ
* ~ / 1200px / 991px / 767px
* desctop / laptop / tablet / phone
---------------------------------------- */
@media screen and (max-width: 1200px) {
  /* laptop */
  .wrap,
  .one-column #content .wrap {
    margin-left: 36px;
    margin-right: 36px;
    width: auto;
  }

  .main-inner {
    margin-right: 346px;
    box-sizing: border-box;
  }

  /* laptop end */
}
@media screen and (max-width: 991px) {
  /* tablet */
  .wrap,
  .one-column #content .wrap {
    margin-left: 24px;
    margin-right: 24px;
  }

  #main,
  .main-inner,
  #side {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .left-content #main,
  .right-content #main {
    float: none;
  }
  .left-content .main-inner,
  .right-content .main-inner {
    margin-right: 0;
    margin-left: 0;
    width: 100%;
  }
  .left-content #side,
  .right-content #side {
    width: 100%;
    float: none;
    margin: 0;
  }

  #side {
    padding-top: 42px;
  }

  /* tablet end */
}
@media screen and (max-width: 767px) {
  /* phone */
  .wrap,
  .one-column #content .wrap {
    margin-left: 12px;
    margin-right: 12px;
  }

  /* phone end */
}
/* ----------------------------------------
* フォント設定
---------------------------------------- */
/* ----------------------------------------
* all
---------------------------------------- */
body {
  width: 100%;
  background: url("./lib/images/bg.png");
  background: #f3f2ee !important;
  color: #2b1b17 !important;
  margin: auto !important;
  padding: 0 !important;
  max-width: none !important;
  font-family: "Shippori Mincho B1", serif !important;
}

a {
  text-decoration: none;
}
/* a:hover {
  text-decoration: underline;
} */

/* form
---------------------------------------- */
/* form input[type="submit"],
form button {
  background: #3b4552;
  color: #fff;
}
form input[type="submit"]:hover,
form button:hover {
  cursor: pointer;
}

/* ----------------------------------------
* header
---------------------------------------- */
/* #header {
  background-color: #f3f2ee;
  padding: 0;
  overflow: visible;
}
#header #logo {
  float: left;
  font-size: 24px;
  padding: 0;
  height: 92px;
  line-height: 92px;
}
#header #logo img {
  max-height: 40px;
}
#header a {
  color: #2f3130;
} */

/* ----------------------------------------
* breadcrumb
---------------------------------------- */
.breadcrumb-area {
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}
.breadcrumb-area .wrap {
  padding: 10px 0;
}

.breadcrumb {
  margin: 0;
  font-size: 13px;
  padding: 0;
  line-height: 22px;
  display: flex;
  flex-wrap: wrap;
}
.breadcrumb li {
  margin-left: 24px;
}
.breadcrumb li a {
  text-decoration: none;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}

/* ----------------------------------------
* gloval nav & primary nav
---------------------------------------- */
/* #gnav {
  background: #47b39d;
  margin: 0 0 0 auto;
  float: right;
  text-align: right;
}
#gnav .sub-menu {
  z-index: 10;
}
#gnav ul li {
  display: inline-block;
  position: relative;
}
#gnav ul li:hover a {
  background: #57bca8;
}
#gnav ul li.current-menu-item a {
  background: #57bca8;
}
#gnav ul li a {
  display: block;
  padding: 32px 12px;
  line-height: 28px;
  color: #fff;
  background: #47b39d;
  text-decoration: none;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
}
#gnav ul li a:hover {
  color: #fff;
  background: #57bca8;
}
#gnav ul li a:hover .sub-menu {
  display: block;
}
#gnav ul li .sub-menu {
  font-size: 14px;
  text-align: left;
  display: none;
  position: absolute;
  width: 200px;
  background: #fff;
  border: 1px #e5e5e5 solid;
}
#gnav ul li .sub-menu li {
  float: none;
  margin-left: 0;
  border-bottom: 1px #e5e5e5 solid;
  display: block;
}
#gnav ul li .sub-menu li:list-child {
  border-bottom: none;
}
#gnav ul li .sub-menu li a {
  color: #3b4552;
  background: #fff;
  padding: 10px 15px;
}
#gnav ul li .sub-menu li a:hover {
  background: #fafafa;
  color: #3b4552;
}
#gnav ul li .sub-menu .sub-menu {
  left: 100%;
  top: -1px;
}

#header-right {
  height: 92px;
  float: right;
}

#header-fnav-area,
#header-gnav-area {
  float: right;
}

#header-fnav-area {
  width: 150px;
  position: relative;
}
#header-fnav-area #header-fnav-btn a {
  display: block;
  padding: 22px 12px;
  font-size: 28px;
  height: 92px;
  text-align: center;
  background: #57bca8;
  display: flex;
  justify-content: center;
}
#header-fnav-area #header-fnav-btn a:hover {
  text-decoration: none;
}
#header-fnav-area #header-fnav {
  z-index: 10;
  font-size: 14px;
  text-align: left;
  display: none;
  position: absolute;
  right: 0;
  width: 200px;
  background: #fff;
  border: 1px #e5e5e5 solid;
}
#header-fnav-area #header-fnav li {
  float: none;
  margin-left: 0;
  border-bottom: 1px #e5e5e5 solid;
  display: block;
}
#header-fnav-area #header-fnav li:list-child {
  border-bottom: none !important;
}
#header-fnav-area #header-fnav li a {
  color: #3b4552;
  background: #fff;
  padding: 10px 15px;
  display: block;
}
#header-fnav-area #header-fnav li a:hover {
  background: #fafafa;
  color: #3b4552;
  text-decoration: none;
} */

/* ----------------------------------------
* content
---------------------------------------- */
/* #content {
  padding: 0;
}
#content .wrap {
  overflow: visible;
}
#content .wp-caption {
  max-width: 100%;
  border: 1px solid #e5e5e5;
  text-align: center;
  padding: 5px;
  margin-bottom: 12px;
}
#content .wp-caption-text {
  padding: 12px 16px;
  margin-bottom: 0;
  text-align: center;
} */

/* ----------------------------------------
* main
---------------------------------------- */
/* .cat-content,
article.post,
article.page {
  margin-bottom: 60px;
  background: #fff;
  border: 1px #e5e5e5 solid;
}

.post-header {
  padding: 56px 64px 46px;
  position: relative;
  border-bottom: 1px solid #e5e5e5;
}
.post-header .cat-name {
  margin-bottom: 20px;
}
.post-header .cat-name span {
  border: 1px solid #47b39d;
  color: #47b39d;
  display: inline-block;
  padding: 4px 16px;
  font-size: 13px;
}

.post-title {
  font-size: 32px;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 36px;
}
body.page .post-title {
  margin-bottom: 0;
}
.post-title a {
  color: #241913;
}
.post-title a:hover {
  color: #ff6c00;
}

.post-content h2.post-title {
  font-weight: normal;
}

.post-title a {
  color: #3b4552;
}
.post-title a:hover {
  color: #ff6c00;
  text-decoration: none;
}

.cat-content .post-header,
article.page .post-header {
  padding: 56px 64px 30px;
  margin-bottom: 20px;
  background: #fff;
}

.post-meta-area {
  margin: 0;
  border-bottom: 1px solid #e5e5e5;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
}
.post-meta-area ul {
  margin: 0;
}
.post-meta-area .post-meta .date {
  padding: 12px 40px;
}
.post-meta-area .post-meta .date .datetime {
  font-size: 1.1em;
}
.post-meta-area .post-meta-comment {
  text-align: center;
  margin-left: auto;
  display: flex;
  padding: 0;
}
.post-meta-area .post-meta-comment li {
  padding: 12px 24px;
  border-left: 1px solid #e5e5e5;
}
.comments .fa-comments {
  top: 2px;
}
.post-thumbnail img {
  width: 100%;
  height: auto;
}

.post-content {
  padding: 30px 64px 10px;
}
.post-content hr {
  border-bottom: 1px solid #eee;
  margin: 20px 0;
  clear: both;
}
.post-content p,
.post-content ul,
.post-content ol,
.post-content dl,
.post-content blockquote,
.post-content pre,
.post-content table {
  margin-bottom: 2em;
}
.post-content ul {
  list-style: disc;
}
.post-content ol {
  list-style: decimal;
}
.post-content ul,
.post-content ol {
  margin-left: 30px;
}
.post-content ul > ul,
.post-content ul > ol,
.post-content ol > ol,
.post-content ol > ul {
  margin-bottom: 0px;
}
.post-content dl dt {
  font-weight: bold;
}
.post-content dl dd {
  margin-left: 30px;
}
.post-content pre {
  padding: 20px;
  overflow: scroll;
  font-family: "Shippori Mincho B1", serif;
}
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  font-weight: bold;
}
.post-content h1 {
  margin: 32px 0;
  font-size: 36px;
  clear: both;
  font-weight: normal;
}
.post-content h2 {
  margin: 80px 0 32px -74px;
  padding: 16px 16px 16px 56px;
  font-size: 28px;
  clear: both;
  font-weight: normal;
  border-left: 10px solid #131d2a;
  background: #3b4552;
  color: #fff;
}
.post-content h3 {
  font-size: 24px;
  margin: 48px 0 24px;
  padding: 20px 0;
  clear: both;
  font-weight: normal;
  border-bottom: 2px solid #3b4552;
  line-height: 1;
}
.post-content h4 {
  font-size: 20px;
  font-weight: normal;
  margin: 30px 0 16px;
  padding: 0 0 0 8px;
  border-left: 5px solid #131d2a;
  clear: both;
}
.post-content h5 {
  font-size: 16px;
  margin: 30px 0 16px;
  clear: both;
}
.post-content h6 {
  font-size: 16px;
  margin: 30px 0 16px;
  clear: both;
}
.post-content blockquote {
  clear: both;
  margin: 0 0 28px;
  padding: 30px 20px 35px 55px;
  position: relative;
  border: 1px #e5e5e5 solid;
  background: #fafafa;
}
.post-content blockquote:before {
  font-size: 36px;
  color: #e7e7e7;
  position: absolute;
  top: 20px;
  left: 10px;
}
.post-content blockquote cite {
  position: absolute;
  right: 20px;
  bottom: 10px;
  font-size: 12px;
  color: #808080;
}
.post-content table {
  border: 1px #ddd solid;
  max-width: 100%;
}
.post-content table th,
.post-content table td {
  padding: 8px 10px;
  border: #ddd solid 1px;
}
.post-content table th {
  color: #fff;
}
.post-content table thead th {
  background: #5e6265;
}
.post-content table tbody th {
  background: #919598;
}
.post-content table.table-line table,
.post-content table.table-line th,
.post-content table.table-line td {
  border-color: #fff;
}
.post-content table.table-line th {
  background: transparent;
  color: #241913;
  font-weight: bold;
}
.post-content table.table-line thead th {
  background: #5e6265;
  color: #fff;
}
.post-content table.table-line tr {
  background: #eee;
}
.post-content table.table-line tr:nth-child(2n + 1) {
  background: #ddd;
}
.post-content img.alignleft {
  float: left;
  margin-right: 15px;
  margin-bottom: 15px;
}
.post-content img.alignright {
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
}

.post-content h2:first-child {
  margin-top: 0;
}

.post-cta {
  background: #131d2a;
  color: #fff;
}
.post-cta .post-cta-inner {
  padding: 30px 45px;
}
.post-cta .cta-post-title {
  padding: 30px 45px;
  font-size: 36px;
  margin-bottom: 14px;
  text-align: center;
  border-bottom: 1px solid #eee;
}
.post-cta .post-cta-img {
  float: right;
  width: 230px;
  margin: 0 0 20px 20px;
}
.post-cta .post-cta-cont {
  overflow: hidden;
}
.post-cta .post-cta-btn {
  margin: 10px 0;
}
.post-cta .post-cta-btn a {
  background: #f86222;
  color: #fff;
  border-radius: 8px;
  display: block;
  padding: 20px;
  text-align: center;
  text-decoration: none;
  width: 60%;
  margin: 0 auto 20px;
}
.post-cta .post-cta-btn a:hover {
  background: #fa8553;
}
.post-cta p {
  margin-bottom: 1em;
}
.post-cta .btn {
  width: 100%;
  display: block;
  border-radius: 3px;
  text-align: center;
  color: #fff;
  padding: 14px 0;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  background: #3b4552;
}
.post-cta .btn:hover {
  text-decoration: none;
  background: #ff6c00;
}

.post-footer {
  border-radius: 0;
  padding: 20px 64px;
  overflow: hidden;
  clear: both;
}
.post-footer ul {
  overflow: hidden;
}
.post-footer ul li a:hover {
  text-decoration: underline;
}
.post-footer .bzb-sns-btn {
  padding: 30px 0;
}

.post-footer .bzb-sns-btn li {
  vertical-align: top;
}
.post-footer .bzb-sns-btn li .fb_iframe_widget span {
  vertical-align: top !important;
}

.post-footer-list {
  padding: 20px 0;
}

.post-author {
  margin-bottom: 40px;
  padding: 40px 45px;
  border: 1px solid #e5e5e5;
  color: #241913;
  background: #fff;
}
.post-author .post-author-img {
  height: 100%;
  float: left;
}
.post-author .post-author-img img {
  width: 100px;
  height: auto;
  border: 1px solid #e5e5e5;
}
.post-author .post-author-img .inner {
  padding: 0;
}
.post-author .row {
  margin-right: -10px;
  margin-left: -10px;
}
.post-author .row .gr1,
.post-author .row .gr2,
.post-author .row .gr3,
.post-author .row .gr4,
.post-author .row .gr5,
.post-author .row .gr6,
.post-author .row .gr7,
.post-author .row .gr8,
.post-author .row .gr9,
.post-author .row .gr10,
.post-author .row .gr11,
.post-author .row .gr12 {
  padding-left: 10px;
  padding-right: 10px;
}
.post-author a {
  color: #3b4552;
}
.post-author .post-author-meta {
  color: #241913;
  margin-left: 120px;
}
.post-author .post-author-meta h2 {
  margin: 0 40px 10px 0;
}
.post-author .post-author-meta p {
  margin: 0 40px 20px 0;
}
.post-header-meta {
  overflow: hidden;
  margin-bottom: 26px;
}
.post-header-meta .bzb-sns-btn {
  padding: 20px 0 10px;
  float: left;
  width: 400px;
  overflow: hidden;
}
.post-header-meta .post-header-category {
  float: right;
  width: 300px;
  text-align: right;
  padding: 20px 0 10px;
}

.bzb-sns-btn {
  padding: 0;
  margin: 0;
  font-size: 0;
}
.bzb-sns-btn li {
  display: inline-block;
  vertical-align: top;
  font-size: 16px;
  margin: 4px;
}

.comment-list > .comment {
  margin-bottom: 40px;
  border-bottom: 1px #eee solid;
}

.comment-list > .comment > .comment-body {
  padding: 0 20px;
  margin-bottom: 20px;
}

.comment-list .children {
  margin-left: 45px;
} */

/* @media screen and (max-width: 767px) {
  .comment-list .children {
    margin-left: 0;
  }
}
.comment-list .children .comment-body {
  padding: 20px 30px;
  margin-bottom: 20px;
  background: #f7f7f7;
}

.comment-author {
  float: left;
  vertical-align: top;
  font-size: 12px;
  margin-left: 10px;
}
.comment-author img {
  vertical-align: top;
}

.comment-meta {
  font-size: 12px;
  margin-bottom: 12px;
}

.reply a {
  border-radius: 3px;
  padding: 3px 5px;
  font-size: 12px;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.reply a:before {
  content: "";
  position: absolute;
  mask: url(./lib/images/icon/reply.svg) no-repeat;
  mask-size: contain;
  background-color: #383838;
  width: 13px;
  height: 13px;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -11px;
}
.reply a:hover {
  text-decoration: none;
}

.comment-form-comment {
  margin-bottom: 0;
  width: 100%;
}

.comment-form-comment label {
  display: none;
}

.form-allowed-tags {
  font-size: 12px;
  margin-bottom: 20px;
  display: none;
}

.comment-meta:after {
  content: " ";
  display: block;
  clear: both;
}

.comments-title {
  font-size: 24px;
  padding: 20px 0;
  margin-bottom: 30px;
  margin-top: 0;
}

.comment-form-author,
.comment-form-email,
.comment-form-url {
  overflow: hidden;
  margin: 10px 0;
}
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
  font-size: 12px;
}

.form-submit #submit {
  width: 240px;
  margin-top: 2em;
  line-height: 24px;
  border: none;
  border-radius: 3px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.form-submit #submit:hover {
  cursor: pointer;
}

.comment-form-comment textarea {
  width: 100%;
  padding-left: 2%;
  padding-right: 2%;
}
.comment-form {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.comment-form-author,
.comment-form-email {
  width: 50%;
  margin: 0;
}
.comment-form-author label,
.comment-form-author input,
.comment-form-email label,
.comment-form-email input {
  width: 90%;
  margin: 0 0 10px;
}
.comment-form-cookies-consent {
  margin-bottom: 0;
  font-size: 14px;
  width: 100%;
} */

/* loop
---------------------------------------- */
/* .cat-content {
  background: #fff;
  padding: 40px;
  margin-bottom: 30px;
}

.post-loop-wrap article {
  width: 100%;
  margin: 0 0 60px;
}
.post-loop-wrap article p {
  margin-top: 0;
}
.post-loop-wrap .post-title {
  margin-bottom: 0;
}
.post-loop-wrap .post-thumbnail {
  width: 100%;
}
.post-loop-wrap .post-thumbnail img {
  max-width: 100%;
  height: auto;
}
.post-loop-wrap .more-link {
  border: 1px #3b4552 solid;
  padding: 8px 20px;
  margin-bottom: 64px;
  color: #3b4552;
}
.post-loop-wrap .more-link:hover {
  background: #3b4552;
  color: #fff;
  text-decoration: none;
}
.post-loop-wrap .post-footer {
  border-top: 1px #eee solid;
  padding: 0;
  overflow: hidden;
}
.post-loop-wrap .post-footer a.morelink {
  display: block;
  background: #3b4552;
  color: #fff;
  text-align: center;
  padding: 12px;
}

/* pager */
/* .pagination {
  clear: both;
  padding: 20px 0;
  position: relative;
  font-size: 16px;
  line-height: 22px;
  overflow: hidden;
}

.pagination a {
  background: #fff;
}

.pagination a,
.pagination > span {
  display: block;
  float: left;
  margin: 2px 2px 2px 0;
  padding: 6px 9px 5px 9px;
  text-decoration: none;
  width: auto;
  color: #241913;
}

.pagination a:hover {
  background: #999999;
  color: #fff;
}

.pagination .current {
  padding: 6px 9px 5px 9px;
  background: #999999;
  color: #fff;
}

.post-content .pagination {
  margin: 0;
}

.post-content .pagination > span {
  background: #999999;
  color: #ffffff;
} */

/* ----------------------------------------
* side
---------------------------------------- */
/* .side-widget-area {
  padding: 0;
}

.side-widget {
  margin-bottom: 40px;
  padding-bottom: 40px;
  line-height: 1.6;
  font-size: 14px;
}
.side-widget .side-title {
  margin: 0 0 32px;
  font-size: 15px;
  background: #ebebeb;
  border: 1px solid #e4e4e4;
}
.side-widget a {
  color: #47b39d;
  text-decoration: underline;
  display: block;
}
.side-widget a:hover {
  color: #47b39d;
  text-decoration: none;
}
.side-widget ul li {
  padding: 16px 0;
  border-bottom: 1px solid #e5e5e5;
}
.side-widget .side-title {
  margin: 0 0 13px;
  padding: 8px;
  font-size: 16px;
}
.side-widget.widget_recent_comments a {
  background: none;
}
.side-widget .post-date {
  margin: 0 0 0 36px;
  font-size: 13px;
  color: #999999;
}
.side-widget .post-share-fb .pas {
  display: none;
}

.widget_categories a {
  display: inline-block;
} */

/* widget_views */
/* .widget_views a {
  display: inline;
} */

/* search */
/* .widget_search {
  overflow: hidden;
  background: #fff;
  border: 1px solid #e5e5e5;
  padding-bottom: 0;
  border-radius: 2px;
}
.widget_search form div {
  position: relative;
  padding-right: 40px;
}
.widget_search label {
  display: none;
}
.widget_search input[type="text"] {
  line-height: 18px;
  padding: 8px 13px;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  border: none;
  float: left;
}
.widget_search button {
  float: right;
  position: absolute;
  top: 0;
  right: 0;
  vertical-align: top;
  line-height: 18px;
  border: none;
  border-radius: 3px;
  width: 40px;
  padding: 8px 5px;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  background: transparent;
  font-size: 14px;
  color: #5e6265;
}
.widget_search button:hover {
  cursor: pointer;
}

#searchform form input[type="text"],
#searchform form input[type="email"],
#searchform form input[type="url"],
#searchform form input[type="tel"],
#searchform form input[type="number"],
#searchform form input[type="date"],
#searchform form textarea {
  border-radius: 3px;
  padding: 12px;
  max-width: 100%;
  font-size: 16px;
}
#searchform form textarea {
  width: 80%;
}
#searchform form input[type="submit"] {
  padding: 12px 20px;
} */
*/

/* comment */
/* .recentcomments {
  color: #808080;
  font-size: 12px;
}
.recentcomments a {
  color: #241913;
  font-size: 14px;
} */

/* 実装中止----------- */
/* calendar */
/* .widget_calendar {
  border-radius: 3px;
  font-size: 16px;
}
.widget_calendar .side-widget-inner {
  border-radius: 3px;
  padding: 0;
}
.widget_calendar table {
  width: 100%;
}
.widget_calendar caption {
  border-radius: 3px 3px 0 0;
  padding: 14px 20px;
  margin: 0 -20px 20px;
  font-size: 18px;
  text-align: center;
}
.widget_calendar a {
  color: #666;
}
.widget_calendar li {
  margin-bottom: 1em;
}
.widget_calendar thead,
.widget_calendar tfoot,
.widget_calendar tbody {
  margin: 0 20px;
}
.widget_calendar th,
.widget_calendar td {
  text-align: center;
  white-space: nowrap;
}
.widget_calendar tbody a {
  display: block;
}
.widget_calendar tbody a:hover {
  text-decoration: none;
} */

/* follow */
/* #side .share-list-wrap {
  margin: 0 -20px 20px;
  background: #fff;
  padding: 20px;
}
#side .share-list-wrap .post-share-list1,
#side .share-list-wrap .post-share-list2,
#side .share-list-wrap .post-share-list3,
#side .share-list-wrap .post-share-list4 {
  overflow: hidden;
  margin-left: -1%;
}
#side .share-list-wrap .post-share-list1 li,
#side .share-list-wrap .post-share-list2 li,
#side .share-list-wrap .post-share-list3 li,
#side .share-list-wrap .post-share-list4 li {
  float: left;
  width: 24%;
  margin-left: 1%;
}
#side .share-list-wrap .post-share-list1 li a,
#side .share-list-wrap .post-share-list2 li a,
#side .share-list-wrap .post-share-list3 li a,
#side .share-list-wrap .post-share-list4 li a {
  border-radius: 100%;
  background: #fff;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 60px;
  height: 60px;
  font-size: 32px;
  color: #5e6265;
}
#side .share-list-wrap .post-share-list1 li a .follow-on,
#side .share-list-wrap .post-share-list1 li a .big,
#side .share-list-wrap .post-share-list2 li a .follow-on,
#side .share-list-wrap .post-share-list2 li a .big,
#side .share-list-wrap .post-share-list3 li a .follow-on,
#side .share-list-wrap .post-share-list3 li a .big,
#side .share-list-wrap .post-share-list4 li a .follow-on,
#side .share-list-wrap .post-share-list4 li a .big {
  display: none;
}
#side .share-list-wrap .post-share-list1 li.post-share-facebook a:hover,
#side .share-list-wrap .post-share-list2 li.post-share-facebook a:hover,
#side .share-list-wrap .post-share-list3 li.post-share-facebook a:hover,
#side .share-list-wrap .post-share-list4 li.post-share-facebook a:hover {
  color: #305097;
}
#side .share-list-wrap .post-share-list1 li.post-share-twitter a:hover,
#side .share-list-wrap .post-share-list2 li.post-share-twitter a:hover,
#side .share-list-wrap .post-share-list3 li.post-share-twitter a:hover,
#side .share-list-wrap .post-share-list4 li.post-share-twitter a:hover {
  color: #00aced;
}
#side .share-list-wrap .post-share-list1 li.post-share-feedly a:hover,
#side .share-list-wrap .post-share-list2 li.post-share-feedly a:hover,
#side .share-list-wrap .post-share-list3 li.post-share-feedly a:hover,
#side .share-list-wrap .post-share-list4 li.post-share-feedly a:hover {
  color: #2bb24c;
}

/* author */
#side-author {
  overflow: hidden;
  font-size: 12px;
}
#side-author h4 {
  padding: 12px 0;
  margin-bottom: 20px;
  font-size: 16px;
}
#side-author .side-author-img {
  float: left;
  width: 100px;
}
#side-author .side-author-meta {
  float: right;
  width: 180px;
}
*/

/* ----------------------------------------
* footer
---------------------------------------- */
/* Facebook Like Box width: 100% */
/* .post-share-fb.side-widget {
  text-align: center;
}
div.post-share-fb .fbcomments,
div.post-share-fb .fb_iframe_widget,
div.post-share-fb .fb_iframe_widget[style],
div.post-share-fb .fb_iframe_widget iframe[style],
div.post-share-fb .fbcomments iframe[style] *,
div.post-share-fb .fb_iframe_widget span {
  max-width: 100% !important;
}
#footer .fbcomments,
#footer .fb_iframe_widget,
#footer .fb_iframe_widget[style],
#footer .fb_iframe_widget iframe[style],
#footer .fbcomments iframe[style] *,
#footer .fb_iframe_widget span {
  max-width: 100% !important;
}

#footer {
  color: #fff;
}
#footer .fb-like-box,
#footer .fb-like-box > span,
#footer iframe {
  width: 100% !important;
  box-sizing: border-box;
}
#footer .footer-logo {
  font-size: 24px;
}
.footer-logo img {
  height: 40px;
}
#footer a:hover {
  color: #ccc;
}
#footer .wrap {
  padding: 30px 0;
}
#footer .post-share {
  padding-right: 0;
  padding-left: 0;
}
#footer .row {
  margin-left: -15px;
  margin-right: -15px;
}
#footer .row .gr1,
#footer .row .gr2,
#footer .row .gr3,
#footer .row .gr4,
#footer .row .gr5,
#footer .row .gr6,
#footer .row .gr7,
#footer .row .gr8,
#footer .row .gr9,
#footer .row .gr10,
#footer .row .gr11,
#footer .row .gr12 {
  padding-left: 15px;
  padding-right: 15px;
} */

/* #footer-brand-area {
  padding-bottom: 32px;
  margin-bottom: 32px;
  border-bottom: 1px solid #3b4552;
} */

/* #footer-content-area {
  font-size: 14px;
}
#footer-content-area h4 {
  font-size: 16px;
}
#footer-content-area i.fa {
  margin-right: 26px;
}
#footer-content-area #footer-cont-about li,
#footer-content-area #footer-cont-content li {
  position: relative;
}
#footer-content-area #footer-cont-about li:before,
#footer-content-area #footer-cont-content li:before {
  content: "";
  mask: url(./lib/images/icon/angle-right.svg) no-repeat;
  mask-size: contain;
  width: 10px;
  height: 10px;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
}
#footer-content-area #footer-cont-about li a,
#footer-content-area #footer-cont-content li a {
  padding: 8px 12px 8px 14px;
  display: inline-block;
}
#footer-content-area #footer-cont-about li a:hover,
#footer-content-area #footer-cont-content li a:hover {
  text-decoration: none;
}
#footer-content-area #footer-cont-sns a {
  display: flex;
  padding: 8px 12px 8px 0;
}
#footer-content-area #footer-cont-sns a:hover {
  text-decoration: none;
}

.footer-01 {
  padding: 40px 0;
}
.footer-01 .footer-address {
  text-align: right;
} */

/* @media screen and (max-width: 991px) {
  .footer-01 .footer-address {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .footer-01 .footer-address {
    margin-top: 24px;
  }
}
.footer-02 .footer-copy {
  text-align: center;
  color: #2f3130;
  font-size: 12px;
} */

/* ----------------------------------------
* pagetop
---------------------------------------- */
/* .pagetop {
  display: none;
  position: fixed;
  bottom: 50px;
  right: 50px;
  color: #fff;
}
.pagetop span {
  display: block;
  border-radius: 25px;
  background: #2b2b2b;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 40px;
  font-size: 36px;
  opacity: 0.8;
}

@media screen and (max-width: 768px) {
  .pagetop {
    bottom: 8px;
    right: 8px;
  }
  .pagetop span {
    width: 45px;
    height: 45px;
    font-size: 28px;
  }
} */

/* ----------------------------------------
* レスポンシブ
---------------------------------------- */
/* #header-nav-btn,
#gnav-sp {
  display: none;
}

@media screen and (max-width: 1200px) {
  .post-header,
  .post-author {
    padding: 36px;
  }

  .post-content,
  .post-footer {
    padding-left: 36px;
    padding-right: 36px;
  } */
  /* end start */
/* } */
/* @media screen and (max-width: 991px) { */
  /* tablet */
  /* .wrap {
    width: auto;
    margin: 0 24px;
  } */

  /* header */
  /* #header {
    padding: 0;
  }
  #header .wrap {
    width: auto;
    margin: 0 24px;
  }

  #header-nav-btn {
    display: block;
    width: 116px;
    line-height: 92px;
    float: right;
  }
  #header-nav-btn a {
    display: block;
    text-align: center;
    display: block;
    font-size: 20px;
    background: #3b4552;
  }

  #header-fnav-area {
    display: none;
  } */

  /* gnav */
  /* #gnav {
    display: none;
  }

  .dummy {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 10;
  }

  #gnav-sp {
    display: none;
    background: #3b4552;
    display: block;
    color: #fff;
    font-family: "Shippori Mincho B1", serif;
    z-index: 100;
    position: absolute;
    right: 0;
    left: 0;
    width: 100%;
  }
  #gnav-sp .wrap {
    width: 94%;
    margin: 0 3%;
    padding: 36px 0;
  }
  #gnav-sp .wrap a {
    color: #fff;
  }
  #gnav-sp #header-cont-content h4,
  #gnav-sp #header-cont-about h4,
  #gnav-sp #header-cont-sns h4 {
    font-weight: bold;
    margin: 16px 0 0;
  }
  #gnav-sp #header-cont-content li,
  #gnav-sp #header-cont-about li,
  #gnav-sp #header-cont-sns li {
    font-size: 14px;
  }
  #gnav-sp #header-cont-content li a,
  #gnav-sp #header-cont-about li a,
  #gnav-sp #header-cont-sns li a {
    padding: 10px 12px;
  }
  #gnav-sp #header-cont-content li a {
    display: block;
    position: relative;
  }
  #gnav-sp #header-cont-content li a:before {
    content: "";
    mask: url(./lib/images/icon/angle-right.svg) no-repeat;
    mask-size: contain;
    background-color: #fff;
    width: 10px;
    height: 10px;
    position: absolute;
    mask: url(./lib/images/icon/angle-right.svg) no-repeat;
    mask-size: contain;
    background: #fff;
    width: 10px;
    height: 11px;
    top: 15px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  #gnav-sp #header-cont-content .children {
    display: none;
  }
  #gnav-sp #header-cont-content li .sub-menu {
    margin-bottom: 0;
  }
  #gnav-sp #header-cont-about li .sub-menu li a::before,
  #gnav-sp #header-cont-content li .sub-menu li a::before {
    display: none;
  }
  #gnav-sp #header-cont-about li a,
  #gnav-sp #header-cont-content li a {
    text-decoration: none !important;
  }
  #gnav-sp #header-cont-about li.menu-item-has-children > a,
  #gnav-sp #header-cont-content li.menu-item-has-children > a {
    width: 92%;
    display: inline-block;
  }
  #gnav-sp #header-cont-about li.menu-item-has-children span.dropdown-toggle,
  #gnav-sp #header-cont-content li.menu-item-has-children span.dropdown-toggle {
    mask-image: url(./lib/images/icon/angle-down.svg);
    mask-repeat: no-repeat;
    mask-size: 10px auto;
    mask-position: center center;
    background-color: #fff;
    width: 5%;
    height: 20px;
    margin-right: 2%;
    display: none;
  }
  #gnav-sp #header-cont-about li.nav-open span.dropdown-toggle,
  #gnav-sp #header-cont-content li.nav-open span.dropdown-toggle {
    mask-image: url(./lib/images/icon/angle-up.svg);
  }
  #gnav-sp #header-cont-about li.menu-item-has-children span.dropdown-toggle,
  #gnav-sp #header-cont-content li.menu-item-has-children span.dropdown-toggle {
    display: inline-block;
    position: relative;
    top: 3px;
  }
  #gnav-sp #header-cont-about li .sub-menu li span.dropdown-toggle,
  #gnav-sp #header-cont-content li .sub-menu li span.dropdown-toggle {
    display: none !important;
  }
  #gnav-sp #footer-nav li a {
    display: block;
    padding: 8px 12px;
    position: relative;
  }
  #gnav-sp #footer-nav li a:before {
    content: "";
    mask: url(./lib/images/icon/angle-right.svg) no-repeat;
    mask-size: contain;
    background-color: #fff;
    width: 10px;
    height: 10px;
    position: absolute;
    mask: url(./lib/images/icon/angle-right.svg) no-repeat;
    mask-size: contain;
    background: #fff;
    width: 10px;
    height: 11px;
    top: 14px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  #gnav-sp #footer-nav .children {
    display: none;
  }
  #gnav-sp #header-cont-sns li a {
    display: block;
    padding: 8px 12px 8px 0;
  }

  .cat-content .post-header,
  article.page .post-header,
  article.post .post-header {
    padding: 56px 44px;
  }

  article.page .post-content {
    padding: 40px;
  }

  .post-header {
    padding: 56px 44px 0;
  }

  .post-content {
    padding: 40px;
  }
  .post-content h2 {
    margin-left: -52px;
  }

  .post-meta-area {
    background: #fff;
    color: #241913;
  }
  .post-meta-area .post-meta {
    text-align: left;
  }
  .post-meta-area .post-meta .date {
    background: transparent;
    text-align: left;
  }
  .post-meta-area .bzb-sns-btn {
    height: auto;
  }
  .post-meta-area .bzb-sns-btn .sharrre {
    margin: 0 5px 0 0;
    float: left !important;
    width: 20%;
    overflow: hidden;
  }
  .post-meta-area .bzb-sns-btn .sharrre.twitter a,
  .post-meta-area .bzb-sns-btn .sharrre.facebook a,
  .post-meta-area .bzb-sns-btn .sharrre.hatena a {
    background: transparent;
    display: block;
    padding: 4px 24px;
    color: #241913;
  }
  .post-meta-area .bzb-sns-btn .sharrre.twitter a .share,
  .post-meta-area .bzb-sns-btn .sharrre.facebook a .share,
  .post-meta-area .bzb-sns-btn .sharrre.hatena a .share {
    display: none;
    text-align: center;
    float: left;
  }
  .post-meta-area .bzb-sns-btn .sharrre.twitter a:hover,
  .post-meta-area .bzb-sns-btn .sharrre.facebook a:hover,
  .post-meta-area .bzb-sns-btn .sharrre.hatena a:hover {
    background: transparent;
  }
  .post-meta-area .bzb-sns-btn .s_buttons {
    font-size: 14px;
    padding-top: 20px;
  }
  .post-meta-area .loop-comment-icon {
    padding: 4px 12px;
    background: transparent !important;
    text-align: center;
    float: right;
  }

  #footer-facebook {
    display: none;
  }

  #footer-list-area {
    width: 100%;
  } */
  /* tablet end */
/* }
@media screen and (max-width: 767px) { */
  /* phone */
  /* .wrap {
    overflow: hidden;
  }

  .post-title {
    font-size: 21px;
    margin-bottom: 20px;
  }

  .wrap {
    margin: 0 12px;
  }

  #main {
    width: 100%;
    float: none;
  }

  #side {
    width: 100%;
    float: none;
  }

  .left-content #main {
    width: 100%;
    float: none;
  }
  .left-content #side {
    width: 100%;
    float: none;
  }

  .right-content #main {
    width: 100%;
    float: none;
  }
  .right-content #side {
    width: 100%;
    float: none;
  }

  .one-column #content .wrap {
    width: 94%;
    margin: 0 3%;
  }
  .one-column #content .wrap #main {
    width: 100%;
    float: none;
  }
  .one-column #content .wrap #side {
    width: 100%;
    float: none;
  } */

  /* header */
  /* #header {
    padding: 0;
  }
  #header .wrap {
    padding: 0;
    margin: 0 12px;
  }
  #header #logo {
    float: none;
    height: 78px;
    line-height: 78px;
  }
  #header #logo img {
    max-height: 62px;
  }
  #header #header-right {
    height: auto;
  }
  #header #header-primary-nav {
    display: none;
  }

  #header-nav-btn {
    display: block;
    width: auto;
    margin: 0;
    line-height: 92px;
    float: none;
  }
  #header-nav-btn a {
    display: block;
    text-align: center;
    font-size: 20px;
    padding: 4px 0;
    line-height: 1.2;
    background: #3b4552;
    width: 100%;
  }
  #header-nav-btn a:hover {
    text-decoration: none;
  }

  #gnav-sp {
    display: none;
    top: 112px;
  }
  #gnav-sp ul {
    margin-bottom: 20px;
  }
  #gnav-sp #header-cont-content ul {
    margin-left: 0;
  }
  #gnav-sp #header-cont-content li {
    margin-left: 0;
    float: left;
    width: 100%;
  } */

  /* single */
  /* .cat-content .post-header,
  article.page .post-header,
  article.post .post-header {
    padding: 20px;
  }

  .post-author {
    padding: 20px;
  }
  .post-author .post-author-meta {
    padding-top: 12px;
    margin-left: 0;
  }
  .post-author .post-author-meta h2 {
    margin: 0 0 4px;
  }
  .post-author .post-author-meta p {
    margin-right: 0;
    font-size: 15px;
  }
  .post-author .post-author-img {
    float: none;
    text-align: center;
  }

  .post-meta-area .post-meta,
  .post-meta-area .post-meta-comment {
    padding: 0;
  }
  .post-meta-area .post-meta .date {
    padding: 8px 20px;
  }
  .post-meta-area .post-meta-comment .author {
    text-align: left;
  }
  .post-content,
  .post-footer {
    padding: 20px;
  }

  .post-cta .cta-post-title {
    padding: 12px 20px;
    font-size: 18px;
  }
  .post-cta .post-cta-inner {
    padding: 0;
  }
  .post-cta .post-cta-cont {
    padding: 12px 20px;
  }
  .post-cta .post-cta-cont .post-cta-img {
    float: none;
    margin: 0 0 12px;
    width: 100%;
  }
  .post-cta .post-cta-cont .post-cta-img {
    text-align: center;
  }
  .post-cta .post-cta-btn a {
    width: 100%;
  }

  .comment-form-author,
  .comment-form-email {
    width: 100%;
  }
  .comment-form-author input,
  .comment-form-email input {
    width: 100%;
  } */
  /* phone end */
/* } */

/* bzb_sns_btn 2016.12.20 */
/* 
.bzb-sns-btn {
  display: table-cell;
}
.bzb-sns-btn li {
  vertical-align: top;
  font-size: auto;
}
.bzb-sns-btn li.bzb-facebook {
  width: 110px;
}
.bzb-sns-btn li.bzb-twitter {
  width: 75px;
}
.bzb-sns-btn li.bzb-pocket {
  width: 86px;
}
.fb_iframe_widget span {
  vertical-align: top !important;
}
.bzb-line a img {
  vertical-align: top !important;
} */

/* h2 2016.12.20 */

/* @media screen and (max-width: 1200px) {
  .post-content h2 {
    margin: 80px 0 32px -46px;
    padding: 16px 16px 16px 36px;
  }
}

@media screen and (max-width: 767px) {
  .post-content h2 {
    margin: 80px 0 32px -30px;
    padding: 16px 16px 16px 20px;
  }
} */

/* ----------------------------------------
* table scroll
---------------------------------------- */
/* .table-wrap {
  overflow-x: scroll;
  white-space: nowrap;
  margin-bottom: 48px;
}

.table-grad {
  position: relative;
  white-space: nowrap;
}

.table-grad:after {
  background-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 80%,
    white 100%
  );
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  table img {
    max-width: initial;
  }
} */

/*記事下ウィジェットエリア*/
/* .under_post_area {
  padding: 40px;
}
@media screen and (max-width: 767px) {
  .under_post_area {
    padding: 40px 20px;
  }
}

span.count {
  display: block;
  margin-left: 16px;
}

#fnav-h-ul .sub-menu li a {
  text-indent: 1em;
}
#fnav-h-ul .sub-menu {
  border-top: 1px #e5e5e5 solid;
}
.color03 #header-fnav-area #header-fnav li:last-child {
  border-bottom: 0;
}

/* single */
/* .single .post-meta-area .post-meta .modified,
.single .post-meta-area .post-meta .published {
  display: inline-block;
  padding: 12px 16px;
  position: relative;
  font-size: 14px;
}
.single .post-meta-area .post-meta .published::before {
  content: "";
  mask: url(./lib/images/icon/clock.svg) no-repeat;
  mask-size: contain;
  width: 13px;
  height: 13px;
  background-color: #383838;
  position: relative;
  display: inline-block;
  top: 1px;
  margin-right: 4px;
}
.single .post-meta-area .post-meta .modified::before {
  content: "";
  mask: url(./lib/images/icon/modified.svg) no-repeat;
  mask-size: contain;
  width: 12px;
  height: 12px;
  background-color: #383838;
  position: relative;
  display: inline-block;
  top: 1px;
  margin-right: 4px;
} */

/*meta*/
/* @media screen and (max-width: 550px) {
  .post-meta-area {
    flex-direction: column;
  }
  .post-meta-area .post-meta {
    border-bottom: 1px solid #e5e5e5;
  }
} */

/* Css for footer menu SP */
/* @media screen and (max-width: 767px) {
  #footer-list-area ul li ul.sub-menu li a {
    text-indent: 1em;
  }
  #footer-list-area ul li ul.sub-menu li::before {
    display: none !important;
  }
  #footer-content-area #footer-cont-about li:before,
  #footer-content-area #footer-cont-content li:before {
    top: 14px;
    bottom: unset;
  }
  #footer-list-area ul li.menu-item-has-children a,
  #footer-content-area ul li.menu-item-has-children .dropdown-toggle a {
    width: 93%;
    display: inline-block;
  }
  #footer-list-area ul li.menu-item-has-children .dropdown-toggle,
  #footer-content-area ul li.menu-item-has-children .dropdown-toggle {
    mask-image: url(./lib/images/icon/angle-down.svg);
    mask-repeat: no-repeat;
    mask-size: 10px auto;
    mask-position: center center;
    background-color: #fff;
    width: 5%;
    height: 20px;
    margin-right: 2%;
    display: inline-block;
  }
  #footer-list-area ul li.nav-open span.dropdown-toggle,
  #footer-content-area ul li.nav-open span.dropdown-toggle {
    mask-image: url(./lib/images/icon/angle-up.svg);
  }
  #footer-list-area ul li.menu-item-has-children ul li .dropdown-toggle,
  #footer-content-area ul li.menu-item-has-children ul li .dropdown-toggle {
    display: none;
  }
}

#gnav-sp #header-cont-content h2,
#gnav-sp #header-cont-about h2,
#gnav-sp #header-cont-sns h2 {
  font-size: 16px;
  font-weight: bold;
  margin: 16px 0 0;
} */


/* --- header --- */
#header .header-flex-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
#header {
  background: #f3f2ee;
  padding: 0;
  border-bottom: 1px solid #fff;
  padding: 15px 40px;
}
.header-flex-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 95%;
  max-width: 1376px;
  margin: 0 auto;
}
#logo {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.header-custom-buttons {
  display: flex !important;
  align-items: center !important;
  gap: 15px;
  margin-left: auto;
}
.header-custom-buttons img {
  width: 36px;
  height: 36px;
}
.header-svg-logo img {
  width: auto;
  height: 40px;
  display: block;
}
.head-btn {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 12px;
  text-decoration: none;
  font-size: 24px;
  font-weight: 500;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid #2b1b17;
  -webkit-backdrop-filter: blur(10px); /* Safari対策 */
  box-shadow:
    0 4px 15px rgba(0, 0, 0, 0.05),
    inset 0 0 8px rgba(0, 0, 0, 0.03);
  color: #2b1b17 !important;
}
.head-btn:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.1),
    inset 0 0 10px rgba(0, 0, 0, 0.05);
}
.head-tel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 55px;
  min-width: 55px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid #2b1b17;
  box-shadow:
    0 4px 15px rgba(0, 0, 0, 0.05),
    inset 0 0 8px rgba(0, 0, 0, 0.03);

  transition: all 0.3s ease;
  margin-left: 7px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
}
.head-tel-icon img {
  width: 65% !important;
  height: auto !important;
  display: block;
  filter: none;
  transition: all 0.3s ease;
}
.head-tel-icon:hover {
  background: rgba(255, 255, 255, 0.9) !important;
  transform: translateY(-2px);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.1),
    inset 0 0 10px rgba(0, 0, 0, 0.05);
}
.head-tel-icon:hover img {
  filter: none !important;
}

.post-title {
  border-bottom: none;
  margin: 51px 0 72px 80px;
}
.head-tel-icon:hover {
  background: #2b1b17;
  color: #ffffff;
}

/* --- fv --- */
.home #main_visual {
  background-color: #f3f2ee;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
}
.fv-container {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  line-height: 0;
}
.fv-image {
  width: 100%;
  height: auto;
  border-radius: 0;
  display: block;
}
.fv-text-overlay {
  position: absolute;
  width: 789px;
  top: 182px;
  right: 5%;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.fv-text-overlay p {
  font-size: 35px !important;
  line-height: 1.4;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

.fv-text-overlay p.fv-sub-text {
  font-size: 18px !important;
  color: #9d8980;
  margin-top: 10px !important;
  letter-spacing: 0.02em;
  font-weight: 400;
  text-align: center;
  width: 100%;
}
.pc-br {
  display: block;
}
.sp-br {
  display: none;
}

/* --- ボタン基本設定 --- */
.fv-line-btn {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid #ffffff;
  border-radius: 12px;
  padding: 10px 20px;
  margin-top: 300px !important;
  align-self: flex-end;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  color: #fff !important;
}
.fv-line-btn:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  color: #2b1b17 !important;
}
.line-icon-box {
  background: #06c755;
  width: 68px;
  height: 68px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}
.line-icon-box img {
  width: 68px;
  height: auto;
}
.line-text-box {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.fv-container .line-text {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 2px;
  white-space: nowrap;
}

/* --- レスポンシブ: 1200px以下 --- */
@media (max-width: 1200px) {
  .fv-line-btn {
    margin-top: 100px !important;
  }
}

/* --- レスポンシブ: 1024px以下 --- */
@media (max-width: 1024px) {
  .pc-br {
    display: none;
  }
  .sp-br {
    display: block;
    content: "";
  }
  .fv-text-overlay {
    width: 90%;
    top: 10%;
    right: 5%;
  }
  .fv-text-overlay p {
    font-size: 28px !important;
  }
  /* ボタンサイズ微調整 */
  .line-icon-box {
    width: 50px;
    height: 50px;
  }
  .line-icon-box img {
    width: 50px;
  }
  .fv-container .line-text {
    font-size: 20px;
  }
}

/* --- レスポンシブ: 768px以下 --- */
@media (max-width: 768px) {
  .fv-container {
    height: 375px !important;
    width: 100% !important;
    overflow: hidden;
  }
  .fv-image {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
  }

  /* 【修正】タイトルサイズを20pxに設定 */
  .fv-text-overlay p {
    font-size: 18px !important;
    line-height: 1.5 !important;
    width: 100%;
    text-align: left;
  }

  .fv-text-overlay p.fv-sub-text {
    font-size: 14px !important;
    margin-top: 8px !important;
  }

  /* 【修正】ボタンのサイズと余白の調整 */
  .fv-line-btn {
    /* 左右の余白を詰め、中身の横幅を確保する */
    padding: 10px 12px !important;
    margin-top: 40px !important;
    width: auto;
    /* ボタンが極端に細くならないよう最小幅を指定 */
    min-width: 270px;
    max-width: 100%;
  }

  .line-icon-box {
    width: 40px;
    height: 40px;
    min-width: 40px;
    margin-right: 10px;
  }

  .line-icon-box img {
    width: 100%;
    height: auto;
  }

  .fv-line-btn .fv-line-botton {
    font-size: 14px !important;
    line-height: 1.4 !important;
    display: block;
    white-space: nowrap !important;
    text-align: left;
  }
}

.concept-wrap {
  padding: 125px 0;
}
.concept-container {
  max-width: 1280px;
  margin: 0 auto;
}
.concept-content-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.concept-main-texts {
  text-align: center;
  width: 100%;
}
.concept-title {
  font-size: 45px;
  font-weight: 500;
  line-height: 1.4;
}
.concept-sub-title {
  font-size: 20px;
  color: #9d8980;
  margin-bottom: 40px !important;
  letter-spacing: 0.1em;
}
.concept-description p {
  font-size: 24px;
  line-height: 2;
  margin-bottom: 30px;
  text-align: center;
  display: block;
}

/* 改行コントロール */
.pc-br {
  display: block;
}
.sp-br {
  display: none;
}

/* --- タブレット・モバイル共通 (1024px以下) --- */
@media (max-width: 1024px) {
  .pc-br {
    display: none !important; /* PC用を消す */
  }
  .sp-br {
    display: block !important; /* SP用を有効化 */
    width: 100%;
    height: 0;
  }
  .concept-description p {
    font-size: 18px; /* TB/SP向けサイズ調整 */
    line-height: 1.8;
    display: flex !important; /* 縦並びを強制 */
    flex-direction: column !important;
    align-items: center !important;
  }
}

/* --- モバイル個別 (768px以下) --- */
@media (max-width: 768px) {
  .concept-wrap {
    padding: 60px 20px;
  }
  .concept-container {
    width: 100%;
  }
  .concept-title {
    font-size: 28px !important;
    margin-bottom: 5px;
  }
  .concept-sub-title {
    font-size: 14px !important;
    margin-bottom: 30px !important;
  }
  .concept-description p {
    font-size: 16px !important;
    /* 1024px以下の設定を継承 */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .concept-description p:last-child {
    margin-bottom: 0;
  }
}
/* 事業内容 */
.services-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  text-align: center;
  margin-bottom: 85px;
}
.services-main-title {
  font-size: 45px;
  font-weight: 500;
  line-height: 1.4;
}
.services-sub-title {
  font-size: 20px;
  color: #9d8980;
  margin-bottom: 40px !important;
  letter-spacing: 0.1em;
}

.services-lead {
  font-size: 24px;
  line-height: 2;
  margin-bottom: 30px;
  letter-spacing: 0.02em;
}
.services-wrap {
  overflow: hidden;
  padding: 100px 0;
}
.service-item {
  position: relative;
  /* 横幅の制限を追加 */
  width: 100%;
  max-width: 1440px;
  margin: 0 auto 120px; /* 左右中央寄せ (auto) と下の余白 */

  height: 800px; /* 四角の高さ基準 */
  display: block;
}
.service-bg-glass {
  position: absolute;
  top: 0; /* 上端を親のトップに合わせる */
  left: 50%;
  transform: translateX(-50%); /* 左右中央寄せのみ */
  width: 1000px;
  height: 800px;
  z-index: 2;
  border-radius: 20px;
}
.is-blue {
  background: linear-gradient(
    135deg,
    rgba(53, 100, 169, 0.3) 0%,
    rgba(145, 198, 203, 0.15) 100%
  );
}
.is-green {
  background: linear-gradient(
    135deg,
    rgba(42, 129, 75, 0.3) 0%,
    rgba(145, 203, 158, 0.15) 100%
  );
}
.is-pink {
  background: linear-gradient(
    135deg,
    rgba(177, 121, 114, 0.3) 0%,
    rgba(203, 145, 184, 0.15) 100%
  );
}
.service-image-box {
  position: absolute;
  top: 0;
  width: 55%;
  max-width: 850px;
  height: 558px;
  z-index: 1;
  transform: none;
}
.service-text-content {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  z-index: 3;
  width: 1000px;
  padding: 0 30px;
  pointer-events: none;
}
.service-item:not(.is-reverse) .service-image-box {
  left: -120px;
}
.service-item.is-reverse .service-image-box {
  right: -120px;
}

.service-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.service-text-content {
  position: relative;
  z-index: 3;
  width: 1000px;
  padding: 0 30px;
}

.service-item.is-reverse .service-text-content {
  text-align: left;
  margin-right: auto;
}

.service-item:not(.is-reverse) .service-text-content {
  text-align: left;
  margin-left: auto;
  margin-right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 698px;
}
.service-item:not(.is-reverse) .service-title-main,
.service-item:not(.is-reverse) .service-title-sub {
  width: 100%;
  text-align: left;
}
.service-title-main {
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 5px;
}
.service-title-sub {
  font-size: 14px;
  color: #9d8980;
  margin-bottom: 35px;
  display: block;
}
.service-item-desc {
  font-size: 24px !important;
  max-width: 698px;
  line-height: 2;
  margin-bottom: 40px;
}
.service-item-button-wrapper {
  position: absolute;
  bottom: 80px; /* 四角の下端からの距離 */
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  width: 1000px;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.service-item-button-wrapper > * {
  pointer-events: auto;
}

.service-item-buttons,
.service-line-btn {
  pointer-events: auto;
}
.service-line-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.service-item .fv-line-btn {
  margin-top: 0 !important;
  align-self: center;
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: #2b1b17 !important;
}

.service-item .fv-line-btn .line-text {
  color: #2b1b17 !important;
  font-size: 18px;
}
.service-item .fv-line-btn:hover {
  background: rgba(255, 255, 255, 0.9);
}
.service-item-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
}
.service-item-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
}
.service-item-buttons {
  display: flex;
  gap: 15px;
}
.service-tag-btn {
  background: #f3f2ee;
  padding: 10px;
  border-radius: 50px;
  font-size: 24px;
  min-width: 289px;
  text-align: center;
}
.service-tag-btn small {
  display: block;
  font-size: 12px;
  color: #9d8980;
  margin-top: 2px;
}
.service-line-btn {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 15px 30px;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  font-weight: bold;
}

@media (max-width: 900px) {
  .services-wrap {
    padding: 100px 0 0 0;
  }
  .services-lead {
    font-size: 20px;
    padding: 0 20px;
  }
  .service-item {
    height: 700px;
    margin-bottom: 100px;
  }
  .service-bg-glass {
    width: 95%;
    height: 700px;
  }
  .service-image-box {
    width: 60%;
    height: 450px;
  }
  .service-item:not(.is-reverse) .service-image-box {
    left: -40px;
  }
  .service-item.is-reverse .service-image-box {
    right: -40px;
  }
  .service-text-content {
    width: 100%;
    max-width: 100%;
    padding: 0 40px;
  }
  .service-title-main {
    font-size: 24px;
  }
  .service-item-desc {
    font-size: 18px !important;
    max-width: 500px;
  }
  .service-item-button-wrapper {
    width: 100%;
    bottom: 60px;
  }
  .service-tag-btn {
    font-size: 16px;
    min-width: 200px;
    padding: 10px 20px;
  }
  .service-item .fv-line-btn .line-text {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  .services-wrap {
    padding: 60px 0 0;
  }
  .services-header {
    margin-bottom: 40px;
  }
  .services-main-title {
    font-size: 28px !important;
    margin: 0 !important;
  }
  .services-sub-title {
    font-size: 14px !important;
    margin: 0 0 20px 0 !important;
  }
  .services-lead {
    font-size: 16px !important;
    margin-bottom: 0;
  }
  .service-item {
    position: relative;
    width: 100%;
    height: 1000px;
    margin-bottom: 80px;
    display: block;
  }
  .service-image-box {
    position: absolute;
    top: 0;
    width: 100%;
    height: 320px;
    z-index: 3;
  }
  .service-item:not(.is-reverse) .service-image-box,
  .service-item.is-reverse .service-image-box {
    left: 0;
    right: 0;
  }
  .service-bg-glass {
    position: absolute;
    top: 150px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 850px;
    z-index: 2;
    border-radius: 20px;
  }
  .service-text-content {
    position: absolute;
    top: 340px;
    left: 50%;
    transform: translateX(-50%);
    /* 幅を「ガラス背景（94%）」より少し狭い「86%」で固定 */
    width: 86% !important;
    /* コンテンツ自体の最大幅を制限して、中央に安定させる */
    max-width: 450px;
    z-index: 3;
    padding: 0;

    /* 内部の要素を左に寄せる */
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    text-align: left !important;
  }

  /* 子要素（タイトルや説明文）の幅を100%にして左端を揃える */
  .service-title-main,
  .service-title-sub,
  .service-item-desc {
    width: 100% !important;
    text-align: left !important;
  }
  .service-title-main {
    font-size: 20px;
  }
  .service-item-desc {
    font-size: 15px !important;
    line-height: 1.6;
    margin-bottom: 30px !important;
  }
  .service-item-button-wrapper {
    position: absolute;
    top: 680px;
    left: 50%;
    transform: translateX(-50%);
    width: 86%;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: auto;
  }
  .service-item-buttons {
    flex-direction: column;
    gap: 10px;
  }
  .service-tag-btn {
    min-width: 100%;
    font-size: 15px;
    padding: 10px 20px;
    margin-bottom: 0;
  }
  .service-item .fv-line-btn .line-text {
    font-size: 16px !important; /* ご指定のサイズ */
    color: #2b1b17 !important;
    line-height: 1.4;
    text-align: left;
  }
  .service-item .fv-line-btn {
    margin-top: 0 !important;
  }
  .service-item-button-wrapper.is-line-wrapper {
    top: 300px !important;
  }
  .service-item:nth-child(3) {
    height: 750px !important;
  }

  .service-item:nth-child(3) .service-bg-glass {
    height: 620px !important;
  }
  .service-item:nth-child(3) .service-item-button-wrapper.is-line-wrapper {
    top: 650px !important;
  }
}

/* --- 選ばれる理由セクション --- */
.reasons-wrap {
  padding: 100px 0;
}
.reasons-inner {
  max-width: 1440px;
  margin: 0 auto;
}
.reasons-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 60px;
}
.reasons-main-title {
  font-size: 45px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}
.reasons-sub-title {
  font-size: 20px;
  color: #9d8980;
  margin-top: 5px;
  letter-spacing: 0.1em;
}
.reasons-container {
  display: flex;
  justify-content: space-between;
}
.reason-card {
  flex: 1;
  border-radius: 15px;
  overflow: hidden;
  padding: 35px 25px;
  display: flex;
  flex-direction: column;
}
.reason-card.is-blue {
  background: linear-gradient(
    135deg,
    rgba(53, 100, 169, 0.3) 0%,
    rgba(145, 198, 203, 0.15) 100%
  );
}
.reason-card.is-green {
  background: linear-gradient(
    135deg,
    rgba(42, 129, 75, 0.3) 0%,
    rgba(145, 203, 158, 0.15) 100%
  );
}
.reason-card.is-pink {
  background: linear-gradient(
    135deg,
    rgba(177, 121, 114, 0.3) 0%,
    rgba(203, 145, 184, 0.15) 100%
  );
}
.reason-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
}

.reason-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reason-content {
  padding: 0 10px;
}
.reason-card-title {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  gap: 15px;
}
.accent-line {
  display: inline-block;
  width: 45px;
  height: 2px;
}
.is-blue .accent-line {
  background-color: #0095ff;
}
.is-green .accent-line {
  background-color: #00cc3a;
}
.is-pink .accent-line {
  background-color: #ff3f42;
}
.reason-card-sub {
  font-size: 12px;
  color: #9d8980;
  margin-bottom: 25px;
}
.reason-card-desc {
  font-size: 20px;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .reasons-wrap {
    padding: 0 0 80px 0;
  }
  .reasons-container {
    flex-direction: column;
    gap: 20px;
    font-size: 20px;
  }
  .reasons-main-title {
    font-size: 28px;
  }
  .reasons-header {
    margin-bottom: 40px;
  }
  .reason-card-title {
    font-size: 20px;
    margin: 0;
  }
  .reason-card-desc {
    font-size: 16px;
  }
}

/* --- 代表メッセージセクション --- */
.message-wrap {
  padding: 100px 0;
  background-color: #e7dad5;
  width: 100%;
}
.message-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 共通スタイル */
.message-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 70px;
}
.message-main-title {
  font-size: 45px;
  font-weight: 500;
}
.message-sub-title {
  font-size: 20px;
  color: #9d8980;
  margin-top: 5px;
  letter-spacing: 0.1em;
}
.message-container {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 60px;
}
.message-image {
  flex: 0 0 450px;
  border-radius: 20px;
  overflow: hidden;
}
.message-image img {
  width: 100%;
  height: 100%;
  display: block;
}
.message-text {
  flex: 1;
  max-width: 650px;
}
.message-text p {
  font-size: 20px;
  margin-bottom: 30px;
}

.message-text p:last-of-type {
  margin-bottom: 50px;
}
.message-signature {
  text-align: right;
}
.message-signature p {
  font-size: 20px;
  font-weight: 500;
}

@media (max-width: 900px) {
  .message-image img {
    width: 300px;
  }
  .message-image {
    flex: 0 0 300px;
  }
}
@media (max-width: 768px) {
  .message-wrap {
    padding: 50px 0;
  }
  .message-container {
    flex-direction: column;
    gap: 40px;
    align-items: center;
  }
  .message-header {
    margin-bottom: 40px;
  }
  .message-image {
    flex: 0 0 auto;
    width: 100%;
    max-width: 400px;
  }
  .message-image img {
    width: 100%;
  }

  .message-text {
    text-align: left;
  }

  .message-main-title {
    font-size: 28px;
    margin: 0;
  }
  .message-text p {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
/* --- おすすめ賃貸物件情報セクション --- */
.property-section-wrap {
  padding: 100px 0;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}
.property-section-wrap.is-rent {
  background-color: #c7cec9 !important;
}
.property-section-wrap.is-sale {
  background-color: #e6d6d3 !important;
}
.property-inner {
  width: 95%;
  max-width: 1376px;
  margin: 0 auto;
}
.property-header {
  text-align: center;
  margin-bottom: 60px;
}
.property-sub-title {
  font-size: 16px !important;
  margin-bottom: 10px;
}
.property-main-title {
  width: 100%;
  font-size: 48px !important;
  font-weight: bold;
  border: none !important;
  margin-top: 0;
}
.property-grid {
  width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  gap: 15px !important;
  margin-bottom: 60px !important;
}
.property-card {
  flex: 0 0 calc(33.333% - 10px) !important;
  max-width: none !important;
  min-width: 0 !important;

  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 15px;
  padding-bottom: 25px;
  box-shadow:
    inset 1px 1px 3px rgba(255, 255, 255, 0.5),
    5px 5px 15px rgba(0, 0, 0, 0.1);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.property-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.property-card .p-title {
  width: 100% !important;
  white-space: normal !important; /* 長い名前は折り返し */
  word-wrap: break-word !important;
  font-size: 1.5vw !important; /* 画面幅に合わせて文字も少し小さくする（可変） */
  line-height: 1.3 !important;
}
.property-img {
  width: 92%;
  margin: 15px auto;
}
.property-img img {
  width: 100%;
  border-radius: 15px;
  height: auto;
}
.property-content {
  padding: 0 25px;
  text-align: left;
}
.property-tags {
  display: flex;
  gap: 8px;
  margin-bottom: 15px;
}
.p-tag {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 30px;
  padding: 4px 14px;
  font-size: 16px;
  border: 1px solid rgba(255, 255, 255, 0.8);
}
.p-title {
  font-size: 24px;
  font-weight: 500;
  margin: 0 0 10px 0;
}
.p-address,
.p-station {
  font-size: 16px;
  margin: 0 0 22px 0;
  opacity: 0.9;
}

/* 間取り・価格数値エリア */
.p-details {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding-top: 20px;
  margin-top: 20px;
}
.p-detail-item {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
.p-label {
  display: block !important;
  font-size: 14px !important;
  margin-bottom: 8px;
  width: 100%;
  text-align: left !important;
  color: #2b1b17 !important;
}
.p-value {
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: baseline;
  justify-content: start !important;
  color: #2b1b17 !important;
}
.p-value.is-layout {
  font-size: 28px !important;
  line-height: 1.2 !important;
  letter-spacing: -1px !important;
  color: #2b1b17 !important;
}
.p-value small {
  font-size: 16px;
  font-weight: 500;
  margin-left: 5px;
}

/* 下部ボタン */
.property-footer {
  text-align: center;
}
.property-all-btn {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 18px 50px;
  border-radius: 15px;
  font-size: 36px;
  font-weight: 500;
  text-decoration: none;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  color: #2b1b17 !important;
}
.btn-icon {
  display: flex;
  align-items: center;
}
.btn-icon img {
  width: 40px;
  margin-right: 17px;
  display: block;
}
.property-all-btn:hover {
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  text-decoration: none;
}

/* --- お役立ちコラムとお知らせセクション --- */
.news-section-wrap {
  background-color: #ffffff !important; /* 背景は白 */
  padding: 100px 0;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}

.news-inner {
  width: 95%;
  max-width: 1376px;
  margin: 0 auto;
}

.news-flex-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 80px;
  gap: 60px;
}

/* タイトルエリア */
.news-header {
  flex: 0 0 400px;
  text-align: left;
}

.news-sub-title {
  font-size: 16px !important;
  margin-bottom: 15px;
}

.news-main-title {
  font-size: 48px !important;
  font-weight: bold;
  line-height: 1.3;
  border: none !important;
  margin: 0;
}

/* 記事リストエリア */
.news-list {
  flex: 1;
}

.news-item {
  border-bottom: 1px dotted rgba(47, 49, 48, 0.3);
  padding: 30px 0;
}

.news-item:first-child {
  padding-top: 0;
}

.news-item a {
  text-decoration: none;
  display: block;
  transition: opacity 0.3s ease;
}

.news-item a:hover {
  opacity: 0.6;
}

.news-date {
  display: block;
  font-size: 16px;
  margin-bottom: 10px;
  color: #2b1b17 !important;
}

.news-title {
  font-size: 36px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
  color: #2b1b17 !important;
}

/* フッターボタン */
.news-footer {
  text-align: center;
}

/* --- アクセス情報セクション --- */
.access-section-wrap {
  background-color: #c7cec9 !important;
  padding: 100px 0;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}

.access-inner {
  width: 100%;
  text-align: center;
}

.access-header {
  margin-bottom: 40px;
}

.access-sub-title {
  font-size: 16px !important;
  margin-bottom: 10px;
}

.access-main-title {
  font-size: 48px !important;
  font-weight: bold;
  margin-bottom: 30px;
  border: none !important;
}

.access-info-text {
  line-height: 1.8;
  font-size: 16px;
}

.access-address {
  font-weight: 500;
  margin-bottom: 20px;
}

.access-train {
  display: inline-block;
  text-align: left;
}

.access-train p {
  margin-bottom: 5px;
  font-weight: bold;
}

.access-train ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* マップ画像 */
.access-map {
  width: 100%;
  height: 600px;
  margin: 0 auto 40px;
  line-height: 0;
}

.access-map iframe {
  width: 100%;
  height: 100%;
}

/* ボタン */
.access-footer-note {
  font-size: 16px;
  margin-bottom: 30px;
}
.access-reserve-btn {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 15px;
  padding: 15px 35px;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}
.access-reserve-btn:hover {
  background: rgba(255, 255, 255, 0.8);
  transform: translateY(-3px);
}
.fv-line-btn:hover,
.access-reserve-btn:hover {
  text-decoration: none !important;
}
.reserve-icon-box {
  background: #06c755;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}
.reserve-icon-box img {
  width: 68px;
  height: auto;
}
.reserve-text-box {
  color: #2b1b17;
}
.reserve-sub {
  display: block;
  font-size: 14px;
  font-weight: 500;
}
.reserve-main {
  display: block;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.1;
}
#footer {
  background-color: #f3f2ee !important;
  padding: 60px 200px 40px !important;
  width: 100% !important;
  border-top: 1px solid #fff;
  box-sizing: border-box !important;
}
#footer .footer-flex-container.wrap {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 60px 0 !important;
}
.footer-nav-area {
  flex-grow: 1 !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.footer-menu-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: right !important;
}

.footer-menu-list li a {
  display: block !important;
  text-align: left !important;
  margin: 0 0 5px 0 !important;
  color: #2b1b17;
}
#footer .footer-02.wrap,
#footer .footer-02 .wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-top: 30px !important;
  text-align: center;
}
.footer-svg-logo img {
  width: 300px !important;
  height: auto !important;
  display: block;
}

/* --- 物件一覧(賃貸) ---- */
.post-type-archive-rental .main-inner {
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

.post-type-archive-rental #side {
  display: none !important;
}
.archive-header-flex {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 95% !important;
  margin: 50px auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

.archive-header-flex .post-title {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 600;
}
.archive-header-flex .fv-line-btn {
  margin: 0 !important;
  position: static !important;
  background: rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
  color: #2b1b17 !important;
}

.archive-header-flex .fv-line-btn:hover {
  background: rgba(255, 255, 255, 0.9) !important;
  transform: translateY(-2px);
}

.line-text {
  font-size: 24px !important;
  font-weight: 500 !important;
}
.property-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 60px !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.post-type-archive-rental .property-grid {
  background-color: #c7cec9 !important;
}
.property-card-item {
  width: 580px !important;
  flex: 0 0 580px !important;
  margin-bottom: 0 !important;
}
.property-card-item a,
.property-card-item a:hover {
  text-decoration: none !important;
  border-bottom: none !important;
}
.property-card-inner {
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  overflow: visible !important;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  border-radius: 15px;
  padding: 15px;
  box-shadow:
    inset 1px 1px 3px rgba(255, 255, 255, 0.5),
    5px 5px 15px rgba(0, 0, 0, 0.1);
}
.property-card-inner:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.property-img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}
.property-info {
  padding: 15px 5px 5px;
}
.property-tags {
  display: flex;
  gap: 8px;
  margin-bottom: 15px;
}
.tag {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 30px;
  padding: 4px 14px;
  font-size: 16px;
  border: 1px solid rgba(255, 255, 255, 0.8);
}
.property-name {
  font-size: 24px;
  font-weight: 500;
  margin: 0 0 10px 0;
  color: #2b1b17 !important;
}
.property-location-info {
  margin-bottom: 15px;
}
.property-address,
.property-access {
  font-size: 16px !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.4 !important;
  color: #2b1b17 !important;
}
.property-address i,
.property-access i {
  width: 16px;
  margin-right: 5px;
}
.property-meta {
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  padding-right: 30px;
}
.meta-box {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
.meta-label {
  display: block !important;
  font-size: 14px !important;
  color: #2b1b17 !important;
  margin-bottom: 5px !important;
  line-height: 1.2 !important;
}
.meta-val {
  font-size: 28px !important;
  font-weight: bold !important;
  color: #000 !important;
  letter-spacing: -1px !important;
  line-height: 1.1 !important;
}
.meta-divider {
  width: 1px !important;
  border-left: 1px dotted #999 !important;
  margin: 0 20px !important;
  align-self: stretch !important;
}
.price-wrapper {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  line-height: 1.1 !important;
}
.price-val {
  font-size: 40px !important;
  font-weight: bold !important;
  color: #000 !important;
}
.price-unit {
  font-size: 16px !important;
  margin-left: 4px !important;
  color: #2b1b17 !important;
}

/* --- 物件詳細(賃貸) ---- */
.post-type-archive-baibai .property-grid,
.single-baibai,
.single-baibai #header,
.single-baibai #content,
.single-baibai .wrap {
  background-color: #e6d6d3 !important;
  background-image: none !important;
}

/* 物件スペック表のデザイン */
.single-rental,
.single-post,
.single-rental #header,
.single-rental #content,
.single-rental .wrap {
  background-color: #c7cec9 !important;
  background-image: none !important;
}
.single-rental .breadcrumb-area {
  background-color: #c7cec9 !important;
}
.single-rental #footer,
.single-baibai #footer,
.single-rental #footer .wrap,
.single-baibai #footer .wrap {
  background-color: #f3f2ee !important;
}
.single-rental .main-inner {
  background: transparent !important;
  border: none !important;
}
.property-spec-area {
  margin-top: 50px;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
}
.spec-header {
  font-size: 20px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #333;
}
.spec-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.spec-table th,
.spec-table td {
  border: 1px solid #ddd;
  padding: 15px;
  font-size: 15px;
}
.spec-table th {
  background-color: #f2f2f2;
  width: 20%;
  text-align: left;
}
.price-val {
  font-size: 24px;
  font-weight: bold;
}
.property-detail-page {
  border: none !important;
  background: transparent !important;
}

/* ギャラリーエリア */
.property-gallery-area {
  width: 100%;
  margin: 0 auto 40px;
  padding: 0 80px;
  box-sizing: border-box;
  margin-top: 33px;
  margin-bottom: 87px;
}

/* メイン画像 */
.main-slider {
  border-radius: 10px;
  margin-bottom: 15px;
  overflow: hidden; /* はみ出し防止 */
  margin-bottom: 40px;
}
.main-slider .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.swiper-pagination-bullet {
  background: #fff !important;
  opacity: 0.7 !important;
}
.swiper-pagination-bullet-active {
  background: #fff !important;
  opacity: 1 !important;
}

/* サムネイル */
.thumb-slider {
  overflow: hidden;
}
.thumb-slider .swiper-slide {
  cursor: pointer;
  opacity: 0.5;
  transition: 0.3s;
}
.thumb-slider .swiper-slide-thumb-active {
  opacity: 1;
}
.thumb-slider img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 8px;
}

/* タイトルエリア */
.property-title-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 96px;
  padding: 0 80px;
}
.title-right .fv-line-btn {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: #2b1b17 !important;
}
.property-title-flex {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
#main_visual .fv-line-btn {
  margin-top: 30px;
}
.property-detail-title {
  margin-top: 0 !important;
}

.property-detail-title {
  font-size: 48px !important;
  font-weight: bold;
  margin: 0 0 10px 0 !important;
  border-bottom: none !important;
}
.property-catch {
  font-size: 18px;
  color: #444;
}
.line-contact-btn.fv-line-btn {
  background: rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 20px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  color: #2b1b17;
}
.line-contact-btn.fv-line-btn:hover {
  background: rgba(255, 255, 255, 0.9) !important;
  transform: translateY(-2px) !important;
}
.line-contact-btn .line-icon-box {
  background: #06c755;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  flex-shrink: 0;
}

.line-contact-btn .line-icon-box img {
  width: 28px !important;
  height: auto !important;
}

.line-contact-btn .line-text-box {
  display: flex;
  flex-direction: column;
}

.line-contact-btn .line-text {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* 物件スペックテーブル*/
.post-content {
  width: 100%;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 113px;
}
.property-info-table {
  margin-bottom: 50px;
}
.info-row {
  display: flex;
}
.info-cell {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px dotted #000 !important;
}
.info-row .info-cell:nth-child(1) {
  margin-right: 40px;
}
.info-row .info-cell:nth-child(2) {
  margin-right: 0;
}
.info-row.single-col {
  width: 100% !important;
}
.info-row.single-col .info-cell {
  width: 100%;
  margin-right: 0;
}

/* 2. 価格と物件番号（is-half）だけを2列並びの1つ分（約50%）に制限する */
.info-row.single-col.is-half {
  width: calc(50% - 20px) !important; /* 2列並びの他の行と計算式を合わせる */
}
.info-cell dt {
  width: 150px;
  min-width: 150px;
  white-space: nowrap;
  font-size: 24px;
  color: #666;
  margin-right: 20px;
}

.info-cell dd {
  flex: 1;
  font-size: 36px;
  color: #2b1b17 !important;
  line-height: 1.6;
}
.info-row.single-col.row-short {
  width: calc(50% - 20px);
}
.info-row.single-col .info-cell {
  margin-right: 0;
}

.info-cell.is-small-text dd {
  font-size: 28px !important;
  line-height: 1.5 !important;
  display: block !important;
}

/* 投稿一覧ページ */
.news-page-wrapper .breadcrumb-area .wrap {
  padding: 10px 0 !important;
}
.news-page-wrapper .archive-header-flex {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 95% !important;
  margin: 33px auto 122px !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}
.news-list-container {
  margin: 0 40px;
}

.news-page-wrapper .title-right .fv-line-btn {
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.4) !important;
  color: #2b1b17;
}
.news-archive-intro {
  display: flex;
  justify-content: left;
  margin: 0 40px 122px;
}
.news-archive-intro p {
  display: inline-block;
  text-align: left;
  font-size: 36px !important;
  line-height: 1.6;
  margin: 0;
}
.news-page-wrapper #main {
  float: none !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.news-page-wrapper .main-inner {
  padding: 60px 20px !important;
  background: transparent !important;
  border: none !important;
}
.news-page-wrapper .post-title {
  font-size: 48px !important;
  font-weight: bold !important;
  color: #2b1b17 !important;
  border: none !important;
  text-align: left;
}
.news-archive-header {
  text-align: center;
  margin-bottom: 80px;
}
.news-sub-intro {
  font-size: 24px !important;
  line-height: 1.6 !important;
  color: #2b1b17 !important;
  margin-top: 20px !important;
}
.news-page-wrapper .news-item-link {
  display: flex !important;
  gap: 40px;
  text-decoration: none !important;
  align-items: flex-start;
}
.news-page-wrapper .news-list-item {
  width: 100% !important;
  width: 95% !important;
  margin: 0 auto !important;
  border-bottom: 1px dotted rgba(47, 49, 48, 0.3) !important;
  padding-top: 62px !important;
  padding-bottom: 62px !important;
}
.news-page-wrapper .news-list-item:first-child {
  padding-top: 0 !important;
}

/* 画像エリアのスタイル */
.news-item-img {
  flex: 0 0 400px;
}

.news-item-img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: 15px; /* 画像の角を丸くする */
  display: block;
}

/* テキストエリアのスタイル */
.news-item-body {
  flex: 1;
  text-align: left;
}
.news-list-date {
  font-size: 24px !important;
  color: #2b1b17 !important;
}

.news-list-title {
  font-size: 36px !important;
  margin: 10px 0 20px 0 !important;
  line-height: 1.3 !important;
  color: #2b1b17 !important;
}

.news-item-excerpt {
  font-size: 18px;
  line-height: 1.8;
  color: #666;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-page-wrapper .pagination-wrapper {
  margin: 60px auto 100px !important;
  text-align: center !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

.news-page-wrapper .pagination-wrapper ul.page-numbers {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 10px !important; /* 数字同士の隙間 */
}

.news-page-wrapper .pagination-wrapper .page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
}

/* 数字と矢印の共通スタイル */
.news-page-wrapper .pagination-wrapper .page-numbers a,
.news-page-wrapper .pagination-wrapper .page-numbers span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 45px !important;
  height: 45px !important;
  border: 1px solid #ccc !important;
  border-radius: 5px !important;
  text-decoration: none !important;
  color: #2b1b17 !important;
  font-size: 16px !important;
  background: #fff !important;
  transition: all 0.3s ease !important;
}
.news-page-wrapper .pagination-wrapper .page-numbers a:hover,
.news-page-wrapper .pagination-wrapper .page-numbers .current {
  background: #2b1b17 !important;
  color: #fff !important;
  border-color: #2b1b17 !important;
}
.news-page-wrapper .pagination-wrapper .page-numbers a {
  color: #2b1b17 !important;
}

.news-page-wrapper .pagination-wrapper {
  margin: 60px auto 100px !important;
  text-align: center !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

/* 数字部分の青いリンク色と下線を解除して統一 */
.news-page-wrapper .pagination-wrapper .page-numbers a {
  color: #2b1b17 !important;
  text-decoration: none !important;
}

/* ページネーションのリスト要素の余白をリセット */
.news-page-wrapper .pagination-wrapper ul.page-numbers li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- 投稿詳細ページ--- */

/* 記事ヘッダーの余白 */
.detail-header {
  border-bottom: 1px dotted rgba(47, 49, 48, 0.3) !important;
  padding-bottom: 30px !important;
  margin-bottom: 40px !important;
  text-align: left !important;
}

/* 記事タイトルのサイズ（一覧の36pxに合わせる） */
.news-detail-title {
  font-size: 36px !important;
  font-weight: bold !important;
  color: #2b1b17 !important;
  margin: 10px 0 20px 0 !important;
  line-height: 1.4 !important;
}

/* アイキャッチ画像の角丸 */
.detail-thumbnail img {
  border-radius: 15px;
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}

/* 本文テキストの読みやすさ調整 */
.news-detail-page .post-content {
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: #2b1b17 !important;
}

/* サイドバーがある場合のメイン幅調整（1カラム設定なら不要） */
.news-detail-page #main {
  float: none !important;
  width: 100% !important;
  max-width: 95%;
  margin: 0 auto !important;
}

.news-detail-page .news-list-title {
  font-weight: bold !important;
}
.news-detail-page .news-list-item {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
  .news-detail-title {
    font-size: 24px !important;
  }
  .news-detail-page .post-content {
    font-size: 16px !important;
  }
}

/* --- お問い合わせページ (Contact Page) --- */

.contact-page-wrapper {
  background-color: #f3f2ee !important;
  padding-bottom: 100px;
}

/* パンくず（Topへ戻る） */
.contact-breadcrumb {
  padding: 20px 40px !important;
}
.contact-breadcrumb a {
  font-size: 14px;
}

/* ヘッダーエリア */
.contact-header {
  margin: 20px auto 60px !important;
}
.contact-line-btn {
  background: #fff !important; /* デザインに合わせ白背景 */
  border: 1px solid #ddd !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
}

.contact-intro {
  text-align: center;
  margin-bottom: 80px;
  font-size: 24px;
}

.contact-row {
  display: flex !important;
  align-items: flex-start !important;
  margin-bottom: 40px !important;
  width: 100% !important;
}
.field-label {
  flex: 0 0 220px !important;
  font-size: 18px;
  font-weight: bold;
  padding-top: 15px;
  text-align: left;
}
.field-input {
  flex: 1 !important;
}
.contact-form-area {
  max-width: 1000px;
  margin: 0 auto;
}
.wpcf7-form p {
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px;
}
.wpcf7-form-control-wrap {
  flex: 1;
}

.wpcf7-text,
.wpcf7-select,
.wpcf7-textarea {
  width: 100% !important;
  background-color: #e7e9e7 !important; /* グレーの背景色 */
  border: none !important;
  border-radius: 12px !important;
  padding: 15px 25px !important;
  font-size: 18px;
}
.wpcf7-textarea {
  height: 250px;
}
.field-label {
  display: flex !important;
  align-items: center !important; /* 上下中央に揃える */
  flex-wrap: wrap; /* スマホで項目名が長い場合に備える */
}

.field-label .required-mark {
  color: #e60000;
  font-size: 13px;
  margin-left: 10px;
  font-weight: bold;
  /* vertical-align: middle; は flex を使う場合は不要なので削除してOKです */
  line-height: 1; /* 行間の影響をなくして中央に配置しやすくする */
}
.wpcf7-select {
  padding-right: 45px !important; /* 右側に十分な余白を確保 */
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%232f3130" 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 15px center !important; /* 右端から15pxの位置に中央配置 */
  background-size: 18px !important; /* 矢印のサイズ */
  cursor: pointer;

  /* 標準の矢印は消したままにする */
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

/* IE対策：矢印を消す */
.wpcf7-select::-ms-expand {
  display: none;
}

/* CF7の標準的な構造（labelタグなど）を使用している場合への汎用設定 */
.wpcf7-form-control-wrap.wpcf7-validates-as-required::before {
  /* 入力フォームの直前に出す場合はこちらを使用（必要に応じて） */
}

/* 送信ボタン（指アイコン付き） */
.wpcf7-submit {
  display: block !important;
  margin: 60px auto 0 !important;
  background: rgba(255, 255, 255, 0.3) !important;
  backdrop-filter: blur(10px);
  border: 1px solid #ddd !important;
  border-radius: 15px !important;
  padding: 20px 60px !important;
  font-size: 28px !important;
  color: #2b1b17 !important;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.wpcf7-submit:hover {
  background: #fff !important;
  transform: translateY(-2px);
}

.field-input input::placeholder,
.field-input textarea::placeholder {
  color: #cccccc !important;
  opacity: 1; /* Firefox対策 */
}
.field-input input:-ms-input-placeholder,
.field-input textarea:-ms-input-placeholder {
  color: #cccccc !important;
}
.field-input input::-ms-input-placeholder,
.field-input textarea::-ms-input-placeholder {
  color: #cccccc !important;
}

@media screen and (max-width: 991px) {
  .contact-form-area {
    max-width: 90% !important; /* 左右に余白を確保 */
  }

  .field-label {
    flex: 0 0 180px !important; /* ラベルの幅を少し狭める */
    font-size: 16px !important;
  }

  .contact-intro {
    font-size: 20px !important;
    margin-bottom: 60px !important;
    padding: 0 20px !important;
  }

  .wpcf7-submit {
    font-size: 24px !important;
    padding: 15px 40px !important;
  }
}

/* --- スマホサイズ (767px以下) --- */
@media screen and (max-width: 767px) {
  /* 横並びを解除して縦積みに変更 */
  .contact-form-area p,
  .contact-page-wrapper p {
    margin-bottom: 0 !important;
    display: block !important;
  }
  .contact-row {
    flex-direction: column !important;
    margin-bottom: 30px !important;
  }

  /* ラベル：横幅いっぱいに広げ、下方向に余白 */
  .field-label {
    padding-top: 0 !important; /* PC用の高さ調整を解除 */
    margin-bottom: 10px !important; /* フォームとの隙間を最小限に */
    font-size: 15px !important; /* 文字サイズをスマホ向けに微調整 */
    display: block !important;
  }

  /* 入力欄：横幅を確保 */
  .field-input {
    width: 100% !important;
  }

  .wpcf7-text,
  .wpcf7-select,
  .wpcf7-textarea {
    font-size: 16px !important;
    padding: 12px 15px !important;
  }

  .wpcf7-textarea {
    height: 200px !important; /* 高さを少し低めに調整 */
  }

  /* ヘッダー周りの調整 */
  .contact-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
  }

  .post-title {
    font-size: 32px !important; /* タイトルサイズ調整 */
  }

  .contact-intro {
    font-size: 16px !important;
    text-align: center !important; /* スマホでは左揃えが読みやすい */
    margin-bottom: 40px !important;
  }

  /* 送信ボタンのサイズ調整 */
  .wpcf7-submit {
    width: 100% !important; /* スマホではボタンを横いっぱいに */
    font-size: 20px !important;
    padding: 15px 0 !important;
  }

  .contact-breadcrumb {
    padding: 15px 20px !important;
  }
}

/* レスポンシブ */
@media screen and (max-width: 1200px) {
  .wrap,
  #header .wrap,
  #main_visual .wrap,
  .about-inner,
  .property-inner,
  .news-inner,
  .access-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 5% !important;
    padding-right: 5% !important;
    margin: 0 auto !important;
    float: none !important;
    box-sizing: border-box !important;
  }
  .main-inner {
    margin-right: 0;
  }

  /* 物件詳細ページ */
  .property-gallery-area,
  .property-title-flex,
  .post-content {
    padding: 0 !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* タイトルエリアの調整 */
  .property-title-flex {
    margin-bottom: 50px !important;
  }
  .property-detail-title {
    font-size: 36px !important;
  }
  .post-title {
    margin: 30px 0 30px 0 !important;
    font-size: 28px !important;
  }

  /* スペックテーブル（物件スペック） */
  .info-cell dt {
    width: 120px !important;
    min-width: 120px !important;
    font-size: 18px !important;
  }
  .info-cell dd {
    font-size: 30px !important;
  }
  .info-cell.is-small-text dd {
    font-size: 25px !important;
  }

  /* ヘッダーのボタン類 */
  .head-btn {
    padding: 8px 16px !important;
    font-size: 18px !important;
  }
  .head-tel-icon {
    width: 45px !important;
    height: 45px !important;
    min-width: 45px !important;
  }

  /* メインビジュアルのテキスト位置調整 */
  .fv-text-overlay {
    width: 60%;
    top: 10%;
    right: 5%;
  }

  /* 物件カード（グリッド）の調整 */
  .property-grid {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .property-card {
    flex: 0 0 48% !important;
  }
  .property-card .p-title {
    font-size: 20px !important;
  }
  /* カード内の数値フォント調整 */
  .meta-val {
    font-size: 28px !important;
  }
  .price-val {
    font-size: 32px !important;
  }
  .price-unit {
    font-size: 12px !important;
  }
  .meta-divider {
    margin: 0 10px !important;
  }
  .p-value {
    font-size: 36px;
  }
  .property-gallery-area,
  .property-title-flex,
  .post-content {
    padding: 0 40px;
  }
  .property-detail-title {
    font-size: 36px !important;
  }

  .news-page-wrapper .archive-header-flex {
    flex-direction: column;
  }
  .news-list-title {
    margin: 0 40px;
    font-size: 30px !important;
  }
  .news-page-wrapper .main-inner {
    padding: 60px 0px !important;
  }
  .news-page-wrapper .post-title {
    margin: 0 0 20px 0 !important;
  }
}
@media screen and (max-width: 991px) {
  /* 物件グリッド*/
  .property-grid {
    flex-direction: column !important;
    align-items: center !important;
    padding: 40px 20px !important;
    gap: 30px !important;
  }
  .property-card-item {
    width: 500px !important;
    min-width: 320px !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    height: auto !important;
  }

  .property-card-inner {
    height: auto !important;
  }

  .property-img img {
    height: 220px !important;
  }
  .p-value {
    font-size: 36px;
  }

  /* お知らせ・コラム*/
  .news-flex-container {
    flex-direction: column;
    gap: 40px;
  }
  .news-flex-container {
    width: 100% !important;
    display: block !important;
  }
  .news-list {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .news-item {
    width: 100% !important;
    display: block !important;
    border-bottom: 1px dotted rgba(47, 49, 48, 0.3) !important;
    padding: 25px 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .news-item:last-child {
    border-bottom: 1px dotted rgba(47, 49, 48, 0.3) !important;
  }
  .news-header {
    flex: none;
    width: 100%;
  }
  .news-main-title {
    font-size: 36px !important;
  }
  .news-title {
    font-size: 22px;
  }
  .about-buttons {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
  .btn-text {
    font-size: 22px;
  }
  .btn-arrow {
    width: 50px;
    height: 50px;
  }
  .btn-arrow::after {
    width: 8px !important;
    height: 8px !important;
    border-top: 2px solid #2b1b17 !important;
    border-right: 2px solid #2b1b17 !important;
    margin-left: -3px !important;
  }
  .property-title-flex {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 40px;
    padding: 0 20px;
  }
  .title-right {
    margin-top: 20px;
  }
  .line-contact-btn {
    margin: auto;
    width: fit-content;
  }
  .post-type-archive-rental .archive-header-flex .fv-line-btn .line-text,
  .post-type-archive-rents .archive-header-flex .fv-line-btn .line-text,
  .post-type-archive-baibai .archive-header-flex .fv-line-btn .line-text,
  .news-page-wrapper .archive-header-flex .fv-line-btn .line-text,
  .single-rental .title-right .fv-line-btn .line-text,
  .single-baibai .title-right .fv-line-btn .line-text,
  .about-buttons .line-contact-btn .line-text,
  .contact-page-wrapper .contact-line-btn .line-text {
    font-size: 16px !important;
    line-height: 1.4 !important;
    white-space: nowrap;
  }
  .single-rental .title-right .fv-line-btn .line-text-box,
  .single-baibai .title-right .fv-line-btn .line-text-box {
    min-width: 0;
  }
  .single-rental .title-right .fv-line-btn .line-text-box .line-text:first-child,
  .single-baibai .title-right .fv-line-btn .line-text-box .line-text:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #footer {
    padding: 60px 150px 40px !important;
  }

  /* スペック表 */
  .info-row {
    flex-direction: column;
    border-bottom: none;
  }
  .info-cell {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .info-row.single-col:last-child {
    width: 100%;
  }

  .info-cell dt {
    width: 120px;
    min-width: 120px;
    font-size: 18px;
  }
  .info-cell dd {
    font-size: 24px !important;
  }
  .info-cell.is-small-text dd {
    font-size: 20px !important;
  }

  .news-list-title {
    font-size: 25px !important;
  }
  .news-page-wrapper .post-title {
    font-size: 40px !important;
    border: none !important;
  }
  .news-page-wrapper .title-right {
    margin-top: 40px;
  }
  .news-archive-intro p {
    font-size: 30px !important;
  }
  .news-page-wrapper .main-inner {
    padding: 0px !important;
  }
  .news-list-container {
    margin: 0;
  }
  .news-item-img {
    flex: 0 0 270px;
  }
  .news-list-date {
    font-size: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  #header {
    padding: 15px 0px;
  }
  .header-svg-logo img {
    width: 120px;
    height: 30px;
    margin-right: 5px;
  }
  .head-btn {
    padding: 5px 13px !important;
    font-size: 14px;
    text-align: center;
  }
  .header-custom-buttons {
    gap: 10px;
  }
  .head-tel-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    margin-left: 5px;
  }
  .wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #about_section {
    padding: 40px 0;
  }
  .about-description p,
  .property-all-btn,
  .news-title {
    font-size: 18px !important;
  }
  .property-section-wrap {
    padding: 80px 0;
  }
  .property-header {
    margin-bottom: 0px;
  }
  .property-main-title {
    margin-bottom: 0px;
  }
  .property-card {
    flex: 0 0 100% !important;
  }
  .p-value.is-layout {
    font-size: 24px !important; /* スマホではさらに小さくして、点線を突き抜けないようにする */
  }
  .news-section-wrap {
    padding: 80px 0;
  }
  .news-sub-title {
    margin-bottom: 0px;
  }
  .access-section-wrap {
    padding: 80px 0;
  }
  .access-sub-title {
    margin-bottom: 0 !important;
  }
  .access-main-title {
    margin-top: 0 !important;
  }
  .reserve-main {
    font-size: 24px;
  }
  .reserve-icon-box {
    width: 44px;
    height: 44px;
  }
  .reserve-icon-box img {
    width: 28px;
  }
  #footer {
    padding: 40px 20px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #footer .footer-flex-container.wrap {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 30px;
    padding: 0 !important;
  }
  .footer-svg-logo img {
    width: 200px !important;
    margin: 0 auto;
  }
  .footer-nav-area {
    justify-content: center !important;
    width: 100% !important;
  }
  .footer-menu-list {
    text-align: center !important;
  }
  .footer-menu-list li a {
    text-align: center !important;
    font-size: 16px !important;
    margin: 0 0 15px 0 !important;
  }
  .footer-01 {
    padding: 0px !important;
  }
  #footer .footer-02.wrap,
  #footer .footer-02 .wrap {
    padding-top: 0 !important;
  }
  .footer-copy {
    font-size: 14px;
  }
  .property-card-item {
    width: 100%;
  }
  .archive-header-flex {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
    gap: 15px !important;
  }
  .archive-header-flex .post-title {
    font-size: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .archive-header-flex .fv-line-btn {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    padding: 10px 12px !important;
  }
  .fv-line-btn {
    width: auto !important;
    max-width: 100% !important;
    padding: 10px 12px !important;
  }
  .fv-line-btn .line-text {
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap;
  }
  .fv-line-btn .line-icon-box {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    margin-right: 10px !important;
  }
  .fv-line-btn .line-icon-box img {
    width: 100% !important;
    height: auto !important;
  }
  .post-type-archive-rental .archive-header-flex .fv-line-btn .line-text,
  .post-type-archive-rents .archive-header-flex .fv-line-btn .line-text,
  .post-type-archive-baibai .archive-header-flex .fv-line-btn .line-text,
  .news-page-wrapper .archive-header-flex .fv-line-btn .line-text,
  .single-rental .title-right .fv-line-btn .line-text,
  .single-baibai .title-right .fv-line-btn .line-text,
  .about-buttons .line-contact-btn .line-text,
  .contact-page-wrapper .contact-line-btn .line-text {
    font-size: 14px !important;
    line-height: 1.4 !important;
    white-space: nowrap;
  }
  .post-type-archive-rental .archive-header-flex .line-icon-box,
  .post-type-archive-rents .archive-header-flex .line-icon-box,
  .post-type-archive-baibai .archive-header-flex .line-icon-box,
  .news-page-wrapper .archive-header-flex .line-icon-box,
  .single-rental .title-right .fv-line-btn .line-icon-box,
  .single-baibai .title-right .fv-line-btn .line-icon-box,
  .about-buttons .line-contact-btn .line-icon-box,
  .contact-page-wrapper .contact-line-btn .line-icon-box {
    width: 40px;
    height: 40px;
    min-width: 40px;
    margin-right: 10px;
  }
  .post-type-archive-rental .archive-header-flex .line-icon-box img,
  .post-type-archive-rents .archive-header-flex .line-icon-box img,
  .post-type-archive-baibai .archive-header-flex .line-icon-box img,
  .news-page-wrapper .archive-header-flex .line-icon-box img,
  .single-rental .title-right .fv-line-btn .line-icon-box img,
  .single-baibai .title-right .fv-line-btn .line-icon-box img,
  .about-buttons .line-contact-btn .line-icon-box img,
  .contact-page-wrapper .contact-line-btn .line-icon-box img {
    width: 100% !important;
    height: auto !important;
  }
  .single-rental .title-right .fv-line-btn,
  .single-baibai .title-right .fv-line-btn {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 10px 12px !important;
  }
  .news-page-wrapper .archive-header-flex .fv-line-btn {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 10px 12px !important;
  }
  .about-buttons .line-contact-btn {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 10px 12px !important;
  }
  .single-rental .title-right .fv-line-btn .line-text-box,
  .single-baibai .title-right .fv-line-btn .line-text-box {
    min-width: 0;
  }
  .single-rental .title-right .fv-line-btn .line-text-box .line-text:first-child,
  .single-baibai .title-right .fv-line-btn .line-text-box .line-text:first-child {
    max-width: 24ch;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .property-grid {
    flex-direction: column !important;
    align-items: center !important;
    gap: 25px !important;
    box-sizing: border-box !important;
    padding: 40px 0px !important;
  }
  .post-type-archive-rental .main-inner,
  .post-type-archive-baibai .main-inner {
    padding-bottom: 0 !important;
  }
  .post-type-archive-rental .property-grid,
  .post-type-archive-baibai .property-grid {
    margin-bottom: 0 !important;
  }
  .property-card-item {
    width: 350px !important;
    min-width: 350px !important;
    max-width: 92% !important;
    flex: 0 0 350px !important;
    margin: 0 auto !important;
    height: auto !important;
    display: block !important;
  }
  .property-card {
    /* カード幅を画面幅に対して固定し、突き抜けを防止 */
    width: 92vw !important;
    max-width: 400px !important; /* 最大幅を制限（お好みで調整） */
    flex: 0 0 auto !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .property-card .p-title {
    font-size: 20px !important; /* スマホで見やすいサイズ */
    width: 100% !important;
    display: block !important;
    white-space: normal !important; /* 絶対に改行を許可 */
    overflow-wrap: break-word !important; /* 長い単語でも枠内で折る */
    word-break: break-all !important; /* どんな文字でも端で折る */
    line-height: 1.4 !important;
    margin-bottom: 10px !important;
  }
  .property-card-inner {
    height: auto !important;
    padding: 12px !important;
  }
  .property-img img {
    height: 180px !important;
    object-fit: cover !important;
  }
  .property-address,
  .property-access {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  .meta-val {
    font-size: 20px !important;
  }
  .p-address,
  .p-station {
    width: 100% !important;
    white-space: normal !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  /* 金額などの数値エリアがはみ出さないように調整 */
  .p-value {
    font-size: 32px !important; /* カード幅に合わせて少し小さく */
  }
  .price-unit {
    font-size: 11px !important;
  }
  .meta-divider {
    margin: 0 8px !important;
  }

  .property-title-flex {
    flex-direction: column;
  }
  .title-right {
    margin-top: 20px;
    width: 100%;
  }
  .line-contact-btn {
    justify-content: center;
  }
  .info-row {
    flex-direction: column;
  }
  .info-cell {
    padding: 10px 0;
  }
  .sub-img-item img {
    height: 80px;
  }

  .property-gallery-area,
  .property-title-flex,
  .post-content {
    padding: 0;
  }

  /* ギャラリー調整 */
  .property-gallery-area {
    padding: 0 15px !important;
    overflow: visible !important; /* 子要素のthumb-sliderでの制御に任せる */
  }
  .thumb-slider {
    width: 100% !important;
    overflow: hidden !important;
    position: relative;
    margin: 0 -15px;
    padding: 0 15px;
  }
  .thumb-slider .swiper-wrapper {
    display: flex !important;
  }

  .thumb-slider .swiper-slide {
    width: 25vw !important;
    flex-shrink: 0 !important;
  }

  .thumb-slider img {
    height: 80px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
  }
  .main-slider {
    width: 100% !important;
    margin-bottom: 20px;
  }
  .property-catch {
    font-size: 14px;
  }
  .info-cell {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 0;
  }
  .info-cell dt {
    width: 100%;
    margin-bottom: 5px;
    font-size: 14px;
    margin-right: 0;
  }
  .info-cell dd {
    width: 100%;
    font-size: 20px !important;
    margin: 0;
  }
  .info-cell.is-small-text dd {
    font-size: 16px !important;
  }
  .info-row.single-col.is-half {
    width: 100% !important;
  }

  .news-page-wrapper .archive-header-flex {
    margin: 33px auto 40px !important;
    padding: 0 !important;
  }
  .news-page-wrapper .archive-header-flex .post-title {
    font-size: 28px !important;
  }
  .news-page-wrapper .title-right {
    margin-top: 0;
  }
  .news-list-container {
    margin: 0;
  }
  .news-archive-intro {
    margin: 0 0 40px;
  }
  .news-archive-intro p {
    font-size: 18px !important;
  }
  .news-list-date {
    font-size: 16px !important;
  }
  .news-page-wrapper .news-list-item {
    width: 95% !important;
    max-width: 1100px;
    margin: 0 auto !important;
    padding: 60px 0 !important;
  }
  .news-page-wrapper .news-item-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 30px;
    text-decoration: none !important;
  }
  .news-item-img {
    flex: none !important;
    width: 100% !important;
    max-width: 600px;
    margin: 0 auto !important;
  }

  .news-item-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 15px;
  }
  .news-item-body {
    width: 100% !important;
    max-width: 800px;
    margin: 0 auto !important;
  }

  .news-list-title {
    font-size: 22px !important;
    margin: 15px 0 !important;
  }

  .news-item-excerpt {
    text-align: left;
    margin: 0 auto;
  }
  .wrap-top {
    display: none;
  }
}
.breadcrumb-area,
#breadcrumb {
  display: none !important;
}
.custom-back-link {
  padding: 20px 40px; /* 余白は適宜調整してください */
  background-color: transparent;
}

.custom-back-link a {
  text-decoration: none;
  font-size: 16px; /* 画像に合わせたサイズ感 */
  font-weight: 400;
  transition: opacity 0.3s ease;
  display: inline-block;
  color: #2b1b17 !important;
}

.custom-back-link a:hover {
  opacity: 0.6;
  text-decoration: none;
}

/* スマホ表示の調整 */
@media screen and (max-width: 767px) {
  .custom-back-link {
    padding: 15px 20px;
  }
  .custom-back-link a {
    font-size: 18px;
  }
}

/* --- 物件一覧ページ：ページネーションの余白制御 --- */

/* 1. 基本はすべてゼロにする（1ページ目などで中身がない場合用） */
.post-type-archive-rental .pagination-wrapper,
.post-type-archive-baibai .pagination-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. 2ページ目以降、数字や「次へ」ボタンが表示されている時だけ余白を作る */
.post-type-archive-rental .pagination-wrapper ul.page-numbers,
.post-type-archive-baibai .pagination-wrapper ul.page-numbers {
  padding: 40px 0 !important; /* 2ページ目がある時だけ上下に余白を設ける */
  margin: 0 !important;
}

/* 中身が完全に空（タグのみの状態）の時に場所を取らないようにする */
.post-type-archive-rental .pagination-wrapper:empty {
  display: none !important;
}
