/* ============================================================
   KYUYODAIKO サイト模写 20261020-001
   画面幅1000pxの元デザインをベースに、スマホでは組み替えます。
   ============================================================ */
:root {
  --green: #68b437;
  --green-dark: #438d25;
  --green-pale: #e7f1cb;
  --light-green: #95e867;
  --orange: #ff7917;
  --orange-dark: #e35a05;
  --navy: #25375a;
  --pink: #ff6481;
  --pink-dark: #f70d4a;
  --yellow: #fff354;
  --text: #282828;
  --width: 1000px;
  --fs-body: 16px;
  --fs-heading: 36px;
  --font-main: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-title: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: #f4f4f2; color: var(--text); font: var(--fs-body)/1.75 var(--font-main); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, select { cursor: pointer; }
strong { font-weight: 700; }
.container, .page, .site-footer > .section-inner { width: min(100%, var(--width)); margin-inline: auto; }
.page { background: #fff; overflow: hidden; box-shadow: 0 0 25px #00000009; }
.section-inner { width: min(90%, 900px); margin-inline: auto; }
.section-pad { padding-block: 56px; }
.mobile-only { display: none; }

/* ヘッダー */
.site-header { background: #fff; border-bottom: 4px solid var(--green); }
.header-inner { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 18px 26px; }
.brand { text-decoration: none; display: flex; flex-direction: column; flex: 1; min-width: 0; }
.brand-lead { font-size: 14px; font-weight: 700; color: #333; letter-spacing: .05em; }
.brand-name { color: var(--green); font-size: clamp(21px, 3vw, 36px); line-height: 1.32; font-weight: 800; letter-spacing: -.06em; white-space: nowrap; }
.brand-name span { color: var(--orange); }
.header-contact { width: 280px; flex-shrink: 0; }
.header-hours { display: block; color: #444; text-align: center; font-size: 12px; margin-bottom: 3px; }
.tel-button { display: flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; background: linear-gradient(#ff8a9e, var(--pink-dark)); border: 2px solid #ef0e47; box-shadow: inset 0 1px 0 #ffb8c6, 0 3px 0 #a00f3b; border-radius: 14px; font-family: Georgia, "Yu Mincho", serif; font-variant-numeric: lining-nums; font-weight: 700; }
.tel-button:hover { filter: brightness(1.06); }
.tel-icon { font-family: sans-serif; font-size: 1.05em; margin-right: 10px; }
.tel-button--header { min-height: 55px; font-size: 30px; letter-spacing: .02em; }

/* メインビジュアル */
.hero picture { display: block; }
.hero img { width: 100%; object-fit: cover; }

/* 悩み */
.problems { background: #f4f4f4; padding-bottom: 30px; }
.problems-title { font: bold clamp(23px, 4vw, 38px)/1.5 var(--font-title); color: var(--navy); text-align: center; letter-spacing: .02em; margin: 0 0 34px; padding: 9px 10px; background: linear-gradient(90deg, transparent, #dbeafe 12% 88%, transparent); }
.problems-content { display: flex; align-items: flex-end; gap: 18px; }
.problems-photo { flex: 0 0 21%; align-self: stretch; min-height: 320px; background-image: url("../images/img02-2.jpg"); background-repeat: no-repeat; background-size: 900px auto; background-position: 0 -120px; }
.check-list { list-style: none; padding: 0; margin: 0; flex: 1; }
.check-list li { position: relative; padding: 5px 0 5px 42px; font-size: 17px; line-height: 1.55; border-bottom: 1px solid #e9e9e9; }
.check-list li:last-child { border-bottom: 0; }
.check-list li::before { content: "✓"; position: absolute; left: 2px; top: 5px; width: 29px; height: 29px; line-height: 28px; text-align: center; color: #f34443; font-size: 30px; font-family: sans-serif; font-weight: 800; text-shadow: 1px 1px #fff; }

/* 提案パネル */
.proposal { padding-block: 28px; background: linear-gradient(110deg, #e5f0bc, #fff 75%); }
.proposal-inner { display: flex; min-height: 340px; align-items: stretch; }
.proposal-copy { padding: 29px 22px; flex: 1; min-width: 0; align-self: center; }
.proposal-note { text-align: center; font-size: clamp(16px, 2.6vw, 25px); font-weight: 700; margin: 0 0 18px; }
.proposal h2 { color: #d73524; font: bold clamp(21px, 3.7vw, 34px)/1.52 var(--font-title); margin: 0; }
.proposal h2::first-line { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 7px; text-underline-offset: 4px; }
.proposal-photo { width: 350px; flex: 0 0 350px; background: url("../images/img03-2.jpg") no-repeat right bottom / 1000px auto; }

/* 選ばれる4つの理由 */
.reasons { background: var(--green-pale); padding-bottom: 55px; }
.heading-ribbon { position: relative; background: var(--green); color: #fff; font: 700 27px/1.4 var(--font-title); text-align: center; padding: 18px; margin: 0 0 45px; }
.heading-ribbon strong { color: #f9ea26; font: bold 2.3em/1 Georgia, serif; vertical-align: -.1em; }
.heading-ribbon::after, .green-heading::after { content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border-left: 28px solid transparent; border-right: 28px solid transparent; border-top: 26px solid var(--green); }
.reason-list { display: grid; gap: 23px; }
.reason-card { background: #fff; padding: 19px 24px 22px; box-shadow: 0 2px 8px #1b500c1a; border: 1px solid #e7ebd9; }
.reason-heading { display: flex; align-items: center; gap: 24px; margin-bottom: 7px; }
.reason-number { color: var(--orange); font: bold 65px/.98 Georgia, serif; letter-spacing: -.08em; flex-shrink: 0; }
.reason-heading h3 { margin: 0; font: 700 25px/1.45 var(--font-title); color: var(--orange); }
.reason-heading h3 strong { background: linear-gradient(transparent 76%, #fff47a 76%); }
.reason-body { display: flex; gap: 26px; align-items: start; }
.reason-body p { margin: 0; font-size: 15px; line-height: 1.8; flex: 1; }
.reason-photo { flex: 0 0 160px; width: 160px; height: 106px; background-repeat: no-repeat; ;}
.reason-photo--1 { background-image: url("../images/img04-1.jpg"); background-size: contain}
.reason-photo--2 { background-image: url("../images/img04-2.jpg"); background-size: contain}
.reason-photo--3 { background-image: url("../images/img04-3.jpg"); background-size: contain }
.reason-photo--4 { background-image: url("../images/img04-4.jpg"); background-size: contain }

/* 電話相談CTA */
.consultation { position: relative; background: linear-gradient(135deg, #69b53a, #8fbf7f); color: #fff; padding: 72px 20px 64px; text-align: center; }
.consultation-notch { position: absolute; top: 0; left: 0; right: 0; height: 62px; background: var(--green-pale); clip-path: polygon(0 0,100% 0,50% 100%); }
.consultation > p { margin: 0 0 28px; font: 700 clamp(23px, 4vw, 38px)/1.5 var(--font-title); transform: rotate(-3deg); }
.tel-button--big { width: min(100%, 550px); min-height: 98px; margin-inline: auto; font-size: clamp(29px, 5vw, 52px); flex-wrap: wrap; padding: 10px 16px; line-height: 1.1; }
.tel-button--big small { display: block; width: 100%; font: 500 14px/1.4 var(--font-main); margin-top: 5px; }
.consultation-form-link { display: inline-block; margin-top: 24px; padding: 12px 28px; background: #fff; color: var(--green-dark); font-weight: 800; text-decoration: none; border-radius: 50px; }
.consultation-form-link:hover { background: #fffce6; }

/* 料金 */
.pricing { background: repeating-linear-gradient(135deg,#fffce5 0 4px,#fff 4px 9px); }
.pink-ribbon { position: relative; max-width: 600px; margin: 0 auto 30px; color: #fff; text-align: center; background: #ff7276; padding: 10px; font: bold clamp(29px,4vw,40px)/1.4 var(--font-title); }
.pink-ribbon small { font-size: .64em; }
.pink-ribbon::before, .pink-ribbon::after { content: ""; position: absolute; top: 0; bottom: 0; border-top: 28px solid transparent; border-bottom: 28px solid transparent; }
.pink-ribbon::before { left: 0; border-left: 22px solid #fffbe5; }
.pink-ribbon::after { right: 0; border-right: 22px solid #fffbe5; }
.pricing-tables { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 100%; }
.price-table { border-collapse: collapse; width: 100%; table-layout: fixed; background: #fff; font-family: var(--font-title); }
.price-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.price-table th { color: #fff; background: var(--green); font-size: 25px; font-weight: 700; padding: 9px; }
.price-table th, .price-table td { border: 2px solid #b6b6b6; text-align: center; }
.price-table td { font-size: clamp(17px,2.7vw,25px); padding: 9px 6px; height: 59px; }
.price-table td:first-child { width: 43%; }
.price-table td:last-child { white-space: nowrap; }
.price-note { font-size: 14px; margin: 15px 0 0; line-height: 1.7; }

/* お客様の声 */
.voices { background: #edf3cd; }
.simple-heading { color: #a1782f; font: bold var(--fs-heading)/1.4 var(--font-title); text-align: center; margin: 0 0 30px; }
.voice-sheets { display: flex; align-items: center; justify-content: center; }
.voice-sheets picture { display: block; width: min(100%, 410px); }
.voice-sheets img { width: 100%; border: 1px solid #d3d39e; box-shadow: 0 2px 14px #565b3030; }

/* ご依頼の流れ */
.flow-section { background: linear-gradient(100deg,#fffbc7 0%,#fff 25%,#fff 75%,#fffbc7); padding-bottom: 50px; }
.flow-heading { background: var(--light-green); color: #fff; text-align: center; font: bold var(--fs-heading)/1.4 var(--font-title); padding: 23px 14px; margin: 0 0 26px; clip-path: polygon(0 0,100% 0,100% 68%,50% 100%,0 68%); }
.flow-list { background: #fff; padding: 8px 32px; }
.flow-item { display: grid; grid-template-columns: 55px minmax(0, 1fr) 130px; align-items: center; gap: 20px; padding: 18px 0; border-bottom: 1px dashed #c8c8c8; }
.flow-item:last-child { border-bottom: 0; }
.flow-number { font: bold 50px/.9 Georgia, serif; color: #bfc1c3; position: relative; letter-spacing: -.1em; }
.flow-number small { position: absolute; left: 0; top: 19px; color: #333; font: bold 10px/1 sans-serif; letter-spacing: normal; }
.flow-copy h3 { margin: 0 0 7px; font: 700 25px/1.35 var(--font-title); color: var(--orange); background: linear-gradient(transparent 78%,#fff46e 78%); display: inline; }
.flow-copy p { margin: 8px 0 0; font-size: 15px; }
.flow-symbol { display: block; font-size: 65px; text-align: center; line-height: 1.2; }

/* FAQ */
.faq-section { background: #fff; padding-bottom: 55px; }
.green-heading { position: relative; background: var(--green); color: #fff; margin: 0 0 55px; padding: 26px 15px; text-align: center; font: 700 var(--fs-heading)/1.4 var(--font-title); }
.faq-list { display: grid; gap: 14px; }
.faq-item { border-bottom: 1px solid #d4e8be; padding: 8px 0 20px; }
.faq-question, .faq-answer { display: flex; align-items: flex-start; gap: 17px; }
.faq-question { font-size: 19px; line-height: 1.55; font-weight: 700; margin: 0 0 13px; }
.faq-answer { margin: 0; padding-left: 9px; font-size: 15px; line-height: 1.8; }
.faq-mark { flex: 0 0 38px; width: 38px; font: 900 42px/.95 Georgia, serif; }
.faq-mark.q { color: var(--orange); }
.faq-mark.a { color: #9fd9f6; }

/* お問い合わせフォーム */
.contact-section { background: #fff; padding-bottom: 65px; }
.contact-lead { max-width: 830px; margin: 0 auto 40px; padding: 0 12px; font-size: clamp(18px,3.3vw,30px); line-height: 1.8; font-weight: 700; }
.contact-lead span { background: linear-gradient(transparent 52%,#fff14e 52%); }
.contact-form { width: min(100%, 800px); margin: auto; }
.form-row { display: grid; grid-template-columns: 230px minmax(0,1fr); border-bottom: 1px solid #e0e0e0; }
.form-row:first-child { border-top: 1px solid #e0e0e0; }
.form-row > label { padding: 19px 15px; background: #edf5df; font-weight: 700; }
.form-row > div { padding: 14px 15px; }
.form-row input, .form-row textarea, .form-row select { display: block; width: 100%; padding: 11px 12px; border: 1px solid #bfc4bb; border-radius: 4px; color: #333; background: #fff; }
.form-row textarea { resize: vertical; min-height: 130px; }
.form-row input:focus-visible, .form-row textarea:focus-visible, .form-row select:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.required { float: right; font-size: 12px; line-height: 1.6; background: #ec655c; border-radius: 3px; color: #fff; padding: 1px 7px; }
.form-notice { color: #666; margin: 18px 0; font-size: 12px; }
.form-submit { text-align: center; }
.form-submit button { color: #fff; background: var(--orange); border: 0; padding: 12px 60px; border-radius: 6px; font-weight: 700; font-size: 18px; }
.form-submit button:disabled { opacity: .65; cursor: not-allowed; }

/* フッター */
.site-footer { background: var(--green); color: #fff; text-align: center; padding: 32px 16px 25px; }
.site-footer .section-inner { width: min(90%,900px); }
.site-footer p { font-size: 13px; margin: 8px 0; }
.site-footer a { color: inherit; }
.site-footer .footer-brand { font-size: 19px; font-weight: 700; }
.footer-brand small { font-size: 12px; font-weight: 400; }
.copyright { display: block; margin-top: 19px; opacity: .9; font-size: 11px; }

@media (max-width: 767px) {
  :root { --fs-body: 15px; --fs-heading: 29px; }
  .section-pad { padding-block: 40px; }
  .header-inner { padding: 13px 16px; gap: 12px; }
  .brand-lead { font-size: 11px; }
  .brand-name { font-size: clamp(19px, 3.7vw, 28px); }
  .header-contact { width: 220px; }
  .header-hours { font-size: 10px; }
  .tel-button--header { font-size: 22px; min-height: 48px; border-radius: 9px; }
  .check-list li { font-size: 15px; padding-left: 32px; }
  .check-list li::before { font-size: 23px; width: 25px; }
  .problems-photo { flex-basis: 18%; min-height: 260px; background-size: 780px auto; background-position: 0 -92px; }
  .proposal-inner { min-height: 240px; }
  .proposal-photo { flex-basis: 155px; width: 155px; background-size: 750px auto; }
  .proposal-copy { padding: 16px; }
  .proposal h2 { font-size: clamp(18px, 3.6vw, 29px); }
  .reason-card { padding: 15px; }
  .reason-heading { gap: 14px; }
  .reason-number { font-size: 52px; }
  .reason-heading h3 { font-size: 21px; }
  .pricing .section-inner { width: 93%; }
  .price-table th { font-size: 19px; }
  .price-table td { height: 49px; }
  .flow-list { padding: 4px 16px; }
  .flow-item { grid-template-columns: 46px minmax(0,1fr) 80px; gap: 12px; }
  .flow-number { font-size: 40px; }
  .flow-number small { top: 14px; font-size: 9px; }
  .flow-copy h3 { font-size: 20px; }
  .flow-copy p { font-size: 14px; }
  .flow-symbol { font-size: 46px; }
  .form-row { grid-template-columns: 180px minmax(0,1fr); }
}
@media (max-width: 600px) {
  :root { --fs-body: 14px; --fs-heading: 27px; }
  .mobile-only { display: inline; }
  .header-inner { display: block; padding: 12px; text-align: center; }
  .brand-lead { font-size: 11px; }
  .brand-name { font-size: clamp(22px, 6vw, 31px); justify-content: center; white-space: normal; }
  .header-contact { margin: 9px auto 0; width: min(100%, 300px); }
  .header-hours { display: none; }
  .tel-button--header { font-size: 25px; }
  .section-inner { width: 92%; }
  .problems-title { font-size: 23px; margin-bottom: 20px; }
  .problems-content { display: block; }
  .problems-photo { display: none; }
  .check-list li { padding-top: 7px; padding-bottom: 7px; line-height: 1.55; }
  .proposal { padding-block: 22px; }
  .proposal-inner { display: block; min-height: 0; }
  .proposal-copy { position: relative; z-index: 1; padding: 18px 14px; }
  .proposal-note { font-size: 17px; }
  .proposal h2 { font-size: clamp(20px, 5.4vw, 27px); line-height: 1.55; }
  .proposal-photo { display: none; }
  .heading-ribbon { font-size: 20px; padding-block: 17px; }
  .heading-ribbon strong { font-size: 2.1em; }
  .reason-list { gap: 14px; }
  .reason-heading { align-items: center; gap: 10px; }
  .reason-number { font-size: 48px; }
  .reason-heading h3 { font-size: clamp(17px, 4.3vw, 22px); }
  .reason-body { display: block; }
  .reason-photo { float: left; width: 148px; height: 102px; margin: 0 12px 6px 0; }
  .reason-body::after { content: ""; display: block; clear: both; }
  .reason-body p { font-size: 14px; line-height: 1.72; }
  .consultation { padding: 70px 12px 46px; }
  .consultation > p { font-size: 25px; }
  .tel-button--big { min-height: 76px; font-size: clamp(27px, 7vw, 40px); }
  .tel-button--big small { font-size: 12px; }
  .pink-ribbon { font-size: 29px; }
  .pricing-tables { grid-template-columns: 1fr; gap: 12px; }
  .price-table td { font-size: 22px; }
  .price-note { font-size: 12px; }
  .voices { padding-block: 38px; }
  .voice-sheets picture { width: min(100%, 435px); }
  .flow-heading { font-size: 28px; }
  .flow-list { width: 95%; padding: 3px 11px; }
  .flow-item { grid-template-columns: 40px minmax(0,1fr) 55px; gap: 9px; }
  .flow-number { font-size: 37px; }
  .flow-number small { top: 13px; font-size: 8px; }
  .flow-copy h3 { font-size: 19px; }
  .flow-copy p { font-size: 12px; line-height: 1.7; }
  .flow-symbol { font-size: 35px; }
  .faq-list { gap: 8px; }
  .faq-question { font-size: 16px; gap: 9px; }
  .faq-answer { font-size: 14px; padding-left: 4px; gap: 9px; }
  .faq-mark { flex-basis: 30px; width: 30px; font-size: 34px; }
  .contact-lead { font-size: 21px; margin-bottom: 30px; }
  .form-row { display: block; }
  .form-row > label { display: block; padding: 10px 12px; }
  .form-row > div { padding: 11px 7px; }
  .required { float: none; margin-left: 12px; }
  .footer-brand small { display: block; }
  .site-footer p { font-size: 12px; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


/* =========================================
   お客様の声
   kyuyodaiko 20261020-002
========================================= */

.ky-voice {
  --voice-gold: #ab8a48;
  --voice-text: #222;
  --voice-bg: #f4f6c0;

  position: relative;
  padding: 65px 20px 85px;
  overflow: hidden;

  background-color: var(--voice-bg);
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(255, 255, 255, .13) 0,
      rgba(255, 255, 255, .13) 2px,
      transparent 2px,
      transparent 6px
    ),
    linear-gradient(
      135deg,
      #f6f7cf 0%,
      #f0f4b5 100%
    );

  color: var(--voice-text);
  font-family:
    "Yu Gothic", "YuGothic",
    "Hiragino Kaku Gothic ProN",
    Meiryo, sans-serif;
}

/* 全体の横幅 */
.ky-voice__inner {
  max-width: 960px;
  margin: 0 auto;
}

/* =========================================
   見出し
========================================= */

.ky-voice__title {
  position: relative;
  margin: 0 0 58px;
  padding: 0 80px;

  color: var(--voice-gold);
  font-family:
    "Yu Mincho", "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(30px, 5vw, 60px);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .035em;
  text-shadow: 1px 2px 3px rgba(123, 91, 37, .2);
}

/* 左右の装飾 */
.ky-voice__title::before,
.ky-voice__title::after {
  content: "";
  position: absolute;
  top: -28px;

  width: 85px;
  height: 85px;

  opacity: .85;
  border-color: var(--voice-gold);
  border-style: solid;
  border-width: 0;
}

.ky-voice__title::before {
  left: -55px;
  border-left-width: 3px;
  border-top-width: 3px;
}

.ky-voice__title::after {
  right: -55px;
  border-right-width: 3px;
  border-top-width: 3px;
}

/* =========================================
   白いカード
========================================= */

.ky-voice__card {
  position: relative;
  margin-bottom: 35px;
  padding: 35px 55px 38px;

  background: #fff;

  box-shadow:
    3px 5px 7px rgba(70, 70, 40, .25);

  /* 右下を斜めにカット */
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 55px),
    calc(100% - 55px) 100%,
    0 100%
  );
}

.ky-voice__card:last-child {
  margin-bottom: 0;
}

/* =========================================
   人物と紹介文
========================================= */

.ky-voice__profile {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 25px;
  margin-bottom: 16px;
}

/* 人物画像 */
.ky-voice__image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ky-voice__image img {
  display: block;
  width: 160px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* 見出し右側 */
.ky-voice__info {
  min-width: 0;
}

/* お客様の声のタイトル */
.ky-voice__heading {
  margin: 0 0 16px;

  font-family:
    "Yu Mincho", "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(24px, 3vw, 35px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .015em;

  text-shadow:
    0 7px 7px rgba(242, 130, 167, .48);
}

/* 会社名 */
.ky-voice__company {
  margin: 0 0 5px;

  font-family:
    "Yu Mincho", "YuMincho",
    "Hiragino Mincho ProN",
    serif;

  font-size: clamp(18px, 2.4vw, 27px);
  line-height: 1.6;
}

/* 給与計算対象人数・住所 */
.ky-voice__detail {
  margin: 0;

  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
}

/* 本文 */
.ky-voice__description {
  margin: 0;

  font-size: 20px;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}

/* =========================================
   タブレット
========================================= */

@media (max-width: 900px) {

  .ky-voice {
    padding: 55px 25px 70px;
  }

  .ky-voice__title {
    padding: 0 30px;
    margin-bottom: 45px;
  }

  .ky-voice__title::before {
    left: -10px;
  }

  .ky-voice__title::after {
    right: -10px;
  }

  .ky-voice__card {
    padding: 30px 35px 45px;
  }

  .ky-voice__profile {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 20px;
  }

  .ky-voice__image img {
    width: 130px;
  }

  .ky-voice__detail {
    font-size: 16px;
  }

  .ky-voice__description {
    font-size: 17px;
  }
}

/* =========================================
   スマートフォン
========================================= */

@media (max-width: 600px) {

  .ky-voice {
    padding: 45px 15px 55px;
  }

  .ky-voice__title {
    padding: 0 10px;
    margin-bottom: 35px;
    font-size: clamp(25px, 6vw, 35px);
  }

  .ky-voice__title::before,
  .ky-voice__title::after {
    width: 28px;
    height: 28px;
    top: -15px;
    border-width: 0;
    border-top-width: 2px;
  }

  .ky-voice__title::before {
    left: 0;
    border-left-width: 2px;
  }

  .ky-voice__title::after {
    right: 0;
    border-right-width: 2px;
  }

  .ky-voice__card {
    margin-bottom: 25px;
    padding: 25px 23px 42px;

    clip-path: polygon(
      0 0,
      100% 0,
      100% calc(100% - 28px),
      calc(100% - 28px) 100%,
      0 100%
    );
  }

  .ky-voice__profile {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 20px;
  }

  .ky-voice__image img {
    width: 115px;
  }

  .ky-voice__heading {
    font-size: 24px;
    text-align: center;
    margin-bottom: 14px;
  }

  .ky-voice__heading br {
    display: none;
  }

  .ky-voice__company {
    font-size: 19px;
    text-align: center;
  }

  .ky-voice__detail {
    font-size: 14px;
    text-align: center;
  }

  .ky-voice__description {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0;
  }
}

