/* =========================================================
  custom.css — サイト固有スタイル
=========================================================

/* =========================================================
  ブランドカラー
========================================================= */
:root {
    --c-primary:      #B29850;
    --c-primary-dark: #8E7A40;
    --c-accent:       #CFBB96;
    --c-text:         #333333;
    --c-white:        #FFFFFF;

    --c-footer-bg:    #514c47;

    --c-gradient-soft: linear-gradient(to right, #F6F2E5 0%, #F0EBE4 100%);
}


body {
    font-size: 1rem;
    background-color: #FEFDFB;
}

h2,h3,h4 {
  font-family: var(--f-mincho);
}


/* =========================================================
  ヘッダー：未スクロール時はシャドウを非表示
========================================================= */
.l-header {
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.c-headLogo {
    transition: height 0.3s ease;
}

[data-scrolled="false"] .l-header {
    box-shadow: none;
}

/* 未スクロール時のみロゴを高さ100pxに */
[data-scrolled="false"] .c-headLogo {
    height: 80px !important;
}

[data-scrolled="true"] .l-header {
  background: rgb(255, 255, 255, .95);
}


/* =========================================================
  ヘッダー：ナビゲーションメニュー
========================================================= */
.c-gnav__a {
    font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho,
                 "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",
                 "ＭＳ Ｐ明朝", "MS PMincho", serif;
    text-shadow: var(--shadow3);
    font-size: 1rem;
}




/* =========================================================
  TOP
========================================================= */
.wp-block-cover, .wp-block-cover-image {
  min-height: 100vh;
  min-height: 100dvh;
}

.mv_cov {
  position: relative;
}

.mv_cov > div {
  position: absolute !important;
  bottom: 10px;
  left: 0;
}

.mv_copy {
  background: rgb(255, 255, 255, 0.9);
  height: auto;
  width: min(90vw, 580px);
  font-family: var(--f-mincho);
  color: var(--c-accent);
  /* font-size: clamp(1.2rem, 4vw, 30px); */
  font-size: clamp(1rem, 3.33vw, 24px);
  padding: 1rem var(--st-pad--container-mid);
  padding-right: 0;
  font-weight: 600;
  line-height: 1.6;
}

.mv_copy > div > div,
.mv_copy_logo {
  margin-bottom: 0;
}

.mv_copy_logo img {
  max-width: min(100%, 120px);
}

.mv_copy_col {
  gap: 1.2rem !important;
}

@media (max-width: 781px) {
    .mv_copy .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: unset !important;
    }
}

@media screen and (max-width: 767px) {
  .mv_cov > div {
    bottom: 8vh;
  }
}

@media screen and (max-width: 420px) {
  .mv_copy_col_l {
    flex-basis: 20%;
  }
}

.cont1_wrap {
  background-image: url(/wp-content/uploads/2026/07/bg_tx.webp);
  min-height: 640px;
}

.cont1_inner {
  padding-top: 100px;
  margin-bottom: 100px;
  padding-left: var(--ark-pad--container);
  padding-right: 0;
}

.h_sub {
  color: var(--c-primary);
  font-weight: 600;
  font-family: var(--f-mincho);
}

h2 {
  font-size: var(--fz-18-24);
  font-weight: 600;
}

hr.hr_gold {
  max-width: 150px !important;
  color: var(--c-primary);
  margin-left: 0 !important;
  height: 1px !important;
}

hr.hr_gold_cener {
  max-width: 150px !important;
  color: var(--c-primary);
  height: 1px !important;
}

.cont1_col {
  position: relative;
}

.cont1_left {
  position: absolute;
  top: 80px;
  left: 5vw;
  background: var(--c-white);
  padding: 50px var(--ark-pad--container);
  box-shadow: var(--shadow2);
  z-index: 10;
  max-width: min(600px, 60%);
}

.cont1_right {
  position: absolute;
  right: 0;
  max-width: 600px;
}

@media (max-width: 671px) {
  .cont1_left,
  .cont1_right {
    position: static;
    max-width: 100%;
  }

  .cont1_inner {
    margin-right: var(--ark-pad--container);
  }

  .cont1_right figure {
    margin-bottom: -100px;
  }

  .cont1_right {
    position: relative;
    left: calc(50% - (50vw - var(--ark-scrollbar_width) / 2));
    width: calc(100vw - var(--ark-scrollbar_width));
    max-width: 100vw;
    margin-left: 0;
    margin-right: 0;
  }

  .cont1_wrap {
    min-height: auto;
  }

  .cont1_col {
    flex-direction: column-reverse;
  }
}

.service1_wrap {
  background-image: var(--c-gradient-soft);
  padding: 60px var(--ark-pad--container);
}

.h_bg {
  font-size: clamp(3rem, 9vw, 92px);
  color: rgb(255, 255, 255, .38);
  font-family: var(--f-mincho);
  font-weight: 600;
  margin-bottom: -100px;
}

@media (max-width: 671px) {
  .h_bg {
    margin-bottom: -80px;
  }

  .service1_wrap {
    padding-top: 40px;
    padding-bottom: 50px;
  }
}

@media (max-width: 360px) {
  .service1_wrap h2.has-text-align-center,
  .service1_wrap p.has-text-align-center,
  .about_2_box h2.has-text-align-center,
  .about_2_box p.has-text-align-center {
    text-align: center !important;
  }

  p.h_bg {
    margin-bottom: -70px;
  }
}

.service2_wrap {
  background-image: url(/wp-content/uploads/2026/07/bg_tx2.webp);
  padding: 80px var(--ark-pad--container) 100px;
}
.service_gr {
  gap: 40px;
}

.service_box {
  border: 1px solid var(--c-text);
  padding: 30px var(--ark-pad--container);
  background: var(--c-white);
}

.service_box h3::before {
  content: "\f51e";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 10px;
}

.service_box p {
  margin-top: 1em !important;
}

@media (max-width: 671px) {
  .service_gr {
    gap: 20px;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

.about_wrap > div {
  position: relative;
}

figure.about_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  padding-right: var(--ark-pad--container);
}

.about_wrap {
  min-height: 780px;
}

figure.about_bg img {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 70vw;
}

.about_col {
  position: relative;
  z-index: 5;
  margin-top: 0 !important;
  padding: 100px var(--ark-pad--container);
}

.about_box_left img {
  box-shadow: var(--shadow2);
}

.about_box_right {
  background: var(--c-white);
  padding: 50px var(--ark-pad--container);
  box-shadow: var(--shadow2);
}

.about_wrap .about_col .about_box_right {
  margin-top: 15vw !important;
}

@media (max-width: 781px) {
  figure.about_bg img {
    max-width: 90vw;
  }

  .about_box_left img {
    max-width: 80%;
  }

  .about_wrap .about_col .about_box_right {
    margin-top: 20px !important;
  }
}

.about2_wrap > div {
  position: relative;
  min-height: 1600px;
}

.about2_box {
  background: var(--c-white);
  padding: 60px var(--ark-pad--container);
  color: var(--c-text);
  position: absolute;
  top: 250px;
  left: 0;
  max-width: 800px;
  z-index: 5;
  box-shadow: var(--shadow2);
}

.about2_img {
  position: absolute;
  right: calc(-2 * var(--ark-pad--container));
  z-index: 1;
}

.about_map {
  margin-top: 1100px !important;
}

@media (max-width: 1200px) {
  .about2_wrap {
    padding-top: 0 !important;
  }

  .about2_img {
    left: calc(-1 * var(--ark-pad--container));
  }
}

@media (max-width: 781px) {
  .about2_box {
    padding: 20px var(--ark-pad--container);
    top: 200px;
  }

  .about_map {
    margin-top: 960px !important;
  }
}

@media (max-width: 640px) {
  .about_map {
    margin-top: 1400px !important;
  }
}

@media (max-width: 360px) {
  .about_map {
    margin-top: 1300px !important;
  }
}

.cta_box h2 {
  margin-top: 20px !important;
}

/* =========================================================
  下層ページ
========================================================= */
.p-topArea.-noimg {
    background: var(--c-gradient-soft);
}


/* =========================================================
  footer
========================================================= */
.l-footer { background-color: var(--c-footer-bg); color: var(--c-bg); }
.l-footer p.c-copyright { color: var(--c-bg); }

.w-footer.-widget1 #block-8 img {
  width: 150px;
}

#block-10 {
  margin-top: 20px !important;
}

#block-10 p {
  font-size: 0.9rem;
}
