@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@500&family=Montserrat:wght@700&display=swap");
section + section {
  margin-top: clamp(40px, 10vw, 80px);
}

.client-list::after {
  content: "ほか［五十音順］";
  margin-left: 0.5em;
}
.client-list > li {
  display: inline;
}
.client-list > li + li::before {
  content: "/";
  margin: 0 0.3em;
}

.philosophy-list {
  padding-left: 0;
  line-height: 1.6;
  list-style: none;
}
.philosophy-list > li {
  display: flex;
  align-items: baseline;
}
.philosophy-list > li::before {
  content: "一、";
}
.philosophy-list > li + li {
  margin-top: 0.5em;
}

.section-body .img-box {
  max-width: 410px;
  width: 100%;
}
.section-body .txt-box {
  max-width: 582px;
  width: 100%;
}
.section-body .col-box {
  width: min(498px, 100%);
}
@media screen and (max-width: 767px) {
  .section-body .col-box + .col-box {
    margin-top: 2em;
  }
  .section-body .img-box {
    margin: auto;
  }
  .section-body .txt-box {
    margin-top: 1.5em;
  }
  .section-body .iso-box {
    margin-top: 1em;
  }
}
@media screen and (min-width: 768px) {
  .section-body {
    display: flex;
    justify-content: space-between;
  }
  .section-body .img-box {
    width: 40.0390625%;
  }
  .section-body .txt-box {
    width: 56.8359375%;
  }
}

.name-box {
  padding-left: 1.2em;
  font-size: clamp(1.4rem, 0.9139240506rem + 0.6329113924vw, 1.8rem);
  font-weight: 600;
  line-height: 1.2;
  border-left: clamp(3px, 0.4vw, 6px) solid var(--company-color);
}

.department-box {
  margin-top: 2em;
  padding: clamp(30px, 8vw, 50px) clamp(20px, 5.3333333333vw, 40px);
  background: #fbe7cc;
  border-radius: clamp(15px, 4vw, 30px);
}
.department-box .box-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: clamp(2rem, 1.2708860759rem + 0.9493670886vw, 2.6rem);
}

.department-list {
  margin-top: 1em;
}
.department-list > li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.department-list > li:last-child {
  position: relative;
}
.department-list .img-box {
  position: relative;
  margin: auto;
  max-width: 200px;
}
.department-list .img-box .package-img {
  position: absolute;
  top: 50%;
  right: 0;
  width: 26.2886597938%;
  transform: translateY(-50%);
  filter: drop-shadow(4px 13px 4px rgba(0, 0, 0, 0.25));
}
.department-list .img {
  width: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.department-list .img img {
  width: 100%;
}
.department-list .txt-box {
  margin-top: 1em;
  text-align: center;
}
.department-list .txt-box .title {
  font-size: clamp(1.6rem, 1.1139240506rem + 0.6329113924vw, 2rem);
  line-height: 1.4;
}
.department-list .txt-box p {
  margin-top: 0.5em;
  font-size: 1.4rem;
  line-height: 1.6;
}
.department-list .plus {
  position: relative;
  width: 25px;
  height: 25px;
}
.department-list .plus::before, .department-list .plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  border-radius: 3px;
  background: var(--company-color);
  transform: translateY(-50%);
}
.department-list .plus::after {
  transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 639px) {
  .department-list > li + li {
    margin-top: 2em;
  }
  .department-list > li:last-child .img-box {
    margin-top: 2em;
  }
}
@media screen and (min-width: 640px) {
  .department-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (min-width: 640px) and (max-width: 1023px) {
  .department-list > li {
    width: 31%;
  }
  .department-list > li + li {
    margin-left: 3.5%;
  }
  .department-list > li:last-child {
    margin-top: 1em;
    margin-left: 0;
  }
  .department-list > li:last-child .img-box {
    margin-top: 1em;
  }
}
@media screen and (min-width: 1024px) {
  .department-list > li {
    max-width: 194px;
    width: 20.5508474576%;
  }
  .department-list > li + li {
    margin-left: 2.5423728814%;
  }
  .department-list > li:last-child {
    position: relative;
    max-width: none;
    width: 30.0847457627%;
    padding-left: 9.5338983051%;
  }
  .department-list .plus {
    position: absolute;
    top: 30%;
    left: 7.0422535211%;
  }
}

.iso-box {
  padding: 1em;
  text-align: center;
  border: 1px solid #666;
}
.iso-box .img {
  margin: auto;
  width: min(350px, 100%);
  border: 1px solid var(--main-color);
}
.iso-box p {
  line-height: 1.6;
}

.map-box {
  position: relative;
  width: 100%;
  height: 320px;
}
.map-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 639px) {
  .access-block .access-box + .access-box {
    margin-top: 1.5em;
  }
}
@media screen and (min-width: 640px) {
  .access-block {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(496px, 1fr));
    gap: 1.5em 3.125%;
    grid-auto-flow: dense;
  }
}

.pamphlet-block {
  align-items: center;
}
.pamphlet-block .img-box img {
  margin: auto;
}
.pamphlet-block .button {
  max-width: 320px;
}
@media screen and (max-width: 767px) {
  .pamphlet-block .txt-box {
    margin-inline: auto;
  }
  .pamphlet-block .button {
    margin: auto;
  }
}
