@charset "UTF-8";
/* =========================================================
   DEGORA TOP（PC版）
   1rem = デザイン上の10px（XD 1440px幅基準・画面幅に合わせて拡縮）
   ========================================================= */
:root {
  --ink: #231e19;
  --teal: #12a89d;
  --white: #fff;
  --font: "Noto Sans JP", "Yu Gothic UI", "Hiragino Sans", sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: calc(100vw / 144); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

body {
  font-family: var(--font);
  font-feature-settings: "palt";
  color: var(--ink);
  background: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: none; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

.page { position: relative; width: 144rem; overflow: hidden; }
.sec { position: relative; width: 144rem; }
.abs { position: absolute; }

/* ---------- 共通パーツ ---------- */
.tag {
  position: absolute;
  height: 3.6rem;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  background: var(--ink);
  color: var(--white);
  font-size: 2rem;
  font-weight: 500;
  white-space: nowrap;
  clip-path: inset(0 0 0 0);
}

.h2 {
  position: absolute;
  font-size: 4rem;
  line-height: 5.6rem;
  font-weight: 700;
  white-space: nowrap;
}

.lead {
  position: absolute;
  font-size: 2.4rem;
  line-height: 3.5rem;
  font-weight: 500;
  white-space: nowrap;
}

.line { display: block; overflow: hidden; }
.line > span { display: inline-block; }

/* 白地×緑枠のボタン */
.btn {
  position: absolute;
  width: 39rem;
  height: 7.3rem;
  border: 0.3rem solid var(--teal);
  border-radius: 4.4rem;
  background: var(--white);
  color: var(--teal);
  font-size: 2.2rem; /* 白いボタンの文字は全ページ2.2rem */
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  transition: color .45s cubic-bezier(.2, .7, .2, 1);
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--teal);
  border-radius: inherit;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .55s cubic-bezier(.7, 0, .2, 1);
  z-index: -1;
}
.btn:hover { color: var(--white); background: var(--teal); }
.btn:hover::before { transform: scaleX(1); transform-origin: left center; }
.btn--glass { background: rgba(255, 255, 255, .7); }
.chev {
  position: absolute;
  right: 3.4rem;
  top: 50%;
  width: .7rem;
  height: 1.2rem;
  margin-top: -.6rem;
  overflow: visible;
  transition: transform .45s cubic-bezier(.2, .7, .2, 1);
}
.chev path { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: butt; }
.btn:hover .chev { transform: translateX(.8rem); }

/* 緑の相談ボタン（CTA） */
.cta { position: absolute; width: 50rem; text-align: center; }
.cta__lead { font-size: 2.4rem; line-height: 3.5rem; font-weight: 700; }
.cta__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: .9rem;
  height: 8.5rem;
  border-radius: 4.4rem;
  background: var(--teal);
  color: var(--white);
  font-size: 3.3rem;
  font-weight: 700;
  overflow: hidden;
  animation: glow 2.4s ease-in-out infinite;
  will-change: transform;
}
.cta__btn::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: 0;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transform: translateX(-140%) skewX(-20deg);
  animation: shine 3.6s cubic-bezier(.6, 0, .3, 1) infinite;
}
.cta__btn .chev { right: 3.2rem; }
.cta__btn .chev { animation: nudge 1.1s ease-in-out infinite; }
.cta__btn:hover { animation: none; box-shadow: 0 1.6rem 3.4rem -1rem rgba(18, 168, 157, .85); }
@keyframes glow { 0%, 100% { box-shadow: 0 .6rem 1.6rem -.8rem rgba(18, 168, 157, .5); } 50% { box-shadow: 0 1rem 3.6rem -.4rem rgba(18, 168, 157, .75); } }
@keyframes nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(.7rem); } }
@keyframes shine { 0%, 55% { transform: translateX(-140%) skewX(-20deg); } 100% { transform: translateX(430%) skewX(-20deg); } }

.glass {
  position: absolute;
  border-radius: 2.5rem;
  background: rgba(255, 255, 255, .27);
  border: 1px solid rgba(255, 255, 255, .2);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  text-align: center;
}

/* ---------- ヘッダー ---------- */
.header {
  position: fixed;
  top: 0; left: 0;
  width: 144rem;
  height: 7.7rem;
  background: rgba(255, 255, 255, .62);
  -webkit-backdrop-filter: blur(1.4rem) saturate(1.5);
  backdrop-filter: blur(1.4rem) saturate(1.5);
  z-index: 100;
  transition: background .4s, box-shadow .4s;
}
.header.is-scrolled { background: rgba(255, 255, 255, .5); box-shadow: 0 .6rem 2.4rem -1.2rem rgba(35, 30, 25, .25); }
.header__logo { position: absolute; left: 3.6rem; top: 1.7rem; width: 13.9rem; }
.header__logo img { width: 100%; height: auto; }
.header__nav {
  position: absolute;
  right: calc(144rem - 124.2rem);
  top: 2rem;
  display: flex;
  gap: 2.4rem;
  font-size: 2.4rem;
  line-height: 3.5rem;
}
.header__nav a { position: relative; }
.header__nav a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -.2rem;
  height: .2rem;
  background: var(--teal);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .4s cubic-bezier(.7, 0, .2, 1);
}
.header__nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.header__cta {
  position: absolute;
  left: 126.5rem; top: 1.9rem;
  width: 13.9rem; height: 4rem;
  border-radius: 2rem;
  background: var(--teal);
  color: var(--white);
  font-size: 2.4rem;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.header__cta span { position: relative; z-index: 1; }
.header__cta::after {
  content: "";
  position: absolute; top: 0; bottom: 0; left: 0; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .7), transparent);
  transform: translateX(-160%) skewX(-20deg);
  animation: hshine 3s cubic-bezier(.6, 0, .3, 1) infinite;
}
.header__cta:hover { background: #0e8f86; }
@keyframes hshine { 0%, 50% { transform: translateX(-160%) skewX(-20deg); } 100% { transform: translateX(360%) skewX(-20deg); } }

/* ---------- KV ---------- */
.kv { height: 154rem; }
.kv__img { position: absolute; left: 0; top: 7.7rem; width: 144rem; height: 141.5rem; overflow: hidden; }
.kv__par { width: 100%; height: 100%; }
.kv__img img { width: 100%; height: 151.9rem; margin-top: -7.7rem; object-fit: cover; }
/* JS実行前のちらつき防止（JSが動かない時はhtml.jsが外れて表示される） */
html.js .kv__img img, html.js .kv__catch img { opacity: 0; }
.kv__catch { position: absolute; left: 67.3rem; top: 31.3rem; width: 67.9rem; height: 21.6rem; }
.kv__catch img { position: absolute; inset: 0; width: 100%; height: 100%; }
.fluff { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.fluff i {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .5) 45%, rgba(255, 255, 255, 0) 72%);
}

.msg { left: 17.5rem; top: 93.6rem; width: 109rem; height: 40.6rem; }
.msg__ttl { position: absolute; left: 0; right: 0; top: 4.96rem; font-size: 4rem; line-height: 5.6rem; font-weight: 700; }
.msg__txt { position: absolute; left: 0; right: 0; font-size: 2.4rem; line-height: 3.5rem; font-weight: 400; }
.msg__txt--1 { top: 15.3rem; }
.msg__txt--2 { top: 28.5rem; }

a:focus-visible { outline: .3rem solid var(--teal); outline-offset: .4rem; }
.band { position: absolute; left: 0; top: 146rem; width: 144rem; height: 6.5rem; overflow: hidden; }
.band__track { display: flex; width: max-content; }
.band__track img { width: 140rem; height: 6.5rem; margin-right: 4rem; flex: none; }

/* ---------- CTA 1 ---------- */
.cta1 { height: 18rem; }
.cta1 .cta { left: 47rem; top: 2.2rem; }

/* ---------- 強み ---------- */
.strength { height: 53.3rem; }
.strength .tag { left: 17.5rem; top: 15.9rem; z-index: 3; }
.strength .h2 { left: 17.5rem; top: 20.76rem; z-index: 3; }
.strength .lead { left: 17.5rem; top: 29.1rem; z-index: 3; }
.strength .btn { left: 87.5rem; top: 40rem; z-index: 2; }
.tree { position: absolute; left: 87.8rem; top: 1.6rem; width: 38.7rem; height: 42.3rem; z-index: 1; }
.tree img { width: 100%; height: 100%; transform-origin: 50% 91%; }

/* ---------- サービス概要（夜空） ---------- */
.service { height: 61.4rem; overflow: hidden; color: var(--white); }
.service__bg { position: absolute; left: 0; top: -.5rem; width: 144rem; height: 61.9rem; overflow: hidden; }
.service__bg img { width: 100%; height: 100%; object-fit: cover; }
.fx { position: absolute; width: 0; height: 0; }
.water {
  position: absolute; left: 41.52rem; top: 48.78rem; width: 56.46rem; height: 11.64rem;
  background-size: 144rem 61.9rem; background-position: -41.52rem -48.78rem; background-repeat: no-repeat;
  filter: url(#waterFx);
  /* 水面の形に切り抜くマスク（岸の芝生は動かさない） */
  -webkit-mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjUAAAB0CAMAAABKUDNKAAADAFBMVEVMaXH////////+/v7////////////////////////////+/v7////////////////////+/v7////+/v7////////////////////////////////////////////////////////////+/v7////////////////////////+/v7////////////+/v7////////////////////////////////////+/v7////+/v7////////+/v7////////////////////////////////+/v7////////////////////////+/v7////////////////////////////////////////+/v7////////////+/v7+/v7////////////////+/v7////+/v7////////+/v7////////////////////////////+/v7////////////////////////////////////////////////////////////+/v7////////////////////+/v7////////////////////////////////////////////////+/v7////////+/v7////////////////////////////////////////////////////////////////////////////////+/v7////////+/v7////////////////+/v7////////////////////////////////////////+/v7////////////////////////////////////////////////////////////////////////////////+/v7////////////////////+/v7////+/v7+/v7////////////////////////////+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////+oPUkyAAAA/3RSTlMA+wL8Cv0E/gEQCe8DBRnnre739lER8PnbRFMIrPrmn2RVGnf03EL4M84H7Abzv/IPnK/rEib1C8q+Dhtm7ejAExQljRck5Q1AFeqMiinSNeG5Hss3ItipUlA80Bxb8cKwLaSJOKvd4kmymMx2hzs/vWIjKp7X42CFc9lPFign6clhLn9f4DIxmUvkIBh4eoY0dd+PIcVrLNOUbZZ91MSdjscwqkVZuKdO3mV8K9FBsy8fe3ShNgwdmotYQ7HPSly7kzk+w0xvvNWgOrqoea49tGN+zWdGl1dxXbajhKZNyLfBgnCRaIDagaVuVFqVm0iSolbWacaIcl61R2yQaoP/4DTxAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAUTElEQVR4nO2ddViT3RvHXT7PxjZgYwyZQxwjxwjp7lSQ7hCklRYQBJFWEXnt7u7u7u7ujtfWt+u33/WMGvgSG/DitvP5Qy+vS7bDeb7PHefc5z79+gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgP8I+BvA1AMAgB4GzfQg0NtA8GCSgL0BtAfeujbok+qgNqh+StjgZkMn4sHEAf5FNK4ZtkN3KAxug8KOJdcK1cdm+Lhi0WDaAK1BO2o98y+yl1Nug5y95hzL06GfL0ZHzDDSB74KIAyxetsiOQz/X8BhWBzutOup02dN3FLMBLoBtOD1bnkpxOdD39AoHYZdkcHZBYOqbTzwzcLBe3hRJtOBkGQWuPavRVR+R0AojtrI0GfZN8t3OxphmVhrx6i4/vvWlaWYEft68IA+AnYedR3VoWr4fD5Etff1X1xhe/uRZ0Lmo9vrrhmnWp0/GkYBXktGgZ01dDtVDZ8PsWImRVqlrr61ZP7q1KyD+co0w8d1PqS+Hj3gu1YNHxGOeQzXT9PPJMacgQRCKiN0wFqOjEKaXTHnXzOodqQDNUbJfEhzyDByX48e0DcwM14k4bquGX7Ln0A1sot1ypdSfpP9EAUIqEZWgfvRwwbIAdUARMNpX6oyUA1AJOCAlwbm4qlm7fQEfTDbMol+9YOFXUu8v8F98YpdfT18QJ9gOjZeTRxLw+fzFYfvcwJPTRYh+0z9hSOeaPjUmaeCwZaCDAKbThyY3OXVmjagilyOgf1LGYTsUzhTXFPDh7gH7kaBMj+ZA+205my+uKaGz2eccck0Aj5KxiDRMx4Eim1q+HxIzupUrh6QjUyBph/bZmAivqnh81H5q6O3gjUbGQImO2Vsy/IWfa0GaqkO5VPz9rwLJgJrIyvAFjMO/c/AGyOiYlCG7ppFRa+ruFSBjYI4CxerB7EbdQMO/Eo3aCIlQX1CoImoloaa7DDQJT19xIfhC+UaZaNyJf1wQoCRHkimpByYSBkWnf6HJk/EmAaiqoTeSdlZU6Nz/PD0pXYCOwUxuHOGD71xMsiMTSe0wghLRgPf1TLpEmmJm8aJ1jOdcSy6fvAcLkvUnQRGUnxBrjUZj8cz2f3HzFRsdG8Mk7yseJdR2YNUWzFWq2ac225HCyZZUqboPwVNwjejb+1FaUuxdQfzRrZ2ZbNdCUR871t4mETG0ik5w8bOGjJ4o4m2yMkTzv6AujOz4bNITpvSLQ2bbBCLZ69ieX64QitC99RfLLyhuiJiWfB/8/t9t8Awnmjd2hATioPjdJo59mnlVXVh1q27qjrMq91aftja5+bKst/HXt7iNtmI2BtvJWIOSXq7CASvGbN/8FTKLhy6OraIqy3GjqV25DOd5h0EktfENE2hsAhi8JTlWsHN/+lgoIHC2Q8P7lSuubwlx4so5ScavnU8MJlJxNLZOWZxl0+2NsSqd0+9GdrMiy9XrAyEsFo1+GzFmoB2a/lhQnV0xZ7VXz6MKawcm7ksh0LAEts16V12iDCeSRSApdvkmJmZ5QZ9ClONnlcxZELiEcsib3MRMycBEN/Qv4DS8h2knLex5vyOgDAYlrmivd+Zx6suzH9w53aEmRdWyoWDGPQGp6Nn7UVhzyjP0Nq/puyOxpu5P7Y2xJfuzVyo0sxaeWVzWhPmymp5sctdXka4tm9rsLWZ2fUPV8UujX1yYf7/fitYs18ro7y2xb250okNw+hCLxkYjSdj6a4UytbZ5zZpIfQfm/2bhobGepcdiZf+OOGrkmzCYYgjGQHy9w9ZC32b4+0Dcnwh2jnxy4dQ2jxvv59+ufR34aCMYGvp1E2TD/Kq3VDd4HRS3l9dd+rZXOPRF86P1104zbu1IZYzpGK+nSokDODlj9x86+JhTx+nDlbdYX1CcET0xfmbR05Tq/ppvP+FxcZH37xd1+zhfg8//gMyihqf3Y4NHnGXHrptHI74IA+CaVTJsmGeYQXq6vMqPhsLGL38yHhdXd2NKvKKcjE0jPDwRAbSXJLAFAqujcYut+tyESCEodolPb709z+X2dK3BQGTjaI2REwMCwsLWznr2q8jEF7suJJl8MucKjU1Ex4DhenCPEEQH0fzDjn9se69p09xp1YZjXX18Sz4NXWhCU3b0FtNrWrOTKtmVl2YvxcZRfoU26/IsMLCVwzzcRYQTDHCEolEC9OoHOfcoD/Dv6rX1Q9JSzxvZbVo4zQ1AfLIkFEoVHe2DZrA/TSmmiyuagQfQLVTOTJk3xYvKduDgLE5K9YtmPsQ8TxXYn1ftzgdbVTz/LTXfEEYlF2kwtCXN3NdLbpmkEkWNjsPp6eGxCCPF0JRm50cjWfiJxhFka5VqsAjJg7cu01DwPOyNfu1tLRWqNpuF/igA1nXQzSTuTwajdoyWuFBd0MyfKRO+EWGsK0hhCeKpho+n4+RmzNgW8rWlo+RBog+lbeyNjb4oBgaql1RdDY3hmtX1d/eudVIhAOtaCI7qPJFrPy3yU3DIHAsTkOOoqj2OlJXwOPzF0YbGxufVTAIFPggZQ4L111ptA/E9149liA0Yq/3m5VF/xRqqeX86FwjKYpu0OyvX1R437ynok6MtvuitBvnJou6xg4TA/ZrDF/baU4M4RCfg0KhGIYmAi9kZ87qGR/U8dfyOVk3App/J1g/d9RSmjifwwm5cCrBUXpkQ/LRsNRucUHizS7OMG/5qJvBHmKsapEIW25cWKvd3nR3PK7uu6DOYJzZG+HRvMTsqrTDT6x0DEeddGSBp6vU9Gwjmd2JFUQW4gOhuJYfosvp4jVbgLEl2aHtyqavgbhH7izb1fCwSYSIdF1xTA0CxiR2RLibtBRYwMUpe59WKWs3vUKiv7wQNdn/2afdYrceg7El6y6pib2i0suwJqWeCipmomE00SZzvRVXbNuGUYwcXZlrISWbm/q79z9P+2N80SQuh4FpNjpdN/0QVXP5vASvbnR1gbHl2x0aihC+PyBG/qoH+86ZBTifu+viIM8S/5NwNM3QWTudpKT9DZlesv/u9hF7ErMsfZNKFZXNWTgRXiiUnO/Asg0e3Qr0YMLxEbrdqOXtXVjeupemj5q1fcmBhXJdWblqH+2qJxX9KVIim374Xa7OOpuU1H+7Nv3LgAMGukVV9oa0rq3CY7wXuag6d9dd4yevMU4S8wxt74OjcjUDF1mq2Imz/dkKFnfpkDW10tMAG62PNY3K2XAsRen2jSm/zv3xnoNlkXyMdmfvFsbE4ZUWu/vdVMlu/5xW7uV0qDtgGFTx97KEwClfn1AZZy01skGASUwPgmNUSU3GycO2U0fsuDdzzjSueQeFTBgThwURpj2xDOFx3OXM95pH9SQ43muFwgjXdvYXJKbc7VtgEp5JKI4yG/bp7qk3R5dbHawy4TQop02IDLFKDRZkmPbIi0OyWZmo9p0GxAJ6amEIYrhn1SuVENos3cBkpoVjVE5OlKMFUa/lNZSUusnmQaL1rSfPiIsIt10/N9QqcpoJp+1SLMRJ2qyR0SOWBmmVt2WbpbhrIRIFhLI7uOPOxJrdRnqCShCYhCcauQYvi1ihaltYaKu6wjMhN2AyHUvuSp3IdwlMIhKichHlHA3NipzmbdiyRYijyo//uE6H3mOr5E7h8e7fs7HpOSBa8qL7Y26cPFdTYmPqFJBbfXlN5fMHc5G9tUADhYF7pm+bVRDmOWxZSZQpUiXi8W2VyPcPTCLSozZEKNmun/vw3syFVaWGNBotxl5l6eptE3Msei6u0y+fIhvGhs+HMBz5M1nxL+rr1L/u+3n9rx9Wr/rljJ+8HYfF4tjJT0rSjfVPTNs75uK6r0pKSuF/BuW6CcixoRPJaIlTzsnDb98c/fGelVXWH/ddClW3OPVo610vmTE2fMRP8eynhVzPGp76NPK1nzdPqCqFj2NROdxkzZDrWQeQKpEdS9aPEvDb1XDPamc2XZJOzyD1fq7B5RknD6urX42eGOTs1cMFanpxMmNsGoBwDI6csjnqXxdVBXUicoqKinbyKhtHCnh8ZPmE9MJsJc8aMzbBQoKsDprENCqmUChevXHuUHYim84ytNb/bK4S4XEnhYw/nZiWPrVMaVO1m8Dq9JN19OOmjJcpY8PvLKH/tkgEwzDn5odYHknckz71arinjoQ5rN7ASelHWTU2ogDhGDxufp4l4rC2CxzWZAtp2dwSA31Zi2zEoMn2QBhWo8OakD71rlZcgCkT3e7d9hJ53LrLAGPTRZrcFkabY5KcZ7k5reJleJAbhY7Fk2Qv0tGPq1vK+443Mb9LIBxDzs/XIXQvkl7pzJ5RTOgEIwtyw7phP+kAdkyZoMLo68cggQ4LQpmbFCHp1d6KedFhSh2zRqt6HLJouNtxF3LCWa/lQlgJhRx8NbUUBMRigdHmcJNV5iy6MqATQvfU102dOrXQ9t0KT0/PzITcAFc6VqKlg63WyLJH7goEiAMEYagxip3Azc/THTlypKXBpbN79uyZMH39rMowz7itjliJTcTQphlTFSInKdNoNGr7hT29f6JFEul6qTcGWTRkmdvJu7u7T0o6eMI/8darn99dNiNIqm5IpstWVozebGVgsCgyyV1NCHtF5OQcCtWlY+cyDNQpbf6/YNvL96nC0ecpZqIcnf2eQGMp5TeRNkqz1k//aCyE4JQuwpkqEzllHqMXT+rKHhCKZrf2hPEpT7aktjGAyR5ebDY7YENCQ0OaRm4OerkdaRBQ92D+6kvDz1vmqSS5K5oL1/MCvyUeja8fjudnUN/fUZLDYuTkgh5RGAvH3W5mCFsyH6kOyp5aP3SJ8eDTTy1D8uVNDBkoDHBc3QYXE7vdR0J9VPs0rIiTsUZ0U7bZMp2d/b9mv5w6Im3g6lWPdSPz8u1iaL3fMUCqgfzSNkn1XXtoPF7fwpFi46xzfP+jgjsaU+onhG52iExSi2ksje/rJyCReIe26rwiXQj5XrQ+EWtECTYrqd4f/v6fBdN3+G/0sxOrdyOAD+WP/lO4D6GUA8NosgXBaeuGoD/Lrt0aEBsiXtNPWYdmua1cUpMo8YFJ+h7s2cdV5w29ENvYLRZ4qi6D4+RNeOQk4TmUyDTeokLGOgYHKc0bEnpCRVHkDviyC4bj/vjWSme9fjILWo8+Y2f4289XIvMNgXC6AE5bTuXpWY2UGVhZMzWtgfVMc45XViz23zgJZFUdg2MoVgWmfn57aHbPnlWSTNAW7PKbZRWL/SNBVtUuEEOuKnDz/Lro425tD5/LKjB5F7t8Rdm1+QNiQ+wNGWAJsC0Qw8T3yvy695ld6CwuS8B4D5u4TNV5e+P9A1VKm5QDguQmzQweU5np09XO4rKEIKvaObFAwyV+1UgVe0NQ9SWkmehhbFk+F9MxaKY1ZVyCQDn+gZrAW/EhBrdBM9LSzba3QOsZUcYFHSoYteS+f2BIPte8uy3dJRicYcgBRDPd744nC5AQ5SQcKhiVPmGAg6+fnWwqB8dJjj1aCTQjqrcyq94U9vOrWwoOvslyol+HKdlA2u5LR//WPwD4JlFB47GmAXGZqj9XpKUGIhFyr+VWUNPfKG2qcAV9t26u6A4sxYWhGhNLJLa0vI+B8VjHgLhNhzWWxPuP1Cw1ZPTSM4QwVGVveb+FSx1m+k5Tszcx1Mb0XeUhSy7kydCVcaayt7Xdg8B4i8lInINk5UI2p6eAULQY+yTfE6nxi+e+OXVj3rXPiwc+fLL0YGReMlcZwbD5Sq7/xOzgDF8/cck+ZyNdd5z1CWg9a4pZ0KHKUS73EeXECF1rB4n1LJvKtxk8+zOxm79MX/DXyhStiPIZ7K2zz2n1P/n787opY9JCByNcOeGrotlA0iQ7c2oLbfXbA6rCUd0XzVWPCABrej2ZWwVNLNNwib8307dKrVSOhmq5jESsHjPemtfPx6f/9T7l2IbaYg+s4PJpPBOLNZocPK6kZtPYQQjR814NHdLAko+XTjs0c0JX011egEmMdo84NEjbfuRDjRW1u2Sv7USvrwQGHTo879XRxfcPxF7fWOSuqMzRFuUyEkEUo83j+v003v/h9LqyiT/UOnkw23YORkrmLYzoCF61s3V+aGCn1rts22ZmTVnycbSAh/d+OTgnqVSO1+kFBR0PS3lh4gKl2aYgCO4F5egZudbGZexP2TdLY8HQ0QNSjwSGJCV786jUTp8ZxKJSDUv9NPPG+y9PG1NY9iihhG3UactLmERuRN/CkW3TTIBPkFZ/ASd/f37x1d/3h58fn7dWTY7GEraAHV1f2wocb9ppl5VberoFJ6DlQeKZWA+vrWY+w1Yo3c4eVe8yf7W/g+DgVUeorY2cafDkx7lDxmwvGJtZ48YmMDvcEuyscRVJD9uA9eTgcbPPpbwr2z7m79HDnyKey1uZisKIkIhBrNLxH2dlRoEguLeBYbT+Lroje1zNzuNjK21/3v5r2sCOWPxiwTzb3x9dHrbMmULAIkFMDw6FxLQ2pZgtS7h5++WUJcYD4zcv0j3YkogpKxtSO7ruHsdTSb12yK17t3gBRAGNJxPpk22inHUy+3fE/mOzt9q4EphkfG9Fm2i8vofTbsRzpaz8q+7iRSQRG97Ak5lnNDWTTXjfZF4IGBPLCdk6jqBOr48OXnUIE/+fDAXxXB7FtWbjxpUs81wjSMQGDbr7/Nlel1uh/id0kxTbbJBA1Ennn6XM6MHLCwCSCtx4dtm0Adfg8h92ZioV/HPx6HBLP46QbiBeXujbY04S3QsL0EvAeDLiSAN8Lu/TGLjUntqkGxxvY1p0rnTdfgfoLm17CJOwxbkntw2Yo9hw9BTi+H4I39rcihgAaAe805Z9Lie4AtmwVBaHRYEwGNA5MJOy6X9LDSE+H7L7Y10wEA2gS6Cd/pwbwuDzWT/tPYft2o8AAKSAuwryOL7dlYLdIKYBdBVizYJAKk7z82WLLv8IQOaBi/cdUETpTinphqn5P7Z+5LBzgfP8AAAAAElFTkSuQmCC") center / 100% 100% no-repeat;
  mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjUAAAB0CAMAAABKUDNKAAADAFBMVEVMaXH////////+/v7////////////////////////////+/v7////////////////////+/v7////+/v7////////////////////////////////////////////////////////////+/v7////////////////////////+/v7////////////+/v7////////////////////////////////////+/v7////+/v7////////+/v7////////////////////////////////+/v7////////////////////////+/v7////////////////////////////////////////+/v7////////////+/v7+/v7////////////////+/v7////+/v7////////+/v7////////////////////////////+/v7////////////////////////////////////////////////////////////+/v7////////////////////+/v7////////////////////////////////////////////////+/v7////////+/v7////////////////////////////////////////////////////////////////////////////////+/v7////////+/v7////////////////+/v7////////////////////////////////////////+/v7////////////////////////////////////////////////////////////////////////////////+/v7////////////////////+/v7////+/v7+/v7////////////////////////////+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////+oPUkyAAAA/3RSTlMA+wL8Cv0E/gEQCe8DBRnnre739lER8PnbRFMIrPrmn2RVGnf03EL4M84H7Abzv/IPnK/rEib1C8q+Dhtm7ejAExQljRck5Q1AFeqMiinS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") center / 100% 100% no-repeat;
}
.fall {
  position: absolute; top: 40.2rem; width: 4.3rem; height: 9.6rem;
  background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .5) .5rem, rgba(255, 255, 255, 0) 1.3rem, rgba(210, 240, 255, .25) 2rem, rgba(255, 255, 255, 0) 2.6rem);
  background-size: 100% 2.6rem;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 25%, #000 75%, transparent), linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 25%, #000 75%, transparent), linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
  mask-composite: intersect;
  animation: fall .7s linear infinite;
}
.fall--l { left: 66.6rem; }
.fall--r { left: 72rem; animation-duration: .8s; }
.mist {
  position: absolute; left: 64rem; top: 46.5rem; width: 15rem; height: 5rem; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 70%);
  filter: blur(.4rem);
  animation: mist 2.6s ease-in-out infinite;
}
@keyframes fall { to { background-position: 0 2.6rem; } }
@keyframes mist { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.15, 1.3); opacity: .9; } }
.stars {
  position: absolute; left: 0; top: 0; width: 144rem; height: 61.4rem;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 38%, transparent 62%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 38%, transparent 62%);
}
.shoot {
  position: absolute; width: 16rem; height: .2rem; border-radius: .2rem;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .95));
  opacity: 0; pointer-events: none;
  filter: drop-shadow(0 0 .4rem rgba(255, 255, 255, .9));
}
.ellipse { position: absolute; left: -18.2rem; width: 180.4rem; height: 26.7rem; border-radius: 50%; background: var(--white); z-index: 3; }
.ellipse--top { top: -21.4rem; }
.ellipse--btm { top: 56rem; }
.svc { left: 17.5rem; top: 10.4rem; width: 109rem; height: 40.6rem; background: rgba(255, 255, 255, .25); -webkit-backdrop-filter: blur(7px) brightness(.82); backdrop-filter: blur(7px) brightness(.82); z-index: 2; }
.svc .tag { left: 44.4rem; top: 2.9rem; }
.svc__ttl { position: absolute; left: 0; right: 0; top: 7.76rem; font-size: 4rem; line-height: 5.6rem; font-weight: 700; }
.svc__txt { position: absolute; left: 0; right: 0; top: 16.15rem; font-size: 2.4rem; line-height: 3.5rem; font-weight: 500; }
.svc .btn { left: 35rem; top: 30.5rem; }

/* ---------- 実績 ---------- */
.result { height: 104.2rem; z-index: 1; background: var(--white); }
.result__shade { position: absolute; inset: 0; background: var(--ink); opacity: 0; z-index: 5; pointer-events: none; }
.result .tag { left: 17.5rem; top: 6rem; }
.result .h2 { left: 17.5rem; top: 10.86rem; }
.result .lead { left: 17.5rem; top: 19.2rem; }
.city { position: absolute; left: 0; top: 35.4rem; width: 144rem; height: 71.7rem; }
.city img { width: 100%; height: 100%; }
.chart { position: absolute; left: 25.6rem; top: 30.2rem; width: 92.9rem; height: 53.5rem; }
.chart-svg { width: 100%; height: 100%; overflow: visible; display: block; }
.result .btn { left: 87.5rem; top: 87.8rem; }

/* ---------- コラム ---------- */
.column { height: 77.8rem; border-radius: 4.1rem 4.1rem 0 0; overflow: hidden; z-index: 2; }
.column__bg { position: absolute; left: 0; top: -6.2rem; width: 144rem; height: 89.9rem; }
.column__bg img { width: 100%; height: 100%; object-fit: cover; }
.column .tag { right: 17.5rem; top: 10rem; }
.column .h2 { right: 17.5rem; top: 14.86rem; text-align: right; }
.column .lead { right: 17.5rem; top: 23.2rem; text-align: right; }
.col-list { position: absolute; left: 25.8rem; top: 34.1rem; width: 100.7rem; }
.col-list li { position: relative; height: 7rem; margin-bottom: 1.5rem; }
.col-list a {
  position: absolute; left: 0; top: 0;
  width: 92.4rem; height: 7rem;
  border: .3rem solid var(--ink);
  background: var(--white);
  display: flex; align-items: center; justify-content: center;
  font-size: 2.8rem; font-weight: 500;
  transition: background .4s, color .4s;
}
.col-list a:hover { background: var(--ink); color: var(--white); }
.col-arrow { position: absolute; left: 88.5rem; top: 2.5rem; width: 12.2rem; height: 1.3rem; overflow: visible; pointer-events: none; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.col-arrow path { fill: none; stroke: var(--ink); stroke-width: 3; }
.col-list li:hover .col-arrow { transform: translateX(1.2rem); }
.column .btn { left: 17.5rem; top: 62.1rem; }

/* ---------- CTA 2 ---------- */
.cta2 { height: 47.3rem; background: var(--white); z-index: 2; }
.footer { z-index: 2; background: var(--white); }
.cta2__copy { position: absolute; left: 41.6rem; top: 15rem; width: 60.8rem; height: 5.1rem; }
.cta2__copy img { width: 100%; height: 100%; }
.cta2 .h2 { left: 0; width: 144rem; text-align: center; top: 23.56rem; }
.cta2 .cta { left: 47rem; top: 30.1rem; }
.cta2 .cta__btn { margin-top: 0; }

/* ---------- フッター ---------- */
.footer { height: 88.7rem; }
.hills { position: absolute; left: 0; top: 20.4rem; width: 144rem; height: 68.3rem; clip-path: inset(-30% 0 0 0); } /* 拡大して出てくるとき、山の頂上が切れないよう上ははみ出してよい */
.hills img { width: 100%; height: 100%; display: block; transform-origin: 50% 100%; }
.footer__mark { position: absolute; left: 59.1rem; top: 6.3rem; width: 25.9rem; }
.footer__t { position: absolute; left: 0; width: 144rem; text-align: center; font-size: 2.4rem; line-height: 3.5rem; }
.footer__t--1 { top: 26.7rem; }
.footer__t--2 { top: 31rem; font-weight: 700; }
.footer__nav { position: absolute; left: 3.5rem; width: 144rem; top: 44.3rem; display: flex; justify-content: center; gap: 2.4rem; font-size: 2.4rem; line-height: 3.5rem; }
.footer__nav a:hover { color: var(--teal); }
.fbox { position: absolute; width: 34rem; text-align: center; }
.fbox--l { left: 36rem; }
.fbox--r { left: 74rem; }
.fbox__s { font-size: 1.8rem; line-height: 3.5rem; height: 3.24rem; }
.fbox__b {
  display: flex; align-items: center; justify-content: center;
  height: 6.6rem; border: 1px solid var(--ink); background: var(--white);
  font-size: 2.4rem; transition: background .3s, color .3s;
}
.fbox--l .fbox__b { font-weight: 700; }
.fbox__b:hover { background: var(--ink); color: var(--white); }
.fbox__n { font-size: 1.8rem; line-height: 2.7rem; }
.fbox__n + .fbox__n { font-weight: 700; }
.fbox { top: 52.16rem; }
.fbox__s, .fbox__n { white-space: nowrap; margin: 0 -6rem; }
.footer__bnr { position: absolute; left: 40.7rem; top: 72.3rem; width: 62.7rem; height: 10.4rem; }
.footer__bnr img { width: 100%; height: 100%; transition: transform .4s; }
.footer__bnr:hover img { transform: scale(1.03); }
.footer__copy { position: absolute; left: 0; width: 144rem; text-align: center; top: 84.36rem; font-size: 1.8rem; line-height: 3.5rem; }

/* ---------- 動きを減らす設定の方向け ---------- */
@media (prefers-reduced-motion: reduce) {
  .cta__btn::after, .header__cta::after { animation: none; display: none; }
  .cta__btn, .cta__btn .chev, .fall, .mist { animation: none; }
}

/* ---------- PC・スマホ共通の追加 ---------- */
.kv__par picture { display: block; width: 100%; height: 100%; }
.svc-stage { position: absolute; left: 0; top: 0; width: 144rem; height: 61.4rem; }
.menu-btn, .sp-menu { display: none; }
br.sp { display: none; }

/* =========================================================
   スマホ版（767px以下）
   1rem = デザイン上の10px（375px幅基準・画面幅に合わせて拡縮）
   ========================================================= */
@media (max-width: 767px) {
  html { font-size: calc(100vw / 37.5); }
  br.sp { display: inline; }
  .page, .sec, .header { width: 37.5rem; }

  /* ---- 共通パーツ ---- */
  .tag, .h2, .lead { position: relative; left: auto; right: auto; top: auto; }
  /* PC版のセクション別の座標指定を打ち消す */
  .strength .tag, .strength .h2, .strength .lead, .strength .btn,
  .result .tag, .result .h2, .result .lead, .result .btn,
  .column .tag, .column .h2, .column .lead, .column .btn,
  .svc .tag, .svc .btn, .cta1 .cta, .cta2 .cta, .cta2 .h2 { left: auto; right: auto; top: auto; }
  .tag { height: 2.8rem; padding: 0 1rem; font-size: 1.3rem; width: fit-content; }
  .h2 { font-size: 1.9rem; line-height: 2.8rem; white-space: normal; margin-top: 1.2rem; }
  .lead { font-size: 1.35rem; line-height: 2.4rem; white-space: normal; margin-top: 1.2rem; }
  .btn { position: relative; left: auto; top: auto; width: 28rem; height: 5.6rem; font-size: 1.6rem; border-width: .2rem; border-radius: 2.8rem; margin: 2.4rem auto 0; }
  .chev { right: 2.4rem; }

  .cta { position: relative; left: auto; top: auto; width: 33.5rem; margin: 0 auto; }
  .cta__lead { font-size: 1.4rem; line-height: 2.4rem; }
  .cta__btn { height: 6rem; font-size: 1.9rem; border-radius: 3rem; margin-top: .8rem; }
  .cta__btn .chev { right: 2.2rem; }

  /* ---- ヘッダー ---- */
  .header { height: 6rem; }
  .header__logo { left: 1.6rem; top: 1.6rem; width: 9rem; }
  .header__nav { display: none; }
  .header__cta { left: auto; right: 6.2rem; top: 1.2rem; width: 9.4rem; height: 3.6rem; border-radius: 1.8rem; font-size: 1.4rem; }
  .menu-btn {
    display: block; position: absolute; right: .8rem; top: .8rem; width: 4.4rem; height: 4.4rem;
    background: none; border: 0; cursor: pointer; z-index: 2;
  }
  .menu-btn span { position: absolute; left: 1.2rem; width: 2rem; height: .2rem; background: var(--ink); transition: transform .4s cubic-bezier(.7, 0, .2, 1), opacity .3s; }
  .menu-btn span:nth-child(1) { top: 1.5rem; }
  .menu-btn span:nth-child(2) { top: 2.1rem; }
  .menu-btn span:nth-child(3) { top: 2.7rem; }
  .is-menu-open .menu-btn span:nth-child(1) { transform: translateY(.6rem) rotate(45deg); }
  .is-menu-open .menu-btn span:nth-child(2) { opacity: 0; }
  .is-menu-open .menu-btn span:nth-child(3) { transform: translateY(-.6rem) rotate(-45deg); }
  .sp-menu {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2.4rem;
    position: fixed; inset: 0; z-index: 90; padding: 8rem 2rem 4rem;
    background: rgba(255, 255, 255, .82);
    -webkit-backdrop-filter: blur(1.6rem); backdrop-filter: blur(1.6rem);
    opacity: 0; visibility: hidden; transition: opacity .45s, visibility .45s;
  }
  .is-menu-open .sp-menu { opacity: 1; visibility: visible; }
  .sp-menu__nav { display: flex; flex-direction: column; align-items: center; gap: .2rem; font-size: 1.8rem; font-weight: 500; }
  .sp-menu__nav a { display: block; padding: 1rem 2rem; }
  .sp-menu__nav a { opacity: 0; transform: translateY(1.2rem); transition: opacity .5s, transform .5s cubic-bezier(.2, .7, .2, 1); }
  .is-menu-open .sp-menu__nav a { opacity: 1; transform: none; }
  .is-menu-open .sp-menu__nav a:nth-child(2) { transition-delay: .04s; }
  .is-menu-open .sp-menu__nav a:nth-child(3) { transition-delay: .08s; }
  .is-menu-open .sp-menu__nav a:nth-child(4) { transition-delay: .12s; }
  .is-menu-open .sp-menu__nav a:nth-child(5) { transition-delay: .16s; }
  .is-menu-open .sp-menu__nav a:nth-child(6) { transition-delay: .2s; }
  .is-menu-open .sp-menu__nav a:nth-child(7) { transition-delay: .24s; }
  .sp-menu__cta { display: flex; align-items: center; justify-content: center; width: 28rem; height: 5.6rem; border-radius: 2.8rem; background: var(--teal); color: var(--white); font-size: 1.8rem; font-weight: 700; margin-top: 1rem; }
  .is-menu-open { overflow: hidden; }

  /* ---- KV ---- */
  .kv { height: 90rem; }
  .kv__img { top: 6rem; width: 37.5rem; height: 80rem; }
  .kv__img img { height: 100%; margin-top: 0; }
  .kv__catch { left: 2rem; top: 10rem; width: 33.5rem; height: 10.66rem; }
  .msg { left: 2rem; top: 46rem; width: 33.5rem; height: auto; padding: 2.8rem 1.2rem 3rem; border-radius: 1.6rem; }
  .msg__ttl, .msg__txt { position: relative; top: auto; }
  .msg__ttl { font-size: 1.8rem; line-height: 2.6rem; }
  .msg__txt { font-size: 1.25rem; line-height: 2.3rem; margin-top: 1.4rem; }
  .band { top: 84.4rem; width: 37.5rem; height: 3.2rem; }
  .band__track img { width: 69rem; height: 3.2rem; margin-right: 2rem; }

  /* ---- CTA ---- */
  .cta1 { height: auto; padding: 3rem 0 5rem; }

  /* ---- 強み（木はボタンの裏から生える） ---- */
  .strength { height: auto; display: flex; flex-direction: column; padding: 2rem 2rem 6rem; }
  .strength .tag { order: 1; }
  .strength .h2 { order: 2; }
  .strength .lead { order: 3; }
  .tree { order: 4; position: relative; left: auto; top: auto; width: 26rem; height: 28.4rem; margin: 2rem auto 0; }
  .strength .btn { order: 5; margin-top: -2.6rem; }

  /* ---- サービス概要（背景は滝を中心に縮小） ---- */
  .service { height: 60rem; }
  .svc-stage { transform: translateX(-50.5rem) scale(.969); transform-origin: 0 0; }
  .stars { width: 37.5rem; height: 60rem; }
  .ellipse { left: -11.25rem; width: 60rem; height: 9rem; }
  .ellipse--top { top: -6.5rem; }
  .ellipse--btm { top: 57.5rem; }
  .svc { left: 2rem; top: 6.5rem; width: 33.5rem; height: auto; padding: 2.4rem 1.6rem 2.8rem; border-radius: 1.6rem; }
  .svc .tag { left: auto; top: auto; margin: 0 auto; }
  .svc__ttl, .svc__txt { position: relative; top: auto; }
  .svc__ttl { font-size: 1.8rem; line-height: 2.7rem; margin-top: 1.2rem; }
  .svc__txt { font-size: 1.3rem; line-height: 2.3rem; margin-top: 1rem; }
  .svc .btn { width: 26rem; margin-top: 2rem; }

  /* ---- 実績 ---- */
  .result { height: auto; padding: 5rem 2rem 16rem; }
  .city { left: -18.75rem; top: auto; bottom: -3rem; width: 75rem; height: 37.3rem; }
  .chart { position: relative; left: auto; top: auto; width: 33.5rem; height: auto; margin-top: 2.4rem; }
  .chart-svg { height: auto; }

  /* ---- コラム ---- */
  .column { height: auto; padding: 5rem 2rem 6rem; border-radius: 2.4rem 2.4rem 0 0; }
  .column__bg { top: -6rem; width: 37.5rem; height: calc(100% + 12rem); }
  .column .tag { right: auto; margin-left: auto; }
  .column .h2, .column .lead { right: auto; }
  .col-list { position: relative; left: auto; top: auto; width: auto; margin-top: 2.4rem; }
  .col-list li { height: auto; margin-bottom: 1.2rem; }
  .col-list a { position: relative; width: 31rem; height: auto; min-height: 5.6rem; padding: 1.2rem 2.4rem 1.2rem 1.4rem; border-width: .2rem; justify-content: flex-start; text-align: left; font-size: 1.4rem; line-height: 2.2rem; }
  .col-arrow { left: auto; right: 0; top: 50%; width: 5rem; height: .6rem; margin-top: -.3rem; }
  .col-arrow path { stroke-width: 5; }
  .column .btn { margin: 3rem auto 0; } /* 2026-10-02 中央に */

  /* ---- CTA 2 ---- */
  .cta2 { height: auto; padding: 5rem 2rem 4rem; }
  .cta2__copy { position: relative; left: auto; top: auto; width: 30rem; height: 2.52rem; margin: 0 auto; }
  .cta2 .h2 { position: relative; left: auto; top: auto; width: auto; font-size: 1.7rem; line-height: 2.6rem; margin-top: 1.6rem; }
  .cta2 .cta { left: auto; top: auto; margin-top: 2rem; }

  /* ---- フッター ---- */
  .footer { height: auto; padding: 3rem 2rem 2rem; }
  .hills { left: -19rem; top: auto; bottom: 0; width: 84rem; height: 40rem; }
  .footer__mark, .footer__t, .footer__nav, .fbox, .footer__bnr, .footer__copy { position: relative; left: auto; top: auto; width: auto; }
  .footer__mark { width: 14rem; margin: 0 auto; }
  .footer__t { font-size: 1.3rem; line-height: 2.2rem; }
  .footer__t--1 { margin-top: 1.6rem; }
  .footer__nav { flex-wrap: wrap; gap: 0 1.2rem; font-size: 1.3rem; line-height: 2rem; margin-top: 2rem; }
  .footer__nav a { padding: 1.2rem .4rem; }
  .fbox { margin-top: 2rem; }
  .fbox__s, .fbox__n { margin: 0; white-space: normal; }
  .fbox__s { font-size: 1.2rem; line-height: 2rem; height: auto; }
  .fbox__b { height: 5rem; font-size: 1.6rem; margin-top: .4rem; }
  .fbox__n { font-size: 1.2rem; line-height: 2rem; }
  .fbox--r .fbox__n:first-of-type { margin-top: .6rem; }
  .footer__bnr { height: auto; margin-top: 2.4rem; }
  .footer__bnr img { height: auto; }
  .footer__copy { font-size: 1.1rem; line-height: 2rem; margin-top: 1.2rem; }
}

/* =========================================================
   スマホ版 修正（2026-09-24 隊長コメント反映）
   ========================================================= */
@media (max-width: 767px) {
  /* ① KV：Illustratorのスマホデザインの配置（750px幅データ÷2） */
  .kv { height: 97.6rem; }
  .kv__img { top: 5.92rem; height: 87.54rem; }
  .kv__catch { left: 23.89rem; top: 11.43rem; width: 10.25rem; height: 38.44rem; }
  .msg { left: 2.14rem; top: 63.4rem; width: 33.22rem; }
  .band { top: 91.9rem; height: 3.25rem; }
  .band__track img { width: 70rem; height: 3.25rem; }

  /* ② 強み：木は文字の後ろ・小さめ・ボタンの裏から生える */
  .strength { position: relative; padding-bottom: 6rem; }
  .tree { position: absolute; order: 0; left: auto; right: -.6rem; top: auto; bottom: 9.1rem; width: 17rem; height: 18.56rem; margin: 0; }
  .strength .btn { margin-top: 2.4rem; }

  /* ③ サービス概要：枠を背景の中央に */
  .svc { top: 0; bottom: 0; margin: auto 0; height: fit-content; }

  /* ⑤ コラム：右下に人物が入るように、見出しの上に余白 */
  .column { padding-top: 8rem; }
  .column__bg { top: auto; bottom: 0; height: calc(100% + 8rem); }
  .column__bg img { object-position: 84% 100%; }

  /* ⑥ 下部CTA：「まぐれに〜」を一回り大きく */
  .cta2__copy { width: 33.5rem; height: 2.81rem; }

  /* ⑦ フッター */
  .hills { left: -12.3rem; top: 25.2rem; bottom: auto; width: 84rem; height: 40rem; }
  .footer__nav { margin-top: 3.2rem; gap: 0 1.4rem; }
  .footer__nav a { padding: .5rem .2rem; text-decoration: underline; text-underline-offset: .35rem; text-decoration-thickness: 1px; }
  .fbox--r { text-align: center; }
  .fbox--r .fbox__b { width: 25rem; height: 3.8rem; font-size: 1.4rem; margin: .2rem auto 0; }
  .fbox--r .fbox__n { font-size: 1rem; line-height: 1.7rem; }
  .fbox--r .fbox__n:first-of-type { margin-top: .6rem; }
  .footer__bnr { display: block; margin-top: 3.7rem; }

  /* ⑧ メニュー：2本線＋MENU、開くと右上の小さなパネル（左下角丸） */
  .menu-btn { right: .6rem; top: .8rem; width: 4.6rem; height: 4.4rem; }
  .menu-btn span { position: static; width: auto; height: auto; background: none; transition: none; }
  .menu-btn span.menu-btn__lines { position: absolute !important; left: 1.1rem; top: 1.2rem; width: 2.4rem; height: 1.2rem; display: block; }
  .menu-btn__lines i {
    position: absolute; right: 0; height: 2px; border-radius: 2px; background: var(--ink);
    transition: transform .45s cubic-bezier(.7, 0, .2, 1), width .45s cubic-bezier(.7, 0, .2, 1), top .45s cubic-bezier(.7, 0, .2, 1);
  }
  .menu-btn__lines i:nth-child(1) { top: 0; width: 100%; }
  .menu-btn__lines i:nth-child(2) { top: calc(100% - 2px); width: 62%; }
  .menu-btn:hover .menu-btn__lines i:nth-child(2) { width: 100%; }
  .menu-btn span.menu-btn__txt { position: absolute !important; transition: opacity .3s; width: auto; height: auto; left: 0; right: 0; top: 2.9rem; font-family: "Barlow", sans-serif; font-size: .9rem; font-weight: 700; letter-spacing: .18em; text-align: center; color: var(--ink); }
  .is-menu-open .menu-btn__lines i { top: calc(50% - 1px); width: 100%; }
  .is-menu-open .menu-btn__lines i:nth-child(1) { transform: rotate(25deg); }
  .is-menu-open .menu-btn__lines i:nth-child(2) { transform: rotate(-25deg); }
  .is-menu-open .menu-btn span.menu-btn__lines, .is-menu-open .menu-btn span.menu-btn__txt { transform: none; }
  .is-menu-open .menu-btn span.menu-btn__txt { opacity: 1; }

  .sp-menu {
    inset: 0 0 auto auto; width: 27rem; height: auto; padding: 8rem 2.4rem 3.2rem; gap: 1.6rem;
    border-radius: 0 0 0 3.2rem;
    background: rgba(255, 255, 255, .9);
    box-shadow: -.6rem 1.2rem 3.6rem -1.2rem rgba(35, 30, 25, .35);
    clip-path: circle(0% at 92% 3rem);
    opacity: 1; visibility: hidden;
    transition: clip-path .6s cubic-bezier(.7, 0, .2, 1), visibility 0s .6s;
  }
  .is-menu-open .sp-menu { clip-path: circle(150% at 92% 3rem); visibility: visible; transition: clip-path .7s cubic-bezier(.7, 0, .2, 1), visibility 0s; }
  .sp-menu__nav { align-items: flex-start; width: 100%; gap: 0; font-size: 1.6rem; }
  .sp-menu__nav a { position: relative; width: 100%; padding: 1rem 0 1rem 1.8rem; border-bottom: 1px solid rgba(35, 30, 25, .12); }
  .sp-menu__nav a::before { content: ""; position: absolute; left: 0; top: 50%; width: .8rem; height: 2px; margin-top: -1px; background: var(--teal); }
  .is-menu-open .sp-menu__nav a:nth-child(1) { transition-delay: .15s; }
  .is-menu-open .sp-menu__nav a:nth-child(2) { transition-delay: .19s; }
  .is-menu-open .sp-menu__nav a:nth-child(3) { transition-delay: .23s; }
  .is-menu-open .sp-menu__nav a:nth-child(4) { transition-delay: .27s; }
  .is-menu-open .sp-menu__nav a:nth-child(5) { transition-delay: .31s; }
  .is-menu-open .sp-menu__nav a:nth-child(6) { transition-delay: .35s; }
  .is-menu-open .sp-menu__nav a:nth-child(7) { transition-delay: .39s; }
  .sp-menu__cta { width: 100%; height: 5rem; font-size: 1.6rem; margin-top: .8rem; }
}

/* 本文は細字で統一（写真の上の文字は読みやすさのため中太のまま）2026-09-28 */
.strength .lead, .result .lead { font-weight: 400; }

/* 電話番号は画像（営業リストの自動収集対策）。形は画像、色は文字色を使うのでホバーの色変えも効く 2026-09-28 */
.u-tel { display: inline-block; width: 6.833em; height: 1.4em; vertical-align: -.32em; background: currentColor; /* 文字と同じベースラインにそろえる */ -webkit-mask: url(../img/common/tel.png) center / 100% 100% no-repeat; mask: url(../img/common/tel.png) center / 100% 100% no-repeat; }

/* =========================================================
   2026-09-30 追加：ヘッダーメニュー（英語→日本語に回転）／TOPのローディング・ヘッダー・キャッチ
   ========================================================= */
/* メニュー：ふだんは英語、カーソルを乗せると上へくるっと回って日本語 */
.hd-flip { display: block; min-width: 10.4rem; perspective: 40rem; } /* 日本語の長さに合わせて同じ幅にそろえ、等間隔に並べる */
.header__nav { gap: .4rem; }
.hd-flip__in { display: grid; transform-style: preserve-3d; transition: transform .55s cubic-bezier(.3, 1.4, .5, 1); }
.hd-flip__in > span { grid-area: 1 / 1; text-align: center; backface-visibility: hidden; -webkit-backface-visibility: hidden; transform: translateZ(1.75rem); white-space: nowrap; }
.hd-flip__ja { font-size: 1.7rem; }
.hd-flip__en { font-family: "Barlow", sans-serif; font-weight: 500; font-size: 1.8rem; letter-spacing: .06em; }
.hd-flip__ja { transform: rotateX(-90deg) translateZ(1.75rem) !important; }
.hd-flip:hover .hd-flip__in, .hd-flip:focus-visible .hd-flip__in { transform: rotateX(90deg); }
.header__nav .hd-flip::after { display: none; }

/* ローディング：とても薄いベージュの上にロゴ → ロゴが左上へ移り、幕が消える */
.loader { display: none; }
html.js:not(.no-loader) .loader { display: block; position: fixed; inset: 0; z-index: 300; pointer-events: none; }
.loader__bg { position: absolute; inset: 0; background: #f8f4ec; box-shadow: 0 1.2rem 3rem rgba(35, 30, 25, .12); }
.loader__logo { position: fixed; left: 50%; top: 50%; width: 41.7rem; height: auto; margin: -6.6rem 0 0 -20.85rem; opacity: 0; } /* ヘッダーのロゴ（13.9rem）の約3倍 */
html.js:not(.no-loader) .header--top .header__logo { visibility: hidden; } /* ローディングがあるTOPだけ、最初はロゴを隠す */

/* TOPのヘッダー：最初はロゴだけ。少しスクロールすると、帯とメニュー・ボタンが出る */
html.js .header--top { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
html.js .header--top .header__nav, html.js .header--top .header__cta, html.js .header--top .menu-btn { opacity: 0; transform: translateY(-1.2rem); pointer-events: none; transition: opacity .5s, transform .6s cubic-bezier(.2, .9, .3, 1); }
html .header--top.is-shown { background: rgba(255, 255, 255, .62); -webkit-backdrop-filter: blur(1.4rem) saturate(1.5); backdrop-filter: blur(1.4rem) saturate(1.5); }
html .header--top.is-shown .header__nav, html .header--top.is-shown .header__cta, html .header--top.is-shown .menu-btn, html.is-menu-open .header--top .menu-btn { opacity: 1; transform: none; pointer-events: auto; }
.header--top.is-shown .header__cta { transition-delay: .08s; }

/* キャッチの入れ物：画面の横幅いっぱい（中の文字はイラレで作った画像＝下の .kc-img） */
.kv__catch--c { left: 0; right: 0; top: 12rem; width: auto; height: 60rem; pointer-events: none; }
@media (max-width: 767px) {
  .loader__logo { width: 27rem; margin: -4.27rem 0 0 -13.5rem; } /* ヘッダーのロゴ（9rem）の3倍 */
  .kv__catch--c { top: 7.6rem; height: 30rem; }
}

/* 人形は前面の切り抜き画像で、キャッチの文字の上に重なる */
.kv__front { pointer-events: none; }
.kv__catch--sky { top: 0; height: 60rem; }

/* キャッチ（イラレで作った文字）：PCは横書きを空の中央に、SPは縦書きを右側に */
.kv__catch--sky .kc-img img { position: absolute; inset: auto; left: calc(50% - 47rem); top: 26rem; width: 94rem; height: auto; }
@media (max-width: 767px) {
  .kv__catch--sky .kc-img img { left: auto; right: 2.6rem; top: 10.6rem; width: 12.5rem; } /* 左の列が、赤い台の下の雲に少しかかる（雲は前面画像） */
}

/* TOPはヘッダーが透明なので、MVの画像を画面のいちばん上から敷く */
.kv__img { top: 0; height: 149.2rem; }
.kv__img img { margin-top: 0; }
@media (max-width: 767px) { .kv__img { top: 0; height: 93.46rem; } }

/* WordPressでログイン中：上の管理バー（黒い帯）の下にヘッダーを出す（お客様には管理バーは出ない） */
body.admin-bar .header, body.admin-bar .sp-menu { top: 32px; }
@media (max-width: 782px) { body.admin-bar .header, body.admin-bar .sp-menu { top: 46px; } }
