.link-button { display: inline-block; text-align: center; padding: 2px 6px; line-height: normal; }
@charset "utf-8";

/* 共通パーツ */
html {
  scroll-behavior: smooth;
}

body {
  font-size: 18px;
  color: #333;
  background-color: #f3f3f3;
}

header {
  margin: 0;
  position: relative;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 0;
  text-align: center;
  z-index: 999;
  background-color: #f3f3f3;

  height: 112px;
}

ul {
  padding-left: 0;
}

.t-gray {
  background-color: #eee;
}

.t-gray2 {
  background-color: #c0c0c0;
  margin-top: 50px;
}

.house-work {
  margin-bottom: 50px;
}

.house-work tr td:nth-child(2) {
  text-align: left;
}

.pos-r {
  position: relative;
}

.logo {
  width: 80%;
}

.works-arr {
  display: flex;
  align-items: center;
  padding: 0 20px;
  margin: 0 10px;
}

.works-arr-sp {
  display: none;
}

.sp-non {
  display: block;
}

.sp-block {
  display: none;
}

.sp-flex {
  display: flex;
}

.nowrap {
  white-space: nowrap;
}

.txt1,
.txt2,
.txt3,
.txt4 {
  position: relative;
  margin-left: 20px;
}

button ,.link-button {
  outline: none;
  border: none;
  cursor: pointer;
}

.txt1::before {
  position: absolute;
  left: -20px;
  content: "";
  top: 30%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #04b8ad;
}

.txt2::before {
  position: absolute;
  left: -20px;
  content: "";
  top: 30%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #1d9bf0;
}

.txt3::before {
  position: absolute;
  left: -20px;
  content: "";
  top: 30%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #b30040;
}

.txt4::before {
  position: absolute;
  left: -20px;
  content: "";
  top: 30%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ff8ab4;
}

.fb {
  font-weight: bold;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
}

.-flex {
  display: flex;
}

.jc-around {
  justify-content: space-around;
}

.jc-evenly {
  justify-content: space-evenly;
}

.jc-between {
  justify-content: space-between;
}

.jc-start {
  justify-content: start;
}

.jc-center {
  justify-content: center;
}

.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}

.mt0Auto {
  margin: 0 auto;
}

.inner {
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}

.inner800 {
  margin: 0 auto;
  max-width: 800px;
  width: 100%;
}

.inner1000 {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

.flex-margin-right {
  justify-content: right;
  position: relative;
}

.flex-margin-left {
  justify-content: left;
}

.flex-wrap-wrap {
  flex-wrap: wrap;
}

.vertical {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-weight: bold;
  font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN",
    "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro",
    "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman",
    serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
    "Noto Color Emoji";
}

/* vertical-center */
.align-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

/* /vertical-center  */
.pd10 {
  padding: 10px;
}

.pl10 {
  padding-left: 10px;
}

.pd-b50 {
  padding-bottom: 50px;
}

.pdbt20 {
  padding: 20px 0;
}

.pdbt50 {
  padding: 50px 0;
}

.pd-y4-x8 {
  padding: 4px 8px;
}

.pd-t14-r20-b8-l20 {
  padding: 14px 20px 8px 20px;
}

.responsive-br {
  display: block;
}

.border-b {
  border-bottom: 1px solid #000;
}

.w30 {
  width: 30%;
}

.w50 {
  width: 50%;
}

.ml15 {
  margin-left: 15%;
}

.mt3 {
  margin-top: 3%;
}

.mt5 {
  margin-top: 5%;
}

.mt9 {
  margin-top: 9%;
}

.mt12 {
  margin-top: 12%;
}

.mtb10px {
  margin: 10px 0;
}

.mt10 {
  margin-top: 10%;
}

.mt20 {
  margin-top: 20%;
}

.mt28 {
  margin-top: 28%;
}

.ml10 {
  margin-left: 10%;
}

.mb10 {
  margin-bottom: 10%;
}

.mb3 {
  margin-bottom: 3%;
}

.mtb50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.mtb80 {
  margin-top: 80px;
  margin-bottom: 80px;
}

.dsp-inb {
  display: inline-block;
}

.menu {
  position: fixed;
  top: 74px;
  right: 6%;
  z-index: 9999;

  font-weight: 700;
}


.menu nav ul {
  display: block;
  text-align: right;
  line-height: 1.5;
}

.menu nav ul li {
  color: #333;
  font-family: "游明朝体", YuMincho, "游明朝", "Noto Serif JP", "Yu Mincho",
    "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3",
    HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN",
    "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝",
    "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.has-child li {
  display: none;
  color: #555;
}

.has-child li {
  font-size: 1rem;
}

.has-child:hover li {
  display: block;
  animation: appear 1s ease;
}

@keyframes appear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.menu nav ul li:hover {
  opacity: 0.8;
}

.side_icon {
  position: fixed;
  right: 0;
  top: 37%;
  text-align: right;
  z-index: 10;
  z-index: 10000;
}

.side_icon img {
  margin: 0px 0 30px auto;
}

.side-icon-item {
  width: 36%;
}

/* font */
.f-min {
  font-family: "游明朝体", YuMincho, "游明朝", "Noto Serif JP", "Yu Mincho",
    "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3",
    HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN",
    "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝",
    "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.f-rem6 {
  font-size: 6rem;
}

.f-rem3 {
  font-size: 3rem;
}

.f-rem2 {
  font-size: 2rem;
}

.f-rem1 {
  font-size: 1rem;
}

.f-rem05 {
  font-size: 0.5rem;
}

.f-bold {
  font-weight: bold;
}

.f09 {
  font-size: 0.9rem;
}

/* /font */
.wp-pagenavi .last {
  color: #b30040;
}

/* color */
.color1 {
  color: #c0c0c0;
}

.color2 {
  color: #fbcccc;
}

.color3 {
  color: #b30040;
}

.color4 {
  color: #fd9999;
}

.color5 {
  color: #000;
}

.color_white {
  color: #fff;
}

.color-red {
  color: #ff0000;
}

.color-yellow {
  color: #fff500;
}

.shadow1 {
  text-shadow: 2px 2px 2px #666;
}

.bg-red {
  background-color: #b30040;
}

.bg-blue {
  background-color: #7bb0ff;
}

/* color */

/* common-helpful */

/* /common-helpful */

/*  */
.helpful-content-item {
  width: 100%;
  background-color: #ededed;
  padding: 10px;
}

.helpful-content-item-txt {
  margin-left: 20px;
  font-size: 0.9rem;
}

.helpful-content-img img {
  width: 90%;
}

footer {
  background-color: #000;
  padding: 100px 20px;
  margin-top: 100px;
  position: relative;
}

.foot_icon {
  position: absolute;
  right: 3%;
  bottom: 5%;
}

.footer-img-mb {
  margin-bottom: 20px;
}

.footer-attend {
  font-size: 16px;
  font-weight: 700;
  color: rgb(228, 228, 19);
  margin-bottom: 18px;
  letter-spacing: 1px;
}

footer a {
  color: #fff;
}

.footer-content dt {
  font-weight: bold;
  font-size: 1rem;
}

.footer-content dd {
  font-size: 0.8rem;
}

.footer-content dd.first-dd {
  font-size: 0.9rem;
  line-height: 2.5;
}

.copy {
  padding: 10px 0;
}

.youtube {
  width: 100%;
  height: 500px;
}

/* SP MENU */

.header__nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  background-color: #efefef;
  transition: ease 0.4s;
  display: none;
}

.bukken .item {
  width: 30%;
}

.item img {
  width: 360px;
  height: 360px;
  object-fit: cover;
}

.item p:nth-child(3) {
  text-align: center;
}

@media screen and (min-width: 960px) {
  .header__nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 50%;
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .nav__items {
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    justify-content: space-between;
  }
}

.nav-items {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0;
}

@media screen and (min-width: 960px) {
  .nav-items {
    position: inherit;
    top: 0;
    left: 0;
    transform: translate(0, 0);
  }
}

/* ナビのリンク */
.nav-items__item a {
  color: black;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 20px;
  margin-bottom: 24px;
  color: black;

  font-weight: 500;
}

.nav-items__item:last-child a {
  margin-bottom: 0;
}

@media screen and (min-width: 960px) {
  .nav-items__item a {
    margin-bottom: 0;
  }
}

/* ハンバーガーメニュー */

.header__hamburger {
  width: 60px;
  height: 100%;
  display: none;
}

.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
  position: absolute;
  right: 13px;
  top: 0px;
}

@media screen and (min-width: 960px) {
  .hamburger {
    display: none;
  }
}

/* ハンバーガーメニューの線 */
.hamburger span {
  width: 100%;
  height: 1px;
  background-color: #000;
  position: relative;
  transition: ease 0.4s;
  display: block;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 8px 0;
}

.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
  transform: translateX(0);
  display: block;
}

.hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}

/* /SP MENU */

/* TOPへ戻る */
.pagetop {
  display: none;
  position: fixed;
  bottom: 110px;
  right: 15px;
  z-index: 9999;
}

.pagetop a {
  display: block;
  text-align: center;
  color: #b30040;
  font-size: 12px;
  text-decoration: none;
  padding: 5px 10px;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 1;
}

.pagetop a:hover {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 5px 10px;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.8;
}

/* /TOPへ戻る */

@media screen and (min-width: 769px) {
  .fixed-bottom-buttons {
    display: none !important;
    /* PC表示では確実に非表示 */
  }

  .pagetop {
    bottom: 24px;
  }
}

.fixed-bottom-buttons .side-a {
  width: 25%;
}

.fixed-bottom-buttons .side-a:not(:last-child) {
  border-right: 1px solid #fff;
}

.fixed-bottom-buttons .center-a {
  width: 50%;
  height: 100%;
  background-color: #00bb01;
  display: flex;
}

.fixed-bottom-buttons .side-img {
  height: auto;
  width: 85%;
  margin: 0 auto;
}

.fixed-bottom-buttons .center-img {
  margin: 0 auto;
}

/* ← TOPへ戻るボタン 20250206 */
.fixed-bottom-buttons {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #b30041;
  display: none;
  justify-content: space-around;
  align-items: center;
  z-index: 9998;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
  height: 82px;
}

.help-link a {
  width: 25%;
}

/* 0402ヘッダーに電話番号追加 */
.header-tel {
  align-items: baseline;
  font-size: 2rem;
  font-weight: bold;
}

.header-tel-box {
  position: relative;
  margin-left: auto;
}

.header-tel-box span {
  position: absolute;
  right: 0;
  top: -3px;
}

/* /共通パーツ */

/* 0805カンパニーと不動産に住所追加 */
.toso-estate p.zip_text {
  font-size: 16px;
  margin: 0;
}

.breadcrumb__list {
  padding: 120px 0 0 0;
  font-size: 12px;
}

.breadcrumb__list a {
  font-weight: bold;
  text-decoration: underline !important;
}

.mv.top {
  /* margin-top: 50px; */
  margin-top: 113px;
}

/* MVを画面幅(100vw)にして中央カラムからはみ出させる */
.mv.top {
  width: 100vw;
  max-width: 100vw;
  /* margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); */
}

/* 親に padding が入ってるテーマ対策 */
.mv.top,
.mv.top .mv-img,
.mv.top .mv-slider {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100%;
}


.footer-content-menu {
  margin-top: 20px;
}

.footer-content .footer-comment {
  margin-left: 10px;
  color: rgb(228, 228, 19);
  font-weight: bold;
}






/* 20260127 */
/* ===== PC: ヘッダー下に横並びメニュー ===== */
@media screen and (min-width: 768px) {

  /* 右固定をやめて、上に横いっぱい */
  .menu {
    position: fixed;
    /* ヘッダーに追従させたいならfixedのまま */
    /* top: 0;                     ヘッダーの下にしたい場合は後述の値に変更 */
    /* left: 0; */
    /* right: 0; */
    /* z-index: 9999; */
    width: 100%;
    padding: 10px 24px;
    /* background: #fff;           背景が必要なければ消してOK */
    /* box-shadow: 0 2px 10px rgba(0,0,0,.06); */
  }

  /* 縦並び→横並び */
  .menu nav ul {
    display: flex;
    justify-content: center;
    /* 左寄せなら flex-start */
    align-items: center;
    gap: 40px;
    /* メニュー間の余白 */
    text-align: left;
    line-height: 1;
  }

  .menu nav ul a {
    display: block;
  }

  .menu nav ul li {
    white-space: nowrap;
    font-size: 15px;
    /* お好みで */
  }

  /* ===== ドロップダウン（PC） ===== */
  .menu nav ul li.has-child {
    position: relative;
  }

  .menu nav ul li.has-child>ul {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    /* ← calc(100% + 10px) をやめる（隙間が原因） */
    margin-top: 3px;
    /* 念のため */
    transform: translateY(10px);
    /* 見た目だけ下げる */
    min-width: 180px;
    padding: 10px 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    z-index: 10000;
    border-radius: 0 0 8px 8px;
  }

  .menu nav ul li.has-child:hover>ul {
    display: block;
  }

  /* 子メニューのliは常にブロック表示 */
  .menu nav ul li.has-child>ul>li {
    display: block;
  }

  /* クリックしやすく */
  .menu nav ul li.has-child>ul>li>a {
    display: block;
    padding: 6px 8px;
    white-space: nowrap;
  }

  .menu nav ul li.has-child::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 16px;
    /* 隙間ぶん */
  }
}

.contact_title_under {
  font-size: 16px;
  padding-top: 4px;
}

@media screen and (max-width: 768px) {
  .contact_title_under {
    font-size: 12px;
    padding-top: 4px;
  }
}