.fv-container {
  position: relative;
  min-height: calc(100vw * 743 / 1440);
  background-image: url(assets/image/fv-background.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.fv-wrapper {
  width: min(calc(100vw * 1366 / 1440), 100%);
  margin: 0 auto;
}

.fv-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(6, 42, 82, 0.5);
}

.fv-title {
  font-size: calc(100vw * 135 / 1440);
  /*
  line-height: 155%;
  */
  line-height: 130%;
  text-align: left;
  letter-spacing: -0.05em;
  text-shadow: calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 2 / 1440) rgba(0, 0, 0, 0.25);
  color: rgba(255, 255, 255, 1);
  font-family:
    "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

@media (min-width: 769px) {
  .fv-title-sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .fv-title-pc {
    display: none;
  }

  .fv-container {
    position: relative;
    min-height: calc(100vw * 400 / 375);
    background-image: url(assets/image/fv-background.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .fv-wrapper {
    width: 100%;
  }

  .fv-title {
    /*font-size: calc(100vw * 63 / 375);*/
	font-size: calc(100vw * 45 / 375);
    line-height: 160%;
    text-align: left;
    letter-spacing: -0.05em;
    text-shadow: calc(100vw * 4 / 375) calc(100vw * 4 / 375)
      calc(100vw * 2 / 375) rgba(0, 0, 0, 0.25);
  }

  .fv-title span {
    font-size: calc(100vw * 48 / 375);
  }
}

.section-title {
  font-size: calc(100vw * 36 / 1440);
  font-weight: 700;
  line-height: 1.4;
  color: rgba(6, 42, 82, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.section-title-dark {
  font-size: calc(100vw * 36 / 1440);
  font-weight: 700;
  line-height: 1.4;
  color: rgba(255, 255, 255, 1);
}

.section-title-center {
  font-size: calc(100vw * 36 / 1440);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: rgba(6, 42, 82, 1);
}

.more-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(100vw * 10 / 1440);
  min-width: calc(100vw * 280 / 1440);
  height: calc(100vw * 50 / 1440);
  border: calc(100vw * 1 / 1440) solid rgba(40, 71, 107, 1);
  border-radius: calc(100vw * 22 / 1440);
  font-size: calc(100vw * 16 / 1440);
  color: rgba(40, 71, 107, 1);
  background-color: rgba(255, 255, 255, 0.7);
  font-weight: 700;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.more-button:hover {
  transform: translateY(-2px);
  box-shadow: calc(100vw * 6 / 1440) calc(100vw * 6 / 1440)
    calc(100vw * 8 / 1440) 0 rgba(0, 0, 0, 0.4);
}

.more-arrow {
  font-size: calc(100vw * 15 / 1440);
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.more-arrow svg {
  width: 1em;
  height: 1em;
}

@media (max-width: 768px) {
  .section-title {
    font-size: calc(100vw * 24 / 375);
  }

  .section-title-dark {
    font-size: calc(100vw * 24 / 375);
  }

  .section-title-center {
    font-size: calc(100vw * 24 / 375);
  }

  .more-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(100vw * 10 / 375);
    min-width: calc(100vw * 280 / 375);
    height: calc(100vw * 50 / 375);
    border: calc(100vw * 1 / 375) solid rgba(40, 71, 107, 1);
    border-radius: 0;
    font-size: calc(100vw * 16 / 375);
  }

  .more-arrow {
    font-size: calc(100vw * 15 / 375);
  }
}

.strong-points-container {
  padding: calc(100vw * 93 / 1440) 0 calc(100vw * 125 / 1440);
  background-color: rgba(247, 249, 252, 1);
  background-image: url(assets/image/strong-point-background.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.strong-points-wrapper {
  width: min(calc(100vw * 1366 / 1440), 100%);
  margin: 0 auto;
  padding: 0 calc(100vw * 24 / 1440);
}

.strong-points-content {
  margin: auto;
  max-width: calc(100vw * 1200 / 1440);
}

.section-title {
  text-align: center;
  font-size: calc(100vw * 36 / 1440);
  font-weight: bold;
  letter-spacing: 0.1em;
}

.strong-point-cards {
  display: flex;
  align-items: stretch;
  gap: calc(100vw * 50 / 1440);
  margin: calc(100vw * 76 / 1440) 0 0;
}

.strong-point-card {
  flex: 0 0 calc(100vw * 366.5 / 1440);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 1);
}

.strong-point-image {
  height: calc(100vw * 208 / 1440);
  overflow: hidden;
}

.strong-point-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.strong-point-title {
  margin: calc(100vw * 24 / 1440) calc(100vw * 24 / 1440) 0;
  font-size: calc(100vw * 24 / 1440);
  line-height: 1.4;
  color: rgba(0, 0, 0, 1);
  font-family:
    "Zen Antique", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
}

.strong-point-text {
  margin: calc(100vw * 24 / 1440);
  font-size: calc(100vw * 16 / 1440);
  line-height: 1.85;
  color: rgba(0, 0, 0, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.strong-point-actions {
/*
  display: flex;
  justify-content: flex-end;
  margin: calc(100vw * 52 / 1440) 0 0;
*/
	display:none;
}

.strong-point-actions .more-button {
  border-radius: 0;
  box-shadow: calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 4 / 1440) 0 rgba(0, 0, 0, 0.25);
  letter-spacing: 0.03em;
}

@media (max-width: 768px) {
  .strong-points-container {
    padding: calc(100vw * 48 / 375) 0;
  }

  .strong-points-wrapper {
    padding: 0 calc(100vw * 19 / 375);
    width: 100%;
  }

  .strong-points-content {
    max-width: 100%;
  }

  .strong-point-cards {
    flex-wrap: wrap;
    gap: calc(100vw * 50 / 375);
    margin: calc(100vw * 19 / 375) 0 0;
  }

  .strong-point-card {
    width: 100%;
    flex: auto;
  }

  .section-title {
    text-align: center;
    font-size: calc(100vw * 24 / 375);
  }

  .strong-point-image {
    height: auto;
  }

  .strong-point-image img {
    width: 100%;
    height: calc(100vw * 208 / 375);
  }

  .strong-point-title {
    font-size: calc(100vw * 20 / 375);
    margin: calc(100vw * 24 / 375) calc(100vw * 24 / 375) 0;
    letter-spacing: 0.04em;
  }

  .strong-point-text {
    font-size: calc(100vw * 15 / 375);
    margin: calc(100vw * 24 / 375);
  }

  .strong-point-actions {
    margin: calc(100vw * 43 / 375) 0 0;
    justify-content: center;
  }
}

.lawyer-intro-container {
  padding: calc(100vw * 53 / 1440) 0 calc(100vw * 98 / 1440);
  background-color: rgba(255, 255, 255, 1);
}

.lawyer-intro-content {
  width: 100%;
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: calc(100vw * 40 / 1440);
  max-width: calc(100vw * 1200 / 1440);
}

.lawyer-intro-title {
  font-size: calc(100vw * 36 / 1440);
  font-weight: bold;
  color: rgba(40, 71, 107, 1);
  text-align: center;
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.lawyer-intro-area {
  display: flex;
  align-items: flex-start;
  gap: calc(100vw * 56 / 1440);
  margin: calc(100vw * 40 / 1440) 0 0;
  justify-content: center;
}

.lawyer-intro-image {
  flex: 0 0 calc(100vw * 500 / 1440);
  overflow: hidden;
  max-width: calc(100vw * 387 / 1440);
}

.lawyer-intro-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.lawyer-intro-description {
  flex: 1;
}

.lawyer-intro-actions {
  text-align: center;
}

.lawyer-intro-subtitle {
  font-size: calc(100vw * 40 / 1440);
  color: rgba(40, 71, 107, 1);
  letter-spacing: 0.2em;
  font-family:
    "Zen Antique", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.lawyer-intro-text {
  margin: calc(100vw * 30 / 1440) 0 0;
  font-size: calc(100vw * 16 / 1440);
  color: rgba(40, 71, 107, 1);
  letter-spacing: 0.2em;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.lawyer-intro-description .more-button {
  margin: calc(100vw * 36 / 1440) 0 0;
  border-radius: 0;
  box-shadow: calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 4 / 1440) 0 rgba(0, 0, 0, 0.25);
  letter-spacing: 0.03em;
}

@media (min-width: 769px) {
  .lawyer-intro-text-sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .lawyer-intro-container {
    padding: calc(100vw * 20 / 375) 0 calc(100vw * 51 / 375);
    background-color: rgba(255, 255, 255, 1);
  }

  .lawyer-intro-content {
    width: min(1366px, 100%);
    margin: 0 auto;
    padding: 0 calc(100vw * 18 / 375);
    max-width: 100%;
  }

  .lawyer-intro-title {
    font-size: calc(100vw * 24 / 375);
    font-weight: bold;
    color: rgba(40, 71, 107, 1);
    text-align: center;
  }

  .lawyer-intro-area {
    flex-wrap: wrap;
    gap: calc(100vw * 0 / 375);
    margin: calc(100vw * 20 / 375) 0 0;
    justify-content: center;
  }

  .lawyer-intro-image {
    flex: auto;
    overflow: hidden;
    max-width: 100%;
  }
  .lawyer-intro-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    object-position: center 20%;
  }

  .lawyer-intro-description {
    flex: 1;
  }

  .lawyer-intro-subtitle {
    font-size: calc(100vw * 25 / 375);
    letter-spacing: 0.03em;
    padding: calc(100vw * 10 / 375) 0 0;
  }

  .lawyer-intro-text {
    margin: calc(100vw * 30 / 375) 0 0;
    font-size: calc(100vw * 14 / 375);
    letter-spacing: normal;
  }

  .lawyer-intro-text-pc {
    display: none;
  }

  .lawyer-intro-description .more-button {
    margin: calc(100vw * 38 / 375) 0 0;
    border-radius: 0;
    box-shadow: calc(100vw * 4 / 375) calc(100vw * 4 / 375)
      calc(100vw * 4 / 375) 0 rgba(0, 0, 0, 0.25);
  }
}

.testimonial-container {
  padding: calc(100vw * 52 / 1440) 0 calc(100vw * 94 / 1440);
  background-image: url(assets/image/testimonial-background.webp);
}

.testimonial-wrapper {
  margin: 0 auto;
  padding: 0 calc(100vw * 24 / 1440);
}

.testimonial-content {
  width: 100%;
}

.testimonial-title {
  font-size: calc(100vw * 36 / 1440);
  font-weight: bold;
  text-align: center;
  color: rgba(255, 255, 255, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.testimonial-subtitle {
  margin-top: calc(100vw * 16 / 1440);
  font-size: calc(100vw * 16 / 1440);
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9);
}

.testimonial-cards {
  display: flex;
  flex-direction: column;
  gap: calc(100vw * 31 / 1440);
  margin: calc(100vw * 32 / 1440) 0 0;
}

.testimonial-card {
  display: flex;
  align-items: stretch;
  gap: calc(100vw * 2 / 1440);
  background-color: rgba(255, 255, 255, 1);
  max-width: calc(100vw * 1200 / 1440);
  margin: 0 auto;
}

.testimonial-card:nth-child(even) {
  flex-direction: row-reverse;
}

.testimonial-card-image {
  flex: 0 0 calc(100vw * 441 / 1440);
  overflow: hidden;
}

.testimonial-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-card-description {
  flex: 1;
  padding: calc(100vw * 27 / 1440) calc(100vw * 25 / 1440)
    calc(100vw * 6 / 1440) calc(100vw * 2 / 1440);
  margin: 0 auto;
  width: calc(100vw * 759 / 1440);
}

.testimonial-card:nth-child(even) .testimonial-card-description {
  padding: calc(100vw * 26 / 1440) calc(100vw * 2 / 1440)
    calc(100vw * 30 / 1440) calc(100vw * 25 / 1440);
}

.testimonial-card-text {
  font-size: calc(100vw * 24 / 1440);
  font-weight: bold;
  color: rgba(40, 71, 107, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.testimonial-divider {
  margin: calc(100vw * 24 / 1440) 0;
  border: none;
  border-top: calc(100vw * 1 / 1440) solid rgba(0, 0, 0, 1);
}

.testimonial-card-author {
  font-size: calc(100vw * 16 / 1440);
  color: rgba(0, 0, 0, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.testimonial-card-company {
  margin: calc(100vw * 28 / 1440) 0 0;
  font-size: calc(100vw * 16 / 1440);
  font-weight: bold;
  color: rgba(40, 71, 107, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

@media (min-width: 769px) {
  .testimonial-card-image-sp,
  .testimonial-card-text-sp,
  .testimonial-card-company-sp {
    display: none;
  }
	.testimonial-container-sp{
		display:none;
	}
}

@media (max-width: 768px) {
	.testimonial-container-pc{
		display:none;
	}
  .testimonial-card-image-pc,
  .testimonial-card-text-pc {
    display: none;
  }

  .testimonial-container {
    padding: calc(100vw * 39 / 375) 0 calc(100vw * 47 / 375);
    background-image: url(assets/image/testimonial-background.webp);
  }

  .testimonial-wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  .testimonial-content {
    width: 100%;
  }

  .testimonial-title {
    font-size: calc(100vw * 24 / 375);
    font-weight: bold;
    text-align: center;
    color: rgba(255, 255, 255, 1);
    padding: calc(100vw * 10 / 375) 0;
  }

  .testimonial-subtitle {
    margin-top: calc(100vw * 16 / 375);
    font-size: calc(100vw * 16 / 375);
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
  }

  .testimonial-cards {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 36 / 375);
    margin: calc(100vw * 52 / 375) 0 0;
  }

  .testimonial-card {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0;
    background-color: transparent;
    max-width: 100%;
  }

  .testimonial-card:nth-child(even) {
    flex-direction: row-reverse;
  }

  .testimonial-card-image {
    flex: 0 0 calc(100vw * 358 / 375);
    overflow: hidden;
  }

  .testimonial-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .testimonial-card-description {
    flex: 1;
    padding: calc(100vw * 34 / 375) calc(100vw * 19 / 375)
      calc(100vw * 24 / 375);
    background: #ffffff;
  }

  .testimonial-card:nth-child(even) .testimonial-card-description {
    padding: calc(100vw * 18 / 375);
  }

  .testimonial-card-text {
    font-size: calc(100vw * 20 / 375);
  }

  .testimonial-cards .testimonial-card:last-child .testimonial-card-text {
    letter-spacing: -0.01em;
  }

  .testimonial-divider {
    margin: calc(100vw * 24 / 375) 0;
    border: none;
    border-top: calc(100vw * 1 / 375) solid rgba(0, 0, 0, 1);
  }

  .testimonial-card-author {
    font-size: calc(100vw * 14 / 375);
  }

  .testimonial-card-company {
    margin: calc(100vw * 24 / 375) 0 0;
    font-size: calc(100vw * 16 / 375);
  }
}
.cases-container {
  padding: calc(100vw * 60 / 1440) 0 calc(100vw * 106 / 1440);
  background-color: rgba(240, 242, 250, 1);
}

.cases-wrapper {
  width: min(1366px, 100%);
  margin: 0 auto;
  max-width: calc(100vw * 1200 / 1440);
}

.cases-content {
  width: 100%;
}

.cases-title {
  font-size: calc(100vw * 36 / 1440);
  font-weight: bold;
  text-align: center;
  color: rgba(40, 71, 107, 1);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.cases-slider {
  display: flex;
  align-items: center;
  gap: calc(100vw * 24 / 1440);
  margin: calc(100vw * 26 / 1440) 0 0;
}

.cases-slider-arrow {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100vw * 44 / 1440);
  height: calc(100vw * 44 / 1440);
  border: none;
  border-radius: 50%;
  font-size: calc(100vw * 16 / 1440);
  color: rgba(255, 255, 255, 1);
  background-color: rgba(40, 71, 107, 1);
  box-shadow: calc(100vw * 3 / 1440) calc(100vw * 3 / 1440)
    calc(100vw * 2 / 1440) 0 rgba(0, 0, 0, 0.25);
  cursor: pointer;
	transition:0.3s;
}

.cases-slider-arrow:hover{
	opacity:0.3;
	transition:0.3s;
}

.cases-slider-arrow .more-button {
  font-size: calc(100vw * 10 / 1440);
  line-height: 1;
  color: rgba(255, 255, 255, 1);
}

.cases-slider-viewport {
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.cases-slider-track {
  display: flex;
  width: 100%;
  transform: translateX(0);
  transition: transform 0.45s ease;
  will-change: transform;
}

.cases-slide {
  flex: 0 0 100%;
  min-width: 0;
}

.cases-slider-card {
  width: 100%;
  display: flex;
	background:#ffffff;
  padding: calc(100vw * 24 / 1440);
  max-width: calc(100vw * 1063 / 1440);
  margin: 0 auto;
}

.cases-slider-card-image {
  flex: 0 0 calc(100vw * 428 / 1440);
  overflow: hidden;
  max-height: calc(100vw * 324 / 1440);
  margin: calc(100vw * 55 / 1440) 0;
}

.cases-slider-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cases-slider-card-description {
  flex: 1;
  padding: calc(100vw * 24 / 1440);
}

.cases-slider-card-tags {
  display: flex;
  gap: calc(100vw * 24 / 1440);
}

.cases-slider-card-tag {
  display: inline-block;
  padding: calc(100vw * 4 / 1440) calc(100vw * 12 / 1440);
  font-size: calc(100vw * 14 / 1440);
  background-color: rgba(40, 71, 107, 1);
  color: rgba(255, 255, 255, 1);
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.cases-slider-card-subtitle {
  margin: calc(100vw * 24 / 1440) 0 0;
  font-size: calc(100vw * 24 / 1440);
  color: rgba(0, 0, 0, 1);
  font-family:
    "Zen Antique", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.cases-slider-divider {
  margin: calc(100vw * 24 / 1440) 0;
  border: none;
  border: calc(100vw * 1 / 1440) solid rgba(40, 71, 107, 1);
}

.cases-slider-card-text {
  font-size: calc(100vw * 14 / 1440);
  line-height: 1.8;
  color: rgba(0, 0, 0, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.cases-note {
  margin: calc(100vw * 26 / 1440) 0 0;
  font-size: calc(100vw * 15 / 1440);
  font-weight: bold;
  text-align: center;
  color: rgba(0, 0, 0, 1);
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.cases-actions {
  display: flex;
  justify-content: center;
  margin: calc(100vw * 26 / 1440) 0 0;
}

@media (min-width: 769px) {
  .cases-slider-nav {
    display: none;
  }

  .cases-slider-card-sp {
    display: block;
  }

  .cases-note-sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .cases-container {
    padding: calc(100vw * 26 / 375) 0 calc(100vw * 22 / 375);
  }

  .cases-wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0 calc(100vw * 18 / 375);
    max-width: 100%;
  }

  .cases-content {
    width: 100%;
  }

  .cases-title {
    font-size: calc(100vw * 24 / 375);
  }

  .cases-slider {
    margin: calc(100vw * 28 / 375) 0 0;
    gap: 0;
  }

  .cases-slider-arrow {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100vw * 40 / 375);
    height: calc(100vw * 40 / 375);
    border: none;
    border-radius: 50%;
    font-size: calc(100vw * 16 / 375);
    color: rgba(255, 255, 255, 1);
    background-color: rgba(40, 71, 107, 1);
    cursor: pointer;
    box-shadow: none;
  }

  .cases-slider-arrow .more-button {
    font-size: calc(100vw * 10 / 375);
    line-height: 1;
    color: rgba(255, 255, 255, 1);
  }

  .cases-slider-card {
    flex-direction: column;
    border: none;
    padding: 0;
    max-width: 100%;
  }

  .cases-slider-card-sp {
    border: calc(100vw * 1 / 375) solid rgba(40, 71, 107, 1);
    border-top: none;
  }

  .cases-slider > .cases-slider-arrow {
    display: none;
  }

  .cases-slider-nav {
    display: flex;
    justify-content: space-between;
    margin: calc(100vw * -29 / 375) 0;
  }

  .cases-slider-nav .cases-slider-arrow {
    width: calc(100vw * 50 / 375);
    height: calc(100vw * 50 / 375);
  }

  .cases-slider-card-image {
    flex: auto;
    max-height: calc(100vw * 324 / 375);
    margin: 0;
  }

  .cases-slider-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .cases-slider-card-description {
    flex: 1;
    padding: calc(100vw * 42 / 375) calc(100vw * 8 / 375) calc(100vw * 18 / 375);
  }

  .cases-slider-card-tags {
    justify-content: space-between;
    padding: 0 calc(100vw * 8 / 375);
  }

  .cases-slider-card-tag {
    display: inline-block;
    padding: calc(100vw * 4 / 375) calc(100vw * 15 / 375);
    font-size: calc(100vw * 14 / 375);
  }

  .cases-slider-card-subtitle {
    margin: calc(100vw * 20 / 375) 0 0;
    font-size: calc(100vw * 20 / 375);
  }

  .cases-slider-divider {
    margin: calc(100vw * 20 / 375) 0;
    border: none;
    border: calc(100vw * 1 / 375) solid rgba(40, 71, 107, 1);
  }

  .cases-slider-card-text {
    font-size: calc(100vw * 14 / 375);
  }

  .cases-note {
    margin: calc(100vw * 14 / 375) 0 0;
    font-size: calc(100vw * 8 / 375);
  }

  .cases-actions {
    margin: calc(100vw * 25 / 375) 0 0;
  }
}

.cases-slider-viewport {
  width: 100%;
  overflow: hidden;
  min-width: 0;
}

.cases-slider-track {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}

.cases-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
}

.cases-slider-card {
  width: 100%;
  max-width: none;
}

@media (max-width: 768px) {
  .cases-slider-viewport {
    position: relative;
  }

  .cases-slider-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100vw * 215 / 375);
    margin: 0;
    z-index: 5;
    pointer-events: none;
  }

  .cases-slider-nav .cases-slider-arrow {
    pointer-events: auto;
  }
  .cases-slider > .cases-slider-arrow {
    display: none;
  }
}

.more-button-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(100vw * 10 / 1440);
  min-width: calc(100vw * 280 / 1440);
  height: calc(100vw * 50 / 1440);
  font-size: calc(100vw * 16 / 1440);
  font-weight: bold;
  color: rgba(255, 255, 255, 1);
  background-color: rgba(40, 71, 107, 1);
  box-shadow: calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 4 / 1440) 0 rgba(0, 0, 0, 0.25);
  letter-spacing: 0.03em;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.more-button-dark:hover {
  transform: translateY(-2px);
  box-shadow: calc(100vw * 6 / 1440) calc(100vw * 6 / 1440)
    calc(100vw * 8 / 1440) 0 rgba(0, 0, 0, 0.4);
}

.service-container {
  background-color: rgba(255, 255, 255, 1);
}

.service-wrapper {
  padding: calc(100vw * 60 / 1440) 0;
  background-image: url(assets/image/service-background.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.service-content {
  width: 100%;
  margin: 0 auto;
  max-width: calc(100vw * 1200 / 1440);
}

.service-cards {
  display: flex;
  gap: calc(100vw * 20 / 1440);
}

.service-card {
  flex: 1;
  position: relative;
  display: block;
  overflow: hidden;
/*
  border: calc(100vw * 1 / 1440) solid rgba(215, 215, 215, 1);
*/
  box-shadow: calc(100vw * 5 / 1440) calc(100vw * 5 / 1440)
    calc(100vw * 4 / 1440) 0 rgba(0, 0, 0, 0.25);
  transition: transform 0.4s ease;
}

.service-card:hover {
  transform: translateY(-4px);
}

.service-card-image {
  width: 100%;
  overflow: hidden;
}

.service-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(6, 42, 82, 0.5);
  transition: background-color 0.4s ease;
}

.service-card:hover .service-card-overlay {
  background-color: rgba(6, 42, 82, 0.85);
}

.service-card-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: calc(100vw * 32 / 1440);
  font-weight: bold;
  text-align: center;
  color: rgba(255, 255, 255, 1);
  z-index: 1;
  font-family:
    "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

@media (max-width: 768px) {
  .more-button-dark {
    gap: calc(100vw * 10 / 375);
    min-width: calc(100vw * 280 / 375);
    height: calc(100vw * 50 / 375);
    font-size: calc(100vw * 16 / 375);
    box-shadow: calc(100vw * 4 / 375) calc(100vw * 4 / 375)
      calc(100vw * 4 / 375) 0 rgba(0, 0, 0, 0.25);
  }

  .service-wrapper {
    padding: calc(100vw * 21 / 375) 0 calc(100vw * 34 / 375);
    background-image: url(assets/image/service-background.webp);
  }

  .service-content {
    padding: 0 calc(100vw * 18 / 375);
    max-width: 100%;
  }

  .service-cards {
    gap: calc(100vw * 20 / 375);
    flex-wrap: wrap;
  }

  .service-card {
    flex: auto;
    box-shadow: calc(100vw * 5 / 375) calc(100vw * 5 / 375)
      calc(100vw * 4 / 375) 0 rgba(0, 0, 0, 0.25);
  }

  .service-card-image {
    aspect-ratio: 339 / 209;
  }

  .service-card-title {
    font-size: calc(100vw * 30 / 375);
  }
}

.salon-container {
  position: relative;
  background-image: url(assets/image/salon-background.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.salon-wrapper {
  width: 100%;
}

.salon-content {
  position: relative;
  display: flex;
  align-items: center;
  min-height: calc(100vw * 420 / 1440);
  background-color: rgba(40, 71, 107, 0.7);
  padding: calc(100vw * 47 / 1440) 0 calc(100vw * 47 / 1440)
    calc(100vw * 116 / 1440);
}

.salon-title {
  flex: 1;
  margin: 0;
  padding-right: calc(100vw * 34 / 1440);
  font-size: calc(100vw * 34 / 1440);
  color: rgba(255, 255, 255, 1);
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family:
    "Zen Antique", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.salon-box {
  flex: 0 0 auto;
  width: calc(100vw * 817 / 1440);
  padding: calc(100vw * 34 / 1440) calc(100vw * 44 / 1440);
  padding-right: calc(100vw * 120 / 1440);
  background-color: rgba(255, 255, 255, 1);
  box-shadow: inset calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 4 / 1440) rgba(0, 0, 0, 0.25);
}

.salon-subtitle {
  margin: 0 0 calc(100vw * 30 / 1440) 0;
  font-size: calc(100vw * 24 / 1440);
  font-weight: bold;
  text-align: left;
  line-height: 1.6;
  color: #28476b;
  font-family: "Inter", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.salon-subtitle span {
  font-size: calc(100vw * 30 / 1440);
}

.salon-text {
  margin: 0 0 calc(100vw * 14 / 1440) 0;
  font-size: calc(100vw * 15 / 1440);
  line-height: 1.8;
  text-align: left;
  color: rgba(0, 0, 0, 1);
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.salon-text:last-of-type {
  margin-bottom: 0;
}

.salon-actions {
  display: flex;
  justify-content: flex-end;
  margin: calc(100vw * 56 / 1440) 0 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.salon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(100vw * 12 / 1440);
  padding: calc(100vw * 12 / 1440) 0;
  font-size: calc(100vw * 16 / 1440);
  font-weight: bold;
  color: rgba(255, 255, 255, 1);
  background-color: rgba(40, 71, 107, 1);
  box-shadow: calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 4 / 1440) rgba(0, 0, 0, 0.25);
  text-decoration: none;
  border: none;
  width: calc(100vw * 280 / 1440);
  height: calc(100vw * 50 / 1440);
  letter-spacing: 0.03em;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.salon-button:hover {
  transform: translateY(-2px);
  box-shadow: calc(100vw * 6 / 1440) calc(100vw * 6 / 1440)
    calc(100vw * 8 / 1440) 0 rgba(0, 0, 0, 0.4);
}

.salon-button-arrow {
  font-size: calc(100vw * 15 / 1440);
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.salon-button-arrow svg {
  width: 1em;
  height: 1em;
}

@media (min-width: 769px) {
  .salon-subtitle br {
    display: none;
  }
}

@media (max-width: 768px) {
  .salon-content {
    flex-wrap: wrap;
    min-height: auto;
    padding: calc(100vw * 34 / 375) calc(100vw * 18 / 375)
      calc(100vw * 41 / 375);
  }

  .salon-title {
    padding: 0;
    text-align: center;
    align-items: center;
    font-size: calc(100vw * 25 / 375);
  }

  .salon-box {
    flex: auto;
    width: 100%;
    padding: calc(100vw * 37 / 375) calc(100vw * 18 / 375)
      calc(100vw * 33 / 375);
    margin: calc(100vw * 29 / 375) 0 0;
    box-shadow: inset calc(100vw * 4 / 375) calc(100vw * 4 / 375)
      calc(100vw * 4 / 375) rgba(0, 0, 0, 0.25);
  }

  .salon-subtitle {
    margin: 0;
    font-size: calc(100vw * 16 / 375);
    line-height: calc(100vw * 35 / 375);
    letter-spacing: 0.23em;
  }

  .salon-subtitle span {
    font-size: calc(100vw * 24 / 375);
  }

  .salon-text {
    margin: calc(100vw * 40 / 375) 0 0;
    font-size: calc(100vw * 15 / 375);
    line-height: calc(100vw * 35 / 375);
    letter-spacing: -0.05em;
  }

  .salon-actions {
    display: flex;
    justify-content: center;
    margin: calc(100vw * 45 / 375) 0 0;
  }

  .salon-button {
    gap: calc(100vw * 12 / 375);
    padding: calc(100vw * 12 / 375) 0;
    font-size: calc(100vw * 16 / 375);
    width: calc(100vw * 280 / 375);
    height: calc(100vw * 50 / 375);
    box-shadow: calc(100vw * 4 / 375) calc(100vw * 4 / 375)
      calc(100vw * 4 / 375) rgba(0, 0, 0, 0.25);
  }

  .salon-button-arrow {
    font-size: calc(100vw * 12 / 375);
  }
}

.news-wrapper {
  padding: calc(100vw * 51 / 1440) 0;
}

.news-tag-area {
  display: flex;
  align-items: center;
  gap: calc(100vw * 40 / 1440);
}

h2.news-title {
  padding: 0 0 calc(100vw * 10 / 1440);
  font-size: calc(100vw * 36 / 1440);
  font-weight: bold;
  color: #28476b;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.news-content {
  max-width: calc(100vw * 1202 / 1440);
  width: 100%;
  margin: 0 auto;
}

.news-area {
  border-bottom: calc(100vw * 1 / 1440) solid rgba(40, 71, 107, 0.35);
  margin: calc(100vw * 10 / 1440) 0;
  display: flex;
  flex-direction: column;
  transition: opacity 0.3s ease;
}

.news-area:hover {
  opacity: 0.6;
}

.news-text-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: calc(100vw * 10 / 1440) 0 calc(100vw * 22 / 1440);
}

.news-text h3 {
  font-size: calc(100vw * 20 / 1440);
  letter-spacing: 0.03em;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.news-tag {
  background-color: #28476b;
  padding: 0 calc(100vw * 17 / 1440);
  height: calc(100vw * 33 / 1440);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(100vw * 16 / 1440);
  letter-spacing: 0.03em;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.news-date p {
  font-size: calc(100vw * 16 / 1440);
  letter-spacing: 0.03em;
  font-family: "Inter", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.news-actions {
  display: flex;
  justify-content: flex-end;
  margin: calc(100vw * 30 / 1440) 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.news-actions .more-button {
  border-radius: 0;
  box-shadow: calc(100vw * 4 / 1440) calc(100vw * 4 / 1440)
    calc(100vw * 4 / 1440) rgba(0, 0, 0, 0.25);
}

.news-triangle {
  font-size: calc(100vw * 25 / 1440);
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.news-triangle svg {
  width: 1em;
  height: 1em;
}

.news-text {
  flex: 1;
}

@media (max-width: 768px) {
  .news-wrapper {
    padding: calc(100vw * 17 / 375) calc(100vw * 18 / 375)
      calc(100vw * 69 / 375);
  }

  .news-content {
    max-width: calc(100vw * 1202 / 375);
    width: 100%;
    margin: 0 auto;
  }

  h2.news-title {
    padding: 0 0 calc(100vw * 42 / 375);
    font-size: calc(100vw * 24 / 375);
    font-weight: bold;
    color: #28476b;
    text-align: center;
    letter-spacing: 0.1em;
  }

  .news-triangle {
    display: flex;
    align-items: center;
    font-size: calc(100vw * 25 / 375);
  }

  .news-tag-area {
    gap: calc(100vw * 5 / 375);
  }

  .news-area {
    border-bottom: calc(100vw * 1 / 375) solid rgba(40, 71, 107, 0.35);
    margin: 0 0 calc(100vw * 12 / 375);
  }

  .news-area:first-child {
    padding: calc(100vw * 42 / 375) 0 0;
  }

  .news-text-area {
    padding: calc(100vw * 4 / 375) 0 calc(100vw * 19 / 375);
    gap: calc(100vw * 15 / 375);
    align-items: left;
  }

  .news-text h3 {
    font-size: calc(100vw * 16 / 375);
    font-weight: 700;
  }

  .news-text {
    flex: 1;
  }

  .news-tag {
    padding: 0 calc(100vw * 10 / 375);
    height: calc(100vw * 14 / 375);
    font-size: calc(100vw * 10 / 375);
  }

  .news-date p {
    font-size: calc(100vw * 12 / 375);
  }

  .news-actions {
    display: flex;
    justify-content: flex-end;
    margin: calc(100vw * 60 / 375) 0 0;
  }

  .news-actions .more-button {
    border-radius: 0;
    box-shadow: calc(100vw * 4 / 375) calc(100vw * 4 / 375)
      calc(100vw * 4 / 375) rgba(0, 0, 0, 0.25);
    margin: 0 auto;
  }
}

.books-container {
  position: relative;
  background-image: url(assets/image/strong-point-02.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.books-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 1;
}

.books-container > * {
  position: relative;
  z-index: 2;
}

.books-wrapper {
  padding: calc(100vw * 62 / 1440) 0;
}

h2.books-title {
  font-size: calc(100vw * 36 / 1440);
  font-weight: bold;
  color: #28476b;
  text-align: center;
  letter-spacing: 0.1em;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;
}

.books-flex-area {
  display: flex;
  justify-content: center;
  padding: calc(100vw * 40 / 1440) 0 0;
}

.books-flex {
  padding: calc(100vw * 15 / 1440);
  display: flex;
  flex-direction: column;
  gap: calc(100vw * 10 / 1440);
  transition: opacity 0.3s ease;
}

.books-flex:hover {
  opacity: 0.6;
}

.books-flex-on {
  padding: calc(100vw * 31 / 1440) calc(100vw * 73 / 1440);
}

.books-flex img {
  width: 100%;
  max-width: calc(100vw * 253 / 1440);
  margin: 0 auto;
}

.books-flex-under {
  padding: calc(100vw * 24 / 1440);
  font-size: calc(100vw * 24 / 1440);
  font-weight: bold;
  font-family: "Anonymous Pro", "Hiragino Sans", "Yu Gothic", sans-serif;
}

@media (min-width: 769px) {
  .books-flex-under-sp {
    display: none;
  }
}

@media (max-width: 768px) {
  .books-container {
    position: relative;
    background-image: url(assets/image/strong-point-02.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .books-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 1;
  }

  .books-container > * {
    position: relative;
    z-index: 2;
  }

  .books-wrapper {
    padding-top: calc(100vw * 40 / 375);
    padding-bottom: calc(100vw * 60 / 375);
    overflow-x: hidden;
  }

  .books-content {
    overflow-x: hidden;
  }

  h2.books-title {
    font-size: calc(100vw * 24 / 375);
    font-weight: 700;
    color: #28476b;
    padding-bottom: 0;
    text-align: center;
  }

  .books-flex-area {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  .books-flex {
    padding: calc(100vw * 15 / 375);
    display: flex;
    flex-direction: row;
    gap: calc(100vw * 10 / 375);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .books-flex-on {
    padding: 0;
    width: calc(100vw * 145 / 375);
    flex-shrink: 0;
  }

  .books-flex img {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  .books-flex-under {
    padding: 0;
    font-size: calc(100vw * 17 / 375);
    font-weight: 700;
    display: flex;
    align-items: center;
    flex: 1;
  }
}
.cases-slider-card-subtitle{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
a.cases-slider-card .cases-slider-card-subtitle{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

@media(min-width:768px){
	.cases-note-sp{
		display:none;
	}
}
@media(max-width:768px){
	.cases-note-pc{
		display:none;
	}
	p.cases-note-sp{
		font-size:calc(100vw * 14 / 375);
	}
}

@media(min-width:768px){
	.cases-slider-nav-sp{
		display:none;
	}
}
@media(max-width:768px){
	.cases-slider-nav-pc{
		display:none;
	}
	.cases-slider-nav-sp{
	top: calc(100vw * 315 / 375);
	left: calc(100vw * 5 / 375);
	right: calc(100vw * 10 / 375);
	}
}