@charset "utf-8";
/*======================================================================
Project Name    : All is well Project
Project URL     : https://yasuko213.jp/
File Name       : WebSite css Template
Encoding        : UTF-8
Creation Date   : 2026/02/13

Copyright © 2023 All is well. All rights reserved.

This source code or any portion thereof must not be
reproduced or used in any manner whatsoever.
======================================================================*/
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
:root {
  /* デザインデータの横幅 */
  --design-width: 1920;
  --vw-unit: min(calc(100vw / var(--design-width)), 1px);
  /* contentの幅を指定*/
  --content-full-width: 100vw;
  --content-width: 1280px; /*基本のコンテンツ幅*/
  --content-large-width: 1.156; /* 1480px */
  /* --content-middle-width: 0.9; 幅の狭いコンテンツ幅（割合） */
  --content-small-width: 0.5625; /* 720px */
  --content-padding-width: clamp(2.3rem, 2vw, 3rem);

  /* 色指定 */
  --color-main: #a5862a;
  --color-sub1: #efe7d1;
  --color-sub2: #dddddd;
  /*--color-sub3: #00bbf9;
  --color-sub4: #00f5d4; */
  --color-white: #fff;
  --color-lightgray: #777777;
  /* --color-gray: #999; */
  /* --color-darkgray: #333; */
  --color-black: #1a1311;

  /* --- 基本設定 --- */
  --font-size: clamp(
    1.4rem,
    0.13vw + 1.35rem,
    1.6rem
  ); /* スマホ14px 〜 PC16px */

  /* --- 見出し系：縮尺を一定のルールで統一 --- */
  /* h1: スマホ28px 〜 PC48px (可変幅が大きいためvwを調整) */
  --font-h1: clamp(2.8rem, 1.29vw + 2.32rem, 4.8rem);

  /* h2: スマホ24px 〜 PC40px */
  --font-h2: clamp(2.4rem, 1.03vw + 2.01rem, 4rem);

  /* h3: スマホ22px 〜 PC32px */
  --font-h3: clamp(2.2rem, 0.65vw + 1.96rem, 3.2rem);

  /* h4: スマホ20px 〜 PC28px */
  --font-h4: clamp(2rem, 0.52vw + 1.81rem, 2.8rem);

  /* h5: スマホ18px 〜 PC24px */
  --font-h5: clamp(1.8rem, 0.39vw + 1.65rem, 2.4rem);

  /* h6: スマホ16px 〜 PC20px */
  --font-h6: clamp(1.6rem, 0.26vw + 1.5rem, 2rem);

  /* --- 汎用サイズ（追加分との整合性をとったもの） --- */
  /* 大きめのキャッチコピー用：スマホ24px 〜 PC36px */
  --text-l: clamp(2.4rem, 0.77vw + 2.11rem, 3.6rem);

  /* 少し目立たせたい文字用：スマホ18px 〜 PC22px */
  --text-m: clamp(1.8rem, 0.26vw + 1.7rem, 2.2rem);

  /* 20px用：スマホ16px 〜 PC20px（h6と同じに統合すると管理が楽です） */
  --text-20: clamp(1.6rem, 0.26vw + 1.5rem, 2rem);

  /* 18px用：スマホ15px 〜 PC18px */
  --text-18: clamp(1.5rem, 0.19vw + 1.43rem, 1.8rem);
  /* 15px用：スマホ13px(1.3rem) 〜 PC15px(1.5rem) */
  --text-15: clamp(1.3rem, 0.13vw + 1.25rem, 1.5rem);
  /* 注釈用：14px固定 */
  --text-s: 1.4rem;
}
/* @media (width < 1024px) {
  html {
    background: #e38bf7;
  }
}
@media (width < 768px) {
  html {
    background: #8bf7e3;
  }
}
@media (width <= 520px) {
  html {
    background: #f8e58c;
  }
} */
html {
  color: var(--color-black);
  font-family: "Noto Sans JP", "Inter", sans-serif;
  font-size: 62.5%;
  font-weight: normal;
  line-height: 1.8;
  scroll-behavior: smooth;
}

body {
  font-size: var(--font-size);
  font-weight: 400;
}
* {
  box-sizing: border-box;
}
a:hover {
  opacity: 0.8;
}
/* Color */
.color-main {
  color: var(--color-main);
}
.color-sub1 {
  color: var(--color-sub1);
}
.color-sub2 {
  color: var(--color-sub2);
}
.color-sub3 {
  color: var(--color-sub3);
}
.color-sub4 {
  color: var(--color-sub4);
}
.color-white {
  color: var(--color-white);
}
.color-gray {
  color: var(--color-gray);
}
.color-lightgray {
  color: var(--color-lightgray);
}
.color-darkgray {
  color: var(--color-darkgray);
}
.color-black {
  color: var(--color-black);
}
.bg-main {
  background-color: var(--color-main);
}
.bg-sub1 {
  background-color: var(--color-sub1);
}
.bg-sub2 {
  background-color: var(--color-sub2);
}
.bg-sub3 {
  background-color: var(--color-sub3);
}
.bg-sub4 {
  background-color: var(--color-sub4);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-gray {
  background-color: var(--color-gray);
}
.bg-lightgray {
  background-color: var(--color-lightgray);
}
.bg-darkgray {
  background-color: var(--color-darkgray);
}
.bg-black {
  background-color: var(--color-black);
}
/* Image */
img,
picture {
  display: block;
  font-size: 0;
  width: 100%;
  height: auto;
}
/* FlexItem */
.d-flex {
  display: flex;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.align-center {
  align-items: center;
}
.align-start {
  align-items: flex-start;
}
.align-end {
  align-items: flex-end;
}
/* FontSize */
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}
h1 {
  font-size: var(--font-h1);
}
h2 {
  font-size: var(--font-h2);
}
h3 {
  font-size: var(--font-h3);
}
h4 {
  font-size: var(--font-h4);
}
h5 {
  font-size: var(--font-h5);
}
h6 {
  font-size: var(--font-h6);
}
p {
  font-size: var(--font-size);
}
.txt-l {
  font-size: var(--text-l);
}
.txt-m {
  font-size: var(--text-m);
}
.txt-s {
  font-size: var(--text-s);
}
.ta-l {
  text-align: left;
}
.ta-c {
  text-align: center;
}
.ta-r {
  text-align: right;
}
.font-inter {
  font-family: "Inter", sans-serif;
}
/* TextItem */
a {
  color: inherit;
  text-decoration: none;
}
/* Position */
.pos-rel {
  position: relative;
}
.pos-abs {
  position: absolute;
}
.pos-fix {
  position: fixed;
}
/* Margin Padding */
.mt-0 {
  margin-top: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.ml-0 {
  margin-left: 0 !important;
}
.mr-0 {
  margin-right: 0 !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
/* Display */
.pc-only {
  display: inline-block;
}
.sp-only {
  display: none;
}
@media (width <=520px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}

/* MainKV */
.main-kv {
  position: relative;
}
.kv-img {
}

/* ListDesign */
li,
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
}
ul li,
ol li {
  line-height: 1.6;
  position: relative;
}
ul.dot {
}
ul.dot li {
  padding-left: 1.5em;
}
ul.dot li::before {
  content: "・";
  display: inline-block;
  margin-left: -1.5em;
  margin-right: 0.3em;
}
ul.asta {
}
ul.ast li {
  padding-left: 1.5em;
}
ul.ast li::before {
  content: "※";
  display: inline-block;
  margin-left: -1.5em;
  margin-right: 0.3em;
}
ul.square {
}
ul.square li {
  padding-left: 1.5em;
}
ul.square li::before {
  content: "";
  display: inline-block;
  height: 0.8em;
  width: 0.8em;
  background: var(--color-black);
  margin-left: -1.5em;
  margin-right: 0.7em;
}
ul.num {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
ul.num li {
  padding-left: 1.5em;
}
ul.num li::before {
  counter-increment: item;
  content: counter(item) ".";
  display: inline-block;
  margin-left: -1.2em;
  margin-right: 0.3em;
}
ul.astnum {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
ul.astnum li {
  padding-left: 2em;
}
ul.astnum li::before {
  counter-increment: item;
  content: "※" counter(item);
  display: inline-block;
  margin-left: -2em;
  margin-right: 0.3em;
}
ul.alpha {
  list-style-type: none;
  padding-left: 0;
}
ul.alpha li {
  counter-increment: alpa-1;
  padding-left: 1.5em;
}
ul.alpha li::before {
  content: counter(alpa-1, upper-alpha) ".";
  display: inline-block;
  margin-left: -1.2em;
  margin-right: 0.3em;
}
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

/* Column */
.column-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 2vw;
}
.col-2575 {
  grid-template-columns: calc(25% - 1vw) calc(75% - 1vw);
}
.col-2575.rev {
  grid-template-columns: calc(75% - 1vw) calc(25% - 1vw);
}
.item-3 {
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "box-img box-cap"
    "box-img box-detail";
}
.item-3.rev {
  grid-template-areas:
    "box-cap box-img"
    "box-detail box-img";
}
.item-4 {
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "box-img box-cap"
    "box-img box-detail"
    "box-img btn-wrap";
}
.item-4.rev {
  grid-template-areas:
    " box-cap box-img"
    " box-detail box-img"
    " btn-wrap box-img";
}
.content-full .column-grid {
  grid-template-columns: 50% 1fr;
  grid-column-gap: 5vw;
  padding-right: max(
    var(--content-padding-width),
    calc((100% - var(--content-width)) / 2)
  );
}
.content-full .column-grid.rev {
  grid-template-columns: 1fr 50%;
  padding-right: 0;
  padding-left: max(
    var(--content-padding-width),
    calc((100% - var(--content-width)) / 2)
  );
}
.column-grid .col-img {
  grid-area: box-img;
  align-self: start;
}
.column-grid .col-cap {
  grid-area: box-cap;
  align-self: start;
}
.column-grid .col-detail {
  grid-area: box-detail;
  align-self: start;
}
.column-grid .btn-wrap {
  grid-area: btn-wrap;
  align-self: start;
}
.col-box .column-grid {
  grid-template-columns: 1fr;
  grid-column-gap: 0;
}
.col-box .item-3 {
  grid-template-areas:
    "box-img"
    "box-cap"
    "box-detail";
}
.col-box .item-4 {
  grid-template-areas:
    "box-img"
    "box-cap"
    "box-detail"
    "btn-wrap";
}
@media (width < 1024px) {
  .column-grid {
    grid-column-gap: 2vw;
  }
  .col-2575 {
    grid-template-columns: calc(35% - 1vw) calc(65% - 1vw);
  }
  .col-2575.rev {
    grid-template-columns: calc(65% - 1vw) calc(35% - 1vw);
  }
}
@media (width < 768px) {
  .col-2575,
  .col-2575.rev {
    grid-template-columns: 1fr 1fr;
  }
}
@media (width <=520px) {
  .content-full .column-grid,
  .content-full .column-grid.rev,
  .column-grid,
  .item-3,
  .col-2575,
  .col-2575.rev {
    grid-template-columns: 1fr;
    padding-inline: 0;
    grid-column-gap: 0;
    grid-row-gap: 2vw;
    grid-template-areas:
      "box-img"
      "box-cap"
      "box-detail";
  }
  .cap-detail-img.item-3,
  .cap-detail-img.item-3.rev {
    grid-template-areas:
      "box-cap"
      "box-detail"
      "box-img";
  }
  .cap-detail-img.item-4,
  .cap-detail-img.item-4.rev {
    grid-template-areas:
      "box-cap"
      "box-detail"
      "box-img"
      "btn-wrap";
  }
  .cap-img-detail.item-3,
  .cap-img-detail.item-3.rev {
    grid-template-areas:
      "box-cap"
      "box-img"
      "box-detail";
  }
  .cap-img-detail.item-4,
  .cap-img-detail.item-4.rev {
    grid-template-areas:
      "box-cap"
      "box-img"
      "box-detail"
      "btn-wrap";
  }
  .column-grid .col-cap {
    text-align: center;
  }
  .column-grid .col-img {
  }
  .content-full .column-grid .col-cap,
  .content-full .column-grid .col-detail,
  .content-full .column-grid .btn-wrap {
    padding-inline: var(--content-padding-width);
  }
  .column-grid .btn-wrap {
    margin-inline: auto;
  }
}
.column-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-inline: auto;
  gap: 1vw;
}
.column-wrap.rev {
  flex-direction: row-reverse;
}
.column-wrap.round {
  display: block;
}
.column-wrap.round:after {
  content: "";
  clear: both;
  display: block;
}
.column-wrap + .column-wrap {
  margin-top: 3rem;
}
.col-box {
  height: fit-content;
}

.col-5 .col-box {
  max-width: calc(100% / 5 - 1vw);
  width: 100%;
}
.col-4 .col-box {
  max-width: calc(100% / 4 - 1vw);
  width: 100%;
}
.col-3 .col-box {
  max-width: calc(100% / 3 - 1vw);
  width: 100%;
}
.col-2 .col-box {
  max-width: calc(100% / 2 - 1vw);
  width: 100%;
}
.col-box.fix-left {
  margin-left: calc((var(--content-full-width) - var(--content-width)) / -2);
}
.col-box.fix-right {
  margin-right: calc((var(--content-full-width) - var(--content-width)) / -2);
}
.content-middle .col-box.fix-left {
  margin-left: calc(
    (
        var(--content-full-width) -
          (var(--content-width) * var(--content-middle-width))
      ) /
      -2
  );
}
.content-middle .col-box.fix-right {
  margin-right: calc(
    (
        var(--content-full-width) -
          (var(--content-width) * var(--content-middle-width))
      ) /
      -2
  );
}
@media (width < 1200px) {
  .col-box.fix-left,
  .content-middle .col-box.fix-left {
    margin-left: calc(var(--content-padding-width) * -1);
  }
  .col-box.fix-right,
  .content-middle .col-box.fix-right {
    margin-right: calc(var(--content-padding-width) * -1);
  }
}
@media (width <=520px) {
  .col-box.fix-left,
  .content-middle .col-box.fix-left {
    margin-left: unset;
  }
  .col-box.fix-right,
  .content-middle .col-box.fix-right {
    margin-right: unset;
  }
  .full-mid .col-box.full.left,
  .full-mid .col-box.full.right {
    padding: 0;
    margin: 0;
  }
  .full-mid .col-box.mid.left,
  .full-mid .col-box.mid.right {
    padding-inline: var(--content-padding-width);
    margin: 0;
    box-sizing: border-box;
  }
}
.col-box.w-80 {
  box-sizing: border-box;
  max-width: calc(100% / 4 * 0.8);
}
.box-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.round .col-s-box-l {
  float: left;
  margin-right: 2vw;
  margin-top: 0.5em;
}
.round.rev .col-s-box-l {
  float: right;
  margin-right: 0;
  margin-left: 2vw;
}
.col-box p.col-box-cap {
  font-weight: bold;
  margin-bottom: 0;
  margin-top: -0.4em;
}
.col-s-box-l {
  max-width: 25%;
  width: 100%;
}

.col-s-box-l .col-box-img {
  margin-bottom: 0;
}
.col-s-box-r {
  margin-left: 2vw;
  max-width: calc(100% - 25% - 2vw);
}
.rev .col-s-box-r {
  margin-left: 0;
  margin-right: 2vw;
}
.round .col-s-box-r {
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.round.rev .col-s-box-r {
  max-width: 100%;
  margin-right: 2vw;
  margin-left: 0;
}
/* Table */
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  box-sizing: border-box;
  margin-top: -1px;
}
table th,
table td {
  word-break: break-all;
  box-sizing: border-box;
}
/* default */
.com-table-default {
  /* border-top: solid 1px var(--color-lightgray); */
}
.com-table-default th,
.com-table-default td {
  text-align: left;
  padding: 2vw;
  border-bottom: solid 1px var(--color-lightgray);
  vertical-align: top;
  word-break: break-all;
  /* background-color: var(--color-white); */
}
.com-table-default th {
  width: 15vw;
  font-weight: bold;
  padding-left: 2vw;
}
/* horizontal */
.com-table-horizontal tr:first-child th,
.com-table-horizontal td {
  border-top: solid 1px var(--color-lightgray);
}
.com-table-horizontal th,
.com-table-horizontal td {
  text-align: left;
  padding: 2vw 4vw;
  border-bottom: solid 1px var(--color-lightgray);
  border-left: solid 1px var(--color-lightgray);
  border-right: solid 1px var(--color-lightgray);
  vertical-align: top;
  word-break: break-all;
}
.com-table-horizontal th {
  width: 20vw;
  font-weight: bold;
}
/* horizontal th auto */
.com-table-horizontal-th-auto tr:first-child th,
.com-table-horizontal-th-auto td {
  border-top: solid 1px #ddd;
}
.com-table-horizontal-th-auto th,
.com-table-horizontal-th-auto td {
  text-align: left;
  padding: 20px 40px;
  border-bottom: solid 1px #ddd;
  vertical-align: top;
  word-break: break-all;
}
.com-table-horizontal-th-auto th {
  width: auto;
  font-weight: bold;
  background-color: #f6f6f6;
}
.com-table-horizontal-th-auto td {
  background-color: #fff;
}
/* vertical */
.com-table-vertical {
  border-top: solid 1px #ddd;
  border-left: solid 1px #ddd;
  table-layout: fixed;
}
.com-table-vertical {
  border-top: solid 1px #ddd;
  border-left: solid 1px #ddd;
  table-layout: fixed;
}
.com-table-vertical th,
.com-table-vertical td {
  text-align: left;
  padding: 2vw;
  border-bottom: solid 1px #ddd;
  border-right: solid 1px #ddd;
  vertical-align: top;
  word-break: break-all;
}
.com-table-vertical th {
  font-weight: bold;
  text-align: center;
}
@media (width < 1024px) {
}
@media (width < 768px) {
  .com-table-default th {
    width: 30vw;
  }
}
@media (width <=520px) {
  .com-table-default tr {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    width: 100%;
  }
  .com-table-default th,
  .com-table-default td {
    width: 100%;
  }
  .com-table-default th {
    border: none;
  }
  .com-table-default td {
    padding-top: 0;
  }
}

@media (width < 1024px) {
  .column-wrap {
    flex-wrap: wrap;
  }
  .column-wrap.col-4 {
  }
  .col-s-box-r,
  .col-s-box-l {
    max-width: calc(100% / 2 - 1vw);
    margin-left: 0;
    margin-right: 0;
  }
  .round .col-s-box-l {
    margin-right: 3vw;
  }
  .round.rev .col-s-box-l {
    margin-left: 3vw;
  }
  .round.rev .col-s-box-r {
    margin-right: 0;
  }
  .col-s-box-l .col-box-img {
    margin-bottom: 1em;
  }
  .col-4 .col-box {
    max-width: calc(100% / 2 - 1vw);
  }

  .col-4 .col-box.w-80 {
    max-width: calc(100% / 2 * 0.8);
    margin-inline: auto;
  }
  .table-scroll {
    overflow-x: scroll;
  }
  .table-scroll table {
    width: 1023px;
  }
  .table-scroll table {
    position: relative;
  }
  .table-scroll table::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    top: 0;
    left: 0;
    background: #ddd;
  }
  .com-table-horizontal tr {
    display: grid;
  }
  .com-table-horizontal tr,
  .com-table-horizontal th,
  .com-table-horizontal td {
    max-width: 100%;
    width: 100%;
  }
  .com-table-horizontal th {
    padding: 2vw 2vw 1vw 2vw;
    border-bottom: none;
  }
  .com-table-horizontal td {
    padding: 1vw 2vw 2vw 2vw;
    border-top: none;
  }
  .sec-top-news-inner {
    padding: 30px 0 0;
  }
  .sec-news-nav-list li {
    flex: 0 0 24%;
    font-size: 1.3rem;
  }
  .sec-news-nav-list li.double {
    flex: 0 0 100% !important;
  }
  .news-list-item {
    flex-wrap: wrap;
    font-size: 13px;
  }
  .align-c {
    margin-top: 20px;
  }
  .news-list-item {
    font-size: 1.3rem;
  }
  .sec-news-list .news-ttl:before {
    content: none;
  }
}
@media (width < 768px) {
  .col-s-box-l,
  .col-s-box-r {
    max-width: calc(100% / 2 - 1vw);
  }
  .content,
  .content-full,
  .content-small {
    padding: 2vw;
  }
  .sec-news-nav-list li {
    flex: 0 0 50%;
  }
}
@media (width <=520px) {
  .col-2 .col-box,
  .col-3 .col-box {
    max-width: 100%;
  }
}

/* Contents */
.container {
  box-sizing: border-box;
  max-width: 100vw;
  width: 100%;
}
.wrapper {
}
.wrapper + .wrapper {
}
.w-100 {
  max-width: 100%;
  width: 100%;
}
.w-50 {
  max-width: 50%;
  width: 100%;
}
.content {
  max-width: calc(var(--content-width) + var(--content-padding-width) * 2);
}
.content-full {
  max-width: 100%;
}
.content-large {
  max-width: calc(
    var(--content-width) * var(--content-large-width) +
      var(--content-padding-width) * 2
  );
}
.content-middle {
  max-width: calc(
    var(--content-width) * var(--content-middle-width) +
      var(--content-padding-width) * 2
  );
}
.content-small {
  max-width: calc(
    var(--content-width) * var(--content-small-width) +
      var(--content-padding-width) * 2
  );
}
.content,
.content-full,
.content-large,
.content-middle,
.content-small {
  box-sizing: border-box;
  width: 100%;
  padding: var(--content-padding-width);
  margin-inline: auto;
}
.content-full {
  padding: var(--content-padding-width) 0;
}
.inner {
}

/* footer */
#footer-contact {
  background: url(../img/common/bg_footer-contact@2x.png) no-repeat center
    center;
  background-size: cover;
  color: var(--color-white);
  /* 500px以下で7.5rem、1440px以上で15rem、その間は画面幅に比例して変化 */
  padding-top: clamp(7.5rem, 7.98vw + 3.51rem, 15rem);
  padding-bottom: clamp(7.5rem, 7.98vw + 3.51rem, 15rem);
}
#footer-contact .col-box {
  max-width: fit-content;
}
#footer-contact .col-box.d-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.footer-contact-ttl {
  display: inline-block;
  padding: 0.8em 1.2em;
  background: var(--color-main);
  margin-bottom: clamp(3rem, 2.82vw + 1.94rem, 6rem);
}
.footer-contact-ttl h2 {
  font-size: clamp(1.5rem, 0.47vw + 1.32rem, 2rem);
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.23em;
}
.footer-contact-ttl .font-inter {
  font-size: clamp(2.8rem, 0.75vw + 2.52rem, 3.6rem);
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-right: 0.5em;
}
.footer-contact-note {
  font-size: 1.125em;
  letter-spacing: 0.075em;
  font-weight: bold;
}
.footer-contact-tel span {
  font-size: clamp(1.5rem, 1.97vw + 0.76rem, 3.6rem);
  letter-spacing: 0.08em;
}
.footer-contact-tel {
  font-family: "Inter", sans-serif;
  font-size: clamp(3.5rem, 4.23vw + 1.91rem, 8rem);
  letter-spacing: 0.065em;
  line-height: 1;
  margin-top: 0.6em;
  margin-bottom: 8px;
}
.footer-contact-time {
  font-weight: normal;
  letter-spacing: 0.1em;
}
#footer-company {
  /* 500px以下で8rem、1440px以上で16rem、その間は画面幅に比例して可変 */
  padding-top: clamp(8rem, 8.51vw + 3.47rem, 16rem);
}
#footer-company .col-box {
  max-width: fit-content;
  margin-top: auto;
}
#recruit #footer-company .col-box {
  margin-top: unset;
}
#footer-company .col-box p {
  font-size: 1.125em;
  letter-spacing: 0.085em;
  line-height: 1.5;
}

.footer-logo {
  width: 46rem;
  margin-bottom: 2.5rem;
}
.footer-link {
  display: inline-block;

  margin-top: 1em;
  position: relative;
}
.footer-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-black);
  position: absolute;
  bottom: 0;
}
.footer-link::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  background: url(../img/common/icon_footer-link.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.5em;
}
small.footer-copyright {
  display: block;
  text-align: right;
  font-size: 0.81em;
  color: #aaa;
  margin-top: clamp(3.5rem, 4.23vw + 1.91rem, 8rem);
  letter-spacing: 0.14em;
}
@media (width < 1440px) {
  #footer-contact .col-box.d-flex {
    margin-inline: auto;
  }
  #footer-company .col-box:nth-of-type(2),
  #recruit #footer-company .col-box:nth-of-type(2) {
    margin-top: 5rem;
    margin-inline: auto;
  }
}
@media (width < 768px) {
  .footer-logo {
    max-width: 100%;
    width: 80%;
  }
}

#footer-menu {
  display: grid;
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: repeat(3, auto);
  grid-auto-flow: column;
  column-gap: 2.5em;
  row-gap: 0.8em;
  font-size: 1.8rem;
  font-weight: bold;
}
#footer-menu li a,
#footer-menu li .fake-link {
  display: flex; /* 横並びにする */
  align-items: center; /* 上下中央を揃える */
  text-decoration: none;
  color: inherit;
  letter-spacing: 0.08em;
}
#footer-menu li a::before,
#footer-menu li .fake-link::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 2px;
  background: #a5862a;
  opacity: 0.5;
}
@media (width < 768px) {
  #footer-menu {
    column-gap: 2vw;
  }

  [id^="footer-recruit-"] {
    font-size: 1.6rem;
  }
}
@media (width < 500px) {
  #footer-menu {
    grid-template-rows: repeat(4, auto);
    grid-template-columns: repeat(2, auto);
    gap: 3vw;
  }
  #footer-menu li.menu-item a,
  #footer-menu li.menu-item .fake-link {
    font-size: 15px;
  }
}
