*,
*::before,
*::after {
  box-sizing: border-box;
  min-height: 0vw;
}

header *,
header *::before,
header *::after {
  box-sizing: content-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
legend,
figure,
figcaption,
button,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;

}

body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1;
  min-height: 0vw;

}

main p  {
  color: #004b6d;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
  color: inherit;
}

a:visited {
  color: inherit;
}

a * {
  pointer-events: none;
}

ul,
ol {
  padding-left: 0;
}

li {
  list-style: none;
}

h2 {
  margin-block-start: 0;
  margin-block-end: 0;
}

p {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  p {
    margin-bottom: 0 !important;
  }
}

small,
em {
  font-style: normal;
}

img {
  width: 100%;
  border: 0;
  height: auto;
  vertical-align: top;
}

section {
  position: relative;
  width: auto;
  margin: 0;
  padding: 0;
}

.Wrapper {
  overflow: clip;
}

.WBR {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.container {
  z-index: 1;
  position: relative;
  max-width: 1140px;
  padding-left: 70px;
  padding-right: 70px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    padding-right: calc(35vw / 3.75);
    padding-left: calc(35vw / 3.75);
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

img {
  object-fit: contain;
  width: 100%;
}

main {
  position: relative;
  padding-top: 86px;
  overflow: clip;
  background-image: url(../images/gacha/bg.png);
  background-repeat: repeat;
  background-size: 119px 119px;
  background-color: #5ec3dc;
  background-attachment: fixed;
  background-position: left center;
}

@media screen and (max-width: 767px) {
  main {
    padding-top: 44px;
    background-attachment: scroll;
    background-size: 75px 75px;
  }
}


a * {
  pointer-events: none;
}

a,
a * {
  transition: .3s;
}

.goTop {
  z-index: 400;
}
@media screen and (max-width: 767px) {
  .goTop {
    bottom: 5em;
  }
}

nav ul li {
  display: block;
  height: auto;
  padding: 0;
  font-size: 13px;
  line-height: 1.6em;
  text-align: left;
  color: #000;
  border-right: none;
}

/* セクション1：ファーストビュー
   ドット背景は手動対応のため、ここでは単色のみ置く */
/* .fv {
  background-color: #5ec3dc;
} */

.fv__visual {
  position: relative;
}

.fv__title {
  margin: 0;
  line-height: 0;
}

.fv__title img {
  width: 100%;
  height: auto;
  aspect-ratio: 375 / 570;
}

.fv__points {
  position: absolute;
  inset: 0;
  margin: 0;
  pointer-events: none;
}

.fv__point {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23.73%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #2469ad;
  color: #fff;
  font-weight: 800;
  font-size: calc(13 / 375 * 100vw);
  line-height: 1.52;
  text-align: center;
}

.fv__point:nth-child(1) {
  top: 40.18%;
  left: 5.87%;
}

.fv__point:nth-child(2) {
  top: 53.25%;
  left: 22.27%;
}

.fv__point:nth-child(3) {
  top: 65.79%;
  left: 5.87%;
}

.fv__point-num {
  letter-spacing: 0.25em;
}

.fv__contact {
  position: fixed;
  z-index: 100;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(calc(28 / 375 * 100vw),28px);
  width: 100%;
  height: 60px;
  border-radius: min(calc(34.49 / 375 * 100vw),34.49px) min(calc(34.49 / 375 * 100vw),34.49px) 0 0;
  background-color: #fef100;
  font-size: min(calc(22 / 375 * 100vw),22px);
  line-height: 1;
  font-weight: 700;
  padding-bottom: 5px;
  background-image: linear-gradient(#c2b800, #c2b800);
  background-size: 100% 5px;
  background-repeat: no-repeat;
  background-position: center bottom;
}

a.fv__contact:link,
.fv__contact:visited,
.fv__contact:hover {
  color: #f23d3d;
}

.fv__contact-icon {
  display: grid;
  place-items: center;
  width: min(calc(21 / 375 * 100vw),21px);
  height: min(calc(21 / 375 * 100vw),21px);
  border-radius: 50%;
  background-color: #f23d3d;
}

.fv__contact-icon::before {
  content: "";
  width: min(calc(6 / 375 * 100vw),6px);
  height: min(calc(6 / 375 * 100vw),6px);
  border-top: min(calc(2 / 375 * 100vw),2px) solid #fff;
  border-right: min(calc(2 / 375 * 100vw),2px) solid #fff;
  transform: rotate(45deg) translate(-10%, 10%);
}

nav.fv__nav {
  width: 100%;
  height: auto;
}

.fv__nav-list {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0;
}

.fv__nav-item {
  margin-bottom: calc(4 / 375 * 100vw);
}

.fv__nav-item:nth-child(2) .fv__nav-link,
.fv__nav-item:nth-child(4) .fv__nav-link {
  border-left: 1px solid #5ac2db;
}

.fv__nav-item a.fv__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  background-color: #fff;
  /* box-shadow: 0 calc(4 / 375 * 100vw) 0 #4fa9bf; */
  color: #2469ad !important;
  font-weight: 800;
  font-size: min(calc(15 / 375 * 100vw),15px);
  line-height: 1.2;
  background-image: linear-gradient(#fff, #fff);
  background-size: 100% calc(100% - 5px);
  background-repeat: no-repeat;
  background-position: center top;
  padding-bottom: 5px;
  padding-top: 0;
  transition: background-position 0.3s ease-in-out, padding 0.3s ease-in-out;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #4fa9bf;
}
.fv__nav-item a.fv__nav-link:hover {
  background-position: center bottom;
  padding-bottom: 0;
  padding-top: 5px;
}

.fv__nav-link:visited,
.fv__nav-link:hover {
  color: #2469ad;
}

.fv__nav-link:focus-visible,
.fv__contact:focus-visible {
  outline: 2px solid #2469ad;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .fv__title img {
    aspect-ratio: 1400 / 758;
  }

  .fv__point {
    top: 67.91%;
    width: 11.203%;
    font-size: calc(21.14 / 1400 * 100vw);
  }

  .fv__point:nth-child(1) {
    top: 67.91%;
    left: 17.8%;
  }

  .fv__point:nth-child(2) {
    top: 67.91%;
    left: 30.72%;
  }

  .fv__point:nth-child(3) {
    top: 67.91%;
    left: 43.64%;
  }

  .fv__contact {
    top: 23.82%;
    bottom: auto;
    flex-direction: column;
    gap: calc(28 / 1400 * 100vw);
    width: 5.749%;
    height: 48.48%;
    border-radius: calc(34.49 / 1400 * 100vw) 0 0 calc(34.49 / 1400 * 100vw);
    box-shadow: 0 min(calc(5.51 / 1400 * 100vw),5.51px) 0 #c2b800;
    font-size: calc(27.59 / 1400 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1;
    transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
    background-image: none;
    padding: 0;
  }
  .fv__contact:hover {
    box-shadow: 0 0 0 #c2b800;
    transform: translateY(min(calc(5.51 / 1400 * 100vw),5.51px));
  }

  .fv__contact-label {
    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .fv__contact-icon {
    display: grid;
    place-items: center;
    width: calc(21.92 / 1400 * 100vw);
    height: calc(21.92 / 1400 * 100vw);
    border-radius: 50%;
    background-color: #f23d3d;
  }

  .fv__contact-icon::before {
    content: "";
    width: calc(6 / 1400 * 100vw);
    height: calc(6 / 1400 * 100vw);
    border-top: calc(2 / 1400 * 100vw) solid #fff;
    border-right: calc(2 / 1400 * 100vw) solid #fff;
    transform: rotate(45deg) translate(-10%, 10%);
  }

  .fv__nav-list {
    grid-template-columns: repeat(4, 1fr);
  }

  .fv__nav-item {
    margin-bottom: calc(8 / 1400 * 100vw);
  }

  .fv__nav-item:nth-child(n + 2) .fv__nav-link {
    border-left: 1px solid #5ac2db;
  }

  .fv__nav-item a.fv__nav-link {
    height: 95px;
    /* box-shadow: 0 calc(8 / 1400 * 100vw) 0 #4fa9bf; */
    font-size: min(calc(21.6 / 1400 * 100vw),21.6px);

  }
}

/* セクション2：お悩み
   人物イラストは ../images/gacha/sec1_img2.png
   吹き出しは文言が原稿のためHTML。形の元データは sec1_img1.svg */
.worry {
  padding: calc(24 / 375 * 100vw) 0 calc(40 / 375 * 100vw);
}

.worry__scene {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.worry__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
  padding: 0 calc(24 / 375 * 100vw);
}

.worry__item {
  position: relative;
  aspect-ratio: 160 / 132;
}

.worry__cloud {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin: 0;
  padding: 20% 14% 22%;
  /* background-color: #fef100; */
  /* background-image: radial-gradient(#fdfd81 1.3px, transparent 1.5px);
  background-size: 8px 8px; */
  color: #2469ad;
  font-weight: 800;
  font-size: min(calc(12.25 / 375 * 100vw),12.25px);
  line-height: 1.49;
  text-align: center;
  /* border-radius: 48% 52% 46% 54% / 42% 46% 54% 58%; */
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
}

.worry__item--event .worry__cloud {
  background-image: url(../images/gacha/fukidashi1.png);
  transform: translate(5%,5%);
}

.worry__item--shop .worry__cloud {
  background-image: url(../images/gacha/fukidashi2.png);
  transform: translate(-5%,5%);
}

.worry__item--workshop .worry__cloud {
  background-image: url(../images/gacha/fukidashi3.png);
  transform: translateX(-15%);
}

.worry__item--campaign .worry__cloud {
  background-image: url(../images/gacha/fukidashi4.png);
  transform: translateX(15%)
}

.worry__people {
  z-index: 1;
  position: relative;
  width: 58%;
  height: auto;
  margin-top: calc(0% - calc(25 / 375 * 100vw));
}

.worry__lead {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: calc(20 / 375 * 100vw);
  text-align: center;
}

.worry__arrow {
  width: 0;
  height: 0;
  margin-bottom: calc(12 / 375 * 100vw);
  border-right: calc(18 / 375 * 100vw) solid transparent;
  border-left: calc(18 / 375 * 100vw) solid transparent;
  border-top: calc(14 / 375 * 100vw) solid #2469ad;
}

.worry__kicker {
  margin-bottom: calc(10 / 375 * 100vw) !important;
  color: #fff;
  font-weight: 700;
  font-size: calc(16 / 375 * 100vw);
  line-height: 1.4;
}

.worry__name {
  color: #fa5a82;
  font-weight: 700;
  font-size: calc(28 / 375 * 100vw);
  line-height: 1.15;
}

.worry__marks {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(8 / 375 * 100vw);
}

.worry__line {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(6 / 375 * 100vw);
  margin-left: 0.8em;
}

.worry__mark {
  display: inline-block;
  padding: 0.12em 0.65em 0.16em;
  border-radius: 8px;
  background-color: #fef100;
}

.worry__ga {
  color: #fff;
  font-size: 0.8em;
  font-weight: 700;
}

.worry__bang {
  position: absolute;
  top: 18%;
  right: 18%;
  width: calc(42 / 375 * 100vw);
  height: auto;
  aspect-ratio: 79.37 / 46.22;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 79.37 46.22"><polygon fill="%23ffffff" points="34.95 0 55.15 6.45 36.65 34.58 27.88 31.56 34.95 0"/><polygon fill="%23ffffff" points="69.95 23.04 79.37 38.37 51.89 46.22 47.93 39.42 69.95 23.04"/><polygon fill="%23ffffff" points="0 3.71 15.75 2.44 14.94 30.12 7.08 30.56 0 3.71"/></svg>') ;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.worry__push {
  margin-top: calc(12 / 375 * 100vw);
  color: #fff;
  font-weight: 700;
  font-size: calc(22 / 375 * 100vw);
  line-height: 1.3;
}

@media (min-width: 768px) {
  .worry {
    padding: calc(70 / 1400 * 100vw) 0 calc(96 / 1400 * 100vw);
  }

  .worry__scene {
    display: block;
    width: min(1400px, 100%);
    aspect-ratio: 1400 / 460;
    margin-inline: auto;
  }

  .worry__list {
    position: absolute;
    inset: 0;
    display: block;
    padding: 0;
  }

  .worry__item {
    position: absolute;
    width: 18.66%;
    aspect-ratio: 261 / 216;
  }

  .worry__item--event {
    top: 0;
    left: 25.09%;
  }

  .worry__item--shop {
    top: 0;
    left: 58.93%;
  }

  .worry__item--workshop {
    top: 45.4%;
    left: 14.93%;
  }

  .worry__item--campaign {
    top: 46.3%;
    left: 68.36%;
  }

  .worry__cloud {
    font-size: min(20px, calc(20 / 1400 * 100vw));
  }
  .worry__item--event .worry__cloud ,  .worry__item--shop .worry__cloud , .worry__item--workshop .worry__cloud , .worry__item--campaign .worry__cloud  {
    transform: translateX(0);
  }

  .worry__people {
    position: absolute;
    top: 36.3%;
    left: 36.86%;
    width: 30.14%;
    margin-top: 0;
  }

  .worry__lead {
    width: min(1400px, 100%);
    margin: calc(50 / 1400 * 100vw) auto 0;
  }

  .worry__arrow {
    margin-bottom: min(28px, calc(28 / 1400 * 100vw));
    border-right-width: min(39px, calc(39 / 1400 * 100vw));
    border-left-width: min(39px, calc(39 / 1400 * 100vw));
    border-top-width: min(25px, calc(25 / 1400 * 100vw));
  }

  .worry__kicker {
    margin-bottom: min(12px, calc(12 / 1400 * 100vw)) !important;
    font-size: min(24px, calc(24 / 1400 * 100vw));
    font-weight: 700;
  }

  .worry__name {
    font-size: min(46.8px, calc(46.8 / 1400 * 100vw));
  }

  .worry__marks {
    flex-direction: row;
    gap: 0;
  }

  .worry__line {
    gap: min(12px, calc(12 / 1400 * 100vw));
    margin-left: 0;
  }

  .worry__mark {
    padding: 0.08em 0;
    border-radius: 0;
    background-color: #fef100;
  }

  .worry__marks > .worry__mark {
    padding-left: 0.32em;
    border-radius: 10px 0 0 10px;
  }

  .worry__line .worry__mark {
    padding-right: 0.32em;
    border-radius: 0 10px 10px 0;
  }

  .worry__ga {
    font-size: min(36px, calc(36 / 1400 * 100vw));
  }

  .worry__bang {
    top: 30%;
    right: 50%;
    width: min(48px, calc(48 / 1400 * 100vw));
    transform: translateX(calc(50% + min(calc(300vw / 14), 300px)));
  }

  .worry__push {
    margin-top: min(16px, calc(16 / 1400 * 100vw));
    font-size: min(36px, calc(36 / 1400 * 100vw));
  }
}

/* セクション3：特徴・紹介動画・おすすめ業界
   背景のドットは main 側。見出しは title1〜3.svg、Point ラベルは point1〜4.svg */
.feature {
  padding: calc(28 / 375 * 100vw) 0 calc(56 / 375 * 100vw);
}

.feature__heading {
  position: relative;
  z-index: 3;
  width: calc(307 / 375 * 100vw);
  margin: 0 auto;
  line-height: 0;
}

.feature__heading img,
.feature__photo,
.feature__label,
.feature__icon {
  width: 100%;
  height: auto;
}

.feature__points {
  position: relative;
  width: calc(335 / 375 * 100vw);
  aspect-ratio: 335 / 460;
  margin: calc(-10 / 375 * 100vw) auto 0;
  border-radius: calc(16 / 375 * 100vw);
  background-color: #fff;
}

.feature__points::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: calc(4 / 375 * 100vw);
  border: 2px solid #5ac2db;
  border-radius: calc(12 / 375 * 100vw);
  pointer-events: none;
}

.feature__photo {
  position: absolute;
  z-index: 1;
  top: 33.7%;
  left: 22.4%;
  width: calc(203 / 335 * 100%);
  height: auto;
  object-fit: contain;
  object-position: center bottom;
}

.feature__point {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34%;
  aspect-ratio: 1;
  margin: 0;
  border-radius: 50%;
  font-size: calc(13 / 375 * 100vw);
  text-align: center;
}

.feature__point--1 {
  top: 10.2%;
  left: 11.9%;
}

.feature__point--2 {
  top: 10.2%;
  left: 54.3%;
  width: 33.4%;
}

.feature__point--3 {
  top: 44.1%;
  left: -2.4%;
  width: 35.8%;
}

.feature__point--4 {
  top: 44.1%;
  left: 68.7%;
  width: 35.8%;
}

.feature__point::after {
  z-index: -1;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: #fef100;
  background-image: radial-gradient(rgba(255, 255, 255, 0.9) 1px, transparent 1.2px);
  background-size: 7px 7px;
  mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 224.76 224.76"><path fill="%23ffffff" d="M224.76,112.38C224.76,50.31,174.45,0,112.38,0S0,50.31,0,112.38s50.32,112.38,112.38,112.38c27.17,0,52.09-9.64,71.52-25.69l20.72,5.55-5.55-20.72c16.05-19.43,25.69-44.35,25.69-71.52Z"/><path fill="%23ffffff" d="M224.76,112.38C224.76,50.31,174.45,0,112.38,0S0,50.31,0,112.38s50.32,112.38,112.38,112.38c27.17,0,52.09-9.64,71.52-25.69l20.72,5.55-5.55-20.72c16.05-19.43,25.69-44.35,25.69-71.52Z"/></svg>') ;
  mask-size: 100%;
  mask-repeat: no-repeat;
  mask-position: center;
}
.feature__point--2::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.feature__point--3::after {
  transform: translate(-50%, -50%) rotate(-50deg);
}
.feature__point--4::after {
  transform: translate(-50%, -50%) rotate(-225deg);
}

.feature__label {
  position: absolute;
  top: -6%;
  left: 3%;
  width: calc(65 / 225 * 100%);
}

.feature__copy {
  width: 100%;
  margin: 0;
  color: #2469ad;
  font-size: 1em;
  font-weight: 800;
  line-height: 1.25;
}

.feature__block--video {
  margin-top: calc(68 / 375 * 100vw);
}

.feature__screen {
  position: relative;
  width: calc(245 / 375 * 100vw);
  aspect-ratio: 9 / 16;
  margin: calc(25 / 375 * 100vw) auto 0;
  overflow: hidden;
  border-radius: calc(12 / 375 * 100vw);
}

.feature__screen::before,
.feature__screen::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
}

.feature__screen::before {
  width: calc(38 / 375 * 100vw);
  height: calc(38 / 375 * 100vw);
  border-radius: 50%;
  background-color: #5ac2db;
  transform: translate(-50%, -50%);
}

.feature__screen::after {
  width: 0;
  height: 0;
  margin-left: calc(2 / 375 * 100vw);
  border-top: calc(6 / 375 * 100vw) solid transparent;
  border-bottom: calc(6 / 375 * 100vw) solid transparent;
  border-left: calc(10 / 375 * 100vw) solid #fff;
  transform: translate(-50%, -50%);
}

.feature__player {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.feature__player:not([src]) {
  opacity: 0;
}

.feature__block--industry {
  margin-top: calc(48 / 375 * 100vw);
}

.feature__industries {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: calc(5 / 375 * 100vw);
  row-gap: calc(22 / 375 * 100vw);
  width: calc(344 / 375 * 100vw);
  margin: calc(24 / 375 * 100vw) auto 0;
  padding: 0;
  list-style: none;
}

.feature__industry {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.feature__icon {
  width: calc(107 / 375 * 100vw);
}

.feature__name {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(146 / 375 * 100vw);
  height: calc(27 / 375 * 100vw);
  margin: calc(8 / 375 * 100vw) 0 0;
  padding: 0 0.6em;
  background-color: #fef100;
  clip-path: polygon(0 100%, 7% 50%, 0 0, 100% 0, 93% 50%, 100% 100%);
  color: #2469ad;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.feature__uses {
  width: auto;
  margin: calc(8 / 375 * 100vw) auto 0;
  padding: 0;
  list-style: none;
  color: #000;
  font-size: calc(10 / 375 * 100vw);
  font-weight: 700;
  line-height: calc(19 / 10);
}

.feature__uses li {
  position: relative;
  padding-left: 1em;
}

.feature__uses li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #fef100;
}

.feature__cta-wrap {
  width: calc(335 / 375 * 100vw);
  margin: calc(40 / 375 * 100vw) auto 0;
}

.feature__cta-lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 / 375 * 100vw);
  margin: 0 0 calc(14 / 375 * 100vw) !important;
  color: #fff;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 800;
  line-height: calc(22 / 16);
  text-align: center;
}

.feature__slash {
  flex: 0 0 auto;
  width: 2px;
  height: calc(45 / 375 * 100vw);
  border-radius: 2px;
  background-color: #fff;
  transform: rotate(-33deg);
}

.feature__slash--right {
  transform: rotate(33deg);
}

a.feature__cta:link ,a.faq__cta:link {
  color: #fff;
}

.feature__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(65 / 375 * 100vw);
  border-radius: calc(18 / 375 * 100vw);
  background-color: #f23d3d;
  box-shadow: 0 calc(5 / 375 * 100vw) 0 #c24546;
  color: #fff;
  font-size: calc(20 / 375 * 100vw);
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.feature__cta:hover,
.feature__cta:visited,
.feature__cta:focus {
  color: #fff;
}

@media (min-width: 768px) {
  .feature {
    padding: calc(48 / 1400 * 100vw) 0 calc(90 / 1400 * 100vw);
  }

  .feature__heading {
    width: min(652px, calc(652 / 1400 * 100vw));
  }

  .feature__points {
    width: min(1000px, calc(1000 / 1400 * 100vw));
    aspect-ratio: 1000 / 679;
    margin-top: min(-46px, calc(-46 / 1400 * 100vw));
    border-radius: min(80px, calc(80 / 1400 * 100vw));
  }

  .feature__points::before {
    inset: min(10px, calc(10 / 1400 * 100vw));
    border-radius: min(70px, calc(70 / 1400 * 100vw));
  }

  .feature__photo {
    top: 13.44%;
    left: 30.5%;
    width: 39.7%;
    height: 79.4%;
  }

  .feature__point,
  .feature__point--2,
  .feature__point--3,
  .feature__point--4 {
    width: 22.476%;
    padding: 0;
    background-size: 10px 10px;
    font-size: min(22px, calc(22 / 1400 * 100vw));
  }

  .feature__point--1 {
    top: 14.15%;
    left: 11.92%;
  }

  .feature__point--2 {
    top: 14.15%;
    left: 65.71%;
  }

  .feature__point--3 {
    top: 53.58%;
    left: 7.99%;
  }

  .feature__point--4 {
    top: 53.58%;
    left: 69.53%;
  }

  .feature__point::after {
    border-width: min(14px, calc(14 / 1400 * 100vw));
  }

  .feature__copy {
    line-height: calc(32.73 / 22);
  }

  .feature__block--video {
    margin-top: min(104px, calc(104 / 1400 * 100vw));
  }

  .feature__screen {
    width: min(281.25px, calc(281.25 / 1400 * 100vw));
    margin-top: min(37px, calc(37 / 1400 * 100vw));
    border-radius: min(14px, calc(13.67 / 1400 * 100vw));
  }

  .feature__screen::before {
    width: min(38px, calc(38.26 / 1400 * 100vw));
    height: min(38px, calc(38.26 / 1400 * 100vw));
  }

  .feature__screen::after {
    margin-left: min(2px, calc(2 / 1400 * 100vw));
    border-top-width: min(6px, calc(6 / 1400 * 100vw));
    border-bottom-width: min(6px, calc(6 / 1400 * 100vw));
    border-left-width: min(10px, calc(10 / 1400 * 100vw));
  }

  .feature__block--industry {
    margin-top: min(123px, calc(123 / 1400 * 100vw));
  }

  .feature__industries {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: min(16px, calc(16 / 1400 * 100vw));
    row-gap: min(64px, calc(64 / 1400 * 100vw));
    width: min(1104px, calc(1104 / 1400 * 100vw));
    margin-top: min(28px, calc(28 / 1400 * 100vw));
  }

  .feature__icon {
    width: min(170px, calc(170 / 1400 * 100vw));
  }

  .feature__name {
    width: min(230px, calc(230 / 1400 * 100vw));
    height: min(43px, calc(43 / 1400 * 100vw));
    margin-top: min(12px, calc(12 / 1400 * 100vw));
    font-size: min(20px, calc(20 / 1400 * 100vw));
  }

  .feature__uses {
    margin-top: min(14px, calc(14 / 1400 * 100vw));
    font-size: min(16px, calc(16 / 1400 * 100vw));
    line-height: calc(28 / 16);
  }

  .feature__cta-wrap {
    width: min(1000px, calc(1000 / 1400 * 100vw));
    margin-top: min(80px, calc(80 / 1400 * 100vw));
  }

  .feature__cta-lead {
    gap: min(16px, calc(16 / 1400 * 100vw));
    margin-bottom: min(28px, calc(28 / 1400 * 100vw)) !important;
    font-size: min(24px, calc(24 / 1400 * 100vw));
    line-height: 1.4;
  }

  .feature__slash {
    width: 4px;
    height: min(36px, calc(36 / 1400 * 100vw));
  }

  .feature__cta {
    height: min(108px, calc(107.97 / 1400 * 100vw));
    border-radius: min(30px, calc(30 / 1400 * 100vw));
    box-shadow: 0 min(8px, calc(8.22 / 1400 * 100vw)) 0 #c24546;
    font-size: min(30px, calc(30 / 1400 * 100vw));
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  }
  .feature__cta:hover,
.feature__cta:visited,
.feature__cta:focus {
  box-shadow: 0 0 0 #c24546;
  transform: translateY(min(8px, calc(8.22 / 1400 * 100vw)));
}
}

/* セクション4：製品について
   写真は product1〜2.png（幅270/1400）、寸法図は product3〜4.png（幅400/1400）
   見出しは title4.svg。背景ドットは main 側 */
.product {
  padding: calc(40 / 375 * 100vw) 0 calc(48 / 375 * 100vw);
}

.product__sheet {
  width: min(1400px, 100%);
  margin-inline: auto;
}

.product__heading {
  position: relative;
  z-index: 2;
  width: calc(305 / 375 * 100vw);
  margin: 0 auto;
  line-height: 0;
  transform: translateY(45%);
}

.product__heading img {
  width: 100%;
  height: auto;
}

.product__card {
  position: relative;
  width: calc(335 / 375 * 100vw);
  margin: calc(-8 / 375 * 100vw) auto 0;
  padding: calc(36 / 375 * 100vw) calc(12 / 375 * 100vw) calc(28 / 375 * 100vw);
  border: 2px solid #5ac2db;
  border-radius: calc(20 / 375 * 100vw);
  background-color: #fff;
}

.product__card::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: calc(6 / 375 * 100vw);
  border: 2px solid #5ac2db;
  border-radius: calc(18 / 375 * 100vw);
  pointer-events: none;
}

.product__views {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(16 / 375 * 100vw);
}

.product__view {
  width: calc(112 / 375 * 100vw);
  margin: 0;
}

.product__view img,
.product__diagrams img {
  width: 100%;
  height: auto;
}

.product__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(72 / 375 * 100vw);
  height: calc(26 / 375 * 100vw);
  margin: 0 auto calc(8 / 375 * 100vw);
  border-radius: 999px;
  background-color: #5ac2db;
  color: #fff;
  font-size: calc(12 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.product__lead {
  margin: calc(16 / 375 * 100vw) 0 calc(40 / 375 * 100vw) !important;
  color: #2469ad;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

.product__bar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(285 / 375 * 100vw);
  height: calc(29 / 375 * 100vw);
  margin: 0 auto calc(12 / 375 * 100vw);
  border-radius: 8px;
  background-color: #fef100;
  color: #2469ad;
  font-size: calc(13 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.product__bar--line {
  background-color: #fff;
  border: 2px solid #2469ad;
}

.product__diagrams {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(16 / 375 * 100vw);
  margin-bottom: calc(16 / 375 * 100vw);
}

.product__diagrams img {
  width: 100%;
}

.product__spec,
.product__notes {
  width: calc(300 / 375 * 100vw);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  color: #000;
  font-weight: 400;
  text-align: left;
}

.product__spec-wrap {
  width: 100%;
  background-color: #e4f2f5;
  text-align: center;
  border-radius: calc(16 / 375 * 100vw);
  padding: calc(14 / 375 * 100vw) calc(30 / 375 * 100vw);
  margin-bottom: calc(20 / 375 * 100vw);
}

.product__spec {
  display: inline-block;
  font-size: calc(13 / 375 * 100vw);
  line-height: 1.7;
  font-weight: 700;
  width: 100%;
}

.product__notes {
  font-size: calc(12 / 375 * 100vw);
  line-height: 1.75;
}

.product__spec li,.product__notes li {
  text-indent: -1em;
  padding-left: 1em;
}

.product__spec li::before,
.product__notes li::before {
  content: "・";
}

@media (min-width: 768px) {
  .product {
    padding: min(80px, calc(80 / 1400 * 100vw)) 0 min(70px, calc(70 / 1400 * 100vw));
  }

  .product__heading {
    width: min(652px, calc(652 / 1400 * 100vw));
    transform: translateY(0);
  }

  .product__card {
    width: min(980px, calc(980 / 1400 * 100vw));
    margin-top: min(-33px, calc(-33 / 1400 * 100vw));
    padding: min(64px, calc(64 / 1400 * 100vw)) min(40px, calc(40 / 1400 * 100vw)) min(56px, calc(56 / 1400 * 100vw));
    border-radius: min(70px, calc(70 / 1400 * 100vw));
  }
  .product__card::before {
    inset: min(6px, calc(6 / 1400 * 100vw));
    border-radius: min(68px, calc(68 / 1400 * 100vw));
  }

  .product__views {
    gap: min(100px, calc(100 / 1400 * 100vw));
  }

  .product__view {
    width: min(270px, calc(270 / 1400 * 100vw));
  }

  .product__badge {
    width: min(140px, calc(139.44 / 1400 * 100vw));
    height: min(40px, calc(40 / 1400 * 100vw));
    margin-bottom: min(28px, calc(28 / 1400 * 100vw));
    font-size: min(18px, calc(18 / 1400 * 100vw));
  }

  .product__lead {
    margin: min(48px, calc(48 / 1400 * 100vw)) 0 min(50px, calc(50 / 1400 * 100vw)) !important;
    font-size: min(24px, calc(24 / 1400 * 100vw));
    line-height: calc(42 / 24);
  }

  .product__bar {
    width: min(800px, calc(800 / 1400 * 100vw));
    height: min(50px, calc(50.34 / 1400 * 100vw));
    margin-bottom: min(24px, calc(24 / 1400 * 100vw));
    border-radius: min(10px, calc(10 / 1400 * 100vw));
    font-size: min(18px, calc(18 / 1400 * 100vw));
  }

  .product__bar--line {
    height: min(44px, calc(44 / 1400 * 100vw));
    margin-top: min(36px, calc(36 / 1400 * 100vw));
    margin-bottom: min(20px, calc(20 / 1400 * 100vw));
  }

  .product__diagrams {
    flex-direction: row;
    justify-content: center;
    gap: 0;
    margin-bottom: min(28px, calc(28 / 1400 * 100vw));
  }
  
  .product__spec-wrap {
    margin-bottom: min(40px, calc(40 / 1400 * 100vw));
    padding: min(22px, calc(22 / 1400 * 100vw)) min(36px, calc(36 / 1400 * 100vw));
    border-radius: min(20px, calc(20 / 1400 * 100vw));
    width: min(800px, calc(800 / 1400 * 100vw));
    margin: 0 auto;
  }

  .product__spec,
  .product__notes {
    width: min(682px, calc(682 / 1400 * 100vw));
  }

  .product__spec {
    width: auto;
    font-size: min(16px, calc(16 / 1400 * 100vw));
    line-height: calc(28 / 16);
  }

  .product__notes {
    width: min(800px, calc(800 / 1400 * 100vw));
    font-size: min(15px, calc(15 / 1400 * 100vw));
    line-height: calc(26.25 / 15);
  }
}

/* セクション5：ご注文の流れ
   白丸アイコンは flow_icon1〜6.svg。人物は flow_img1.png。見出しは title5.svg / title6.svg */
.flow {
  padding: calc(36 / 375 * 100vw) 0 calc(56 / 375 * 100vw);
}

.flow__heading,
.flow__catch {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  line-height: 0;
}

.flow__heading {
  width: calc(305 / 375 * 100vw);
}

.flow__heading img,
.flow__catch img {
  width: 100%;
  height: auto;
}

.flow__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: calc(310 / 375 * 100vw);
  margin: calc(16 / 375 * 100vw) auto 0;
  padding: 0;
  list-style: none;
  column-gap: calc(33 / 375 * 100vw);
  row-gap: calc(8 / 375 * 100vw);
}

.flow__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flow__icon {
  width: 100%;
  height: auto;
}

.flow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(0% - min(calc(20 / 375 * 100vw), 20px));
  width: min(calc(8 / 375 * 100vw), 8px);
  height: min(calc(8 / 375 * 100vw), 8px);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(-100%) rotate(45deg);
}

.flow__name {
  margin: calc(6 / 375 * 100vw) 0 0;
  color: #000;
  font-size: calc(11 / 375 * 100vw);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.flow__bubble {
  width: auto;
  padding: calc(6 / 375 * 100vw) calc(8 / 375 * 100vw);
  border-radius: calc(25 / 375 * 100vw);
  background-color: #fef100;
  color: #000;
  font-size: calc(11 / 375 * 100vw);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  position: absolute;
  top: calc(100% + 15px);
  left: 0;
  transform: translateX(-15%);
  white-space: nowrap;
}
.flow__bubble::after {
  content: "";
  position: absolute;
  top: 0;
  left: 40%;
  transform: translate(-50%, calc(0% - 12px)) skewX(-30deg);
  border-bottom: 12px solid #fef100;
  border-left: 10px solid transparent;
  border-right: 3px solid transparent;
}

.flow__card {
  position: relative;
  width: calc(335 / 375 * 100vw);
  margin: calc(100px + calc(28 / 375 * 100vw)) auto 0;
  padding: calc(28 / 375 * 100vw) calc(16 / 375 * 100vw) calc(55 / 375 * 100vw);
  border-radius: calc(24 / 375 * 100vw);
  background-color: #fff;
  background-image: radial-gradient(#f8ef8a 1px, transparent 1.2px);
  background-size: 8px 8px;
  text-align: center;
}

.flow__card::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: calc(6 / 375 * 100vw);
  border: 2px solid #5ac2db;
  border-radius: calc(18 / 375 * 100vw);
  pointer-events: none;
}

.flow__catch {
  width: calc(305 / 375 * 100vw);
  margin-top: calc(-52 / 375 * 100vw);
  margin-bottom: calc(12 / 375 * 100vw);
}

.flow__support {
  position: relative;
  z-index: 1;
  display: inline;
  gap: calc(8 / 375 * 100vw);
  color: #2469ad;
  font-size: calc(15 / 375 * 100vw);
  font-weight: 900;
  line-height: 2;
  text-align: center;
  background-image: linear-gradient(#fef100, #fef100);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0.5em;
}

/* .flow__line {

} */

.flow__min {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  color: #222;
  font-size: calc(13 / 375 * 100vw);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin: calc(12 / 375 * 100vw) 0 0 !important;
}

.flow__min-em {
  color: #fa5a82;
}

.flow__staff {
  position: absolute;
  z-index: 2;
  right: calc(-4 / 375 * 100vw);
  bottom: calc(-18 / 375 * 100vw);
  width: calc(96 / 375 * 100vw);
  height: auto;
}

@media (min-width: 768px) {
  .flow {
    padding: min(72px, calc(72 / 1400 * 100vw)) 0 min(80px, calc(80 / 1400 * 100vw));
  }

  .flow__heading,
  .flow__catch {
    width: min(652px, calc(652 / 1400 * 100vw));
  }

  .flow__steps {
    display: flex;
    justify-content: center;
    width: min(1004px, calc(1004 / 1400 * 100vw));
    margin-top: min(28px, calc(28 / 1400 * 100vw));
    column-gap: min(52px, calc(51.7 / 1400 * 100vw));
    row-gap: 0;
  }

  .flow__icon {
    width: min(124px, calc(123.6 / 1400 * 100vw));
  }

  .flow__step:not(:last-child)::after {
    top: min(50px, calc(50 / 1400 * 100vw));
    right: calc(0% - min(calc(32 / 1400 * 100vw), 32px));
    width: min(12px, calc(12 / 1400 * 100vw));
    height: min(12px, calc(12 / 1400 * 100vw));
    border-top-width: 3px;
    border-right-width: 3px;
    transform: rotate(45deg);
  }

  .flow__name {
    margin-top: min(10px, calc(10 / 1400 * 100vw));
    font-size: min(16px, calc(16 / 1400 * 100vw));
  }

  .flow__bubble {
    position: absolute;
    left: 50%;
    width: min(220px, calc(220 / 1400 * 100vw));
    margin: min(8px, calc(8 / 1400 * 100vw)) 0 0;
    padding: min(10px, calc(10 / 1400 * 100vw)) min(12px, calc(12 / 1400 * 100vw));
    border-radius: min(35px, calc(35 / 1400 * 100vw));
    font-size: min(16px, calc(16 / 1400 * 100vw));
    line-height: calc(22 / 16);
    transform: translateX(-50%);
  }

  .flow__card {
    width: min(1000px, calc(1000 / 1400 * 100vw));
    margin-top: calc(min(120px, calc(120 / 1400 * 100vw)) + 100px);
    padding: min(72px, calc(72 / 1400 * 100vw)) min(48px, calc(48 / 1400 * 100vw)) min(48px, calc(48 / 1400 * 100vw));
    border-radius: min(80px, calc(80 / 1400 * 100vw));
    background-size: 12px 12px;
  }

  .flow__card::before {
    inset: min(10px, calc(10 / 1400 * 100vw));
    border-radius: min(70px, calc(70 / 1400 * 100vw));
  }

  .flow__catch {
    margin-top: max(-116px, calc(-116 / 1400 * 100vw));
    margin-bottom: min(24px, calc(24 / 1400 * 100vw));
  }

  .flow__support {
    gap: min(18px, calc(18 / 1400 * 100vw));
    font-size: min(24px, calc(24 / 1400 * 100vw));
    line-height: 2;
    background-size: 100% 10px;
    background-position: 0 92%;
  }
/* 
  .flow__line {
    background-size: 100% 10px;
    background-position: 0 92%;
  } */

  .flow__min {
    font-size: min(20px, calc(20 / 1400 * 100vw));
    margin-top: min(22px, calc(22 / 1400 * 100vw)) !important;
  }

  .flow__staff {
    right: min(20px, calc(20 / 1400 * 100vw));
    bottom: max(-28px, calc(-28 / 1400 * 100vw));
    width: min(182px, calc(182 / 1400 * 100vw));
  }
}

.faq {
  padding: calc(8 / 375 * 100vw) 0 calc(100 / 375 * 100vw);
}

.faq__heading {
  width: calc(120 / 375 * 100vw);
  margin: 0 auto calc(18 / 375 * 100vw);
  line-height: 0;
}

.faq__list {
  width: calc(339 / 375 * 100vw);
  margin: 0 auto;
}

.faq__item + .faq__item {
  margin-top: calc(12 / 375 * 100vw);
}

.faq__q {
  display: flex;
  align-items: center;
  gap: calc(10 / 375 * 100vw);
  min-height: calc(55 / 375 * 100vw);
  padding: calc(8 / 375 * 100vw) calc(16 / 375 * 100vw) calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
  border-radius: 999px;
  background-color: #fff;
  color: #111;
  font-size: calc(14 / 375 * 100vw);
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
  /* cursor: pointer; */
}

.faq__q::-webkit-details-marker {
  display: none;
}

.faq__q::marker {
  content: "";
}

.faq__badge {
  display: grid;
  flex: none;
  place-items: center;
  width: calc(34 / 375 * 100vw);
  height: calc(34 / 375 * 100vw);
  border-radius: 50%;
  background-color: #31bde0;
  color: #fff;
  font-size: calc(16 / 375 * 100vw);
  font-weight: 700;
  line-height: 1;
}

.faq__badge--a {
  margin-top: calc(-6 / 375 * 100vw);
  background-color: #fef100;
  color: #2469ad;
}

.faq__label {
  flex: 1;
}

/* .faq__icon {
  position: relative;
  flex: none;
  width: calc(14 / 375 * 100vw);
  height: calc(14 / 375 * 100vw);
  margin-left: auto;
}

.faq__icon::before,
.faq__icon::after {
  content: "";
  position: absolute;
  background-color: #5ac2db;
  transition: transform 0.3s ease-in-out;
  transform: translateY(-50%);
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
}

.faq__item[open] .faq__icon::after {
  transform: translateY(-50%) rotate(90deg);
} */

.faq__a {
  display: flex;
  align-items: flex-start;
  gap: calc(10 / 375 * 100vw);
  padding: calc(24 / 375 * 100vw) calc(8 / 375 * 100vw) calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
}

.faq__a p {
  margin: 0;
  color: #111;
  font-size: calc(13 / 375 * 100vw);
  font-weight: 700;
  line-height: 1.65;
}

.faq__note {
  font-size: calc(11 / 375 * 100vw);
}

.faq__link {
  color: #fef100 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}

.faq__link:hover,
.faq__link:visited,
.faq__link:focus {
  color: #fef100;
}

.faq__cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(329 / 375 * 100vw);
  height: calc(65 / 375 * 100vw);
  margin: calc(28 / 375 * 100vw) auto 0;
  border-radius: calc(18 / 375 * 100vw);
  background-color: #f23d3d;
  box-shadow: 0 calc(5 / 375 * 100vw) 0 #c24546;
  color: #fff;
  font-size: calc(18 / 375 * 100vw);
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

.faq__cta:hover,
.faq__cta:visited,
.faq__cta:focus {
  color: #fff;
}

@media (min-width: 768px) {
  .faq {
    padding: min(36px, calc(36 / 1400 * 100vw)) 0 min(120px, calc(120 / 1400 * 100vw));
  }

  .faq__heading {
    width: min(180px, calc(180 / 1400 * 100vw));
    margin-bottom: min(28px, calc(28 / 1400 * 100vw));
  }

  .faq__list {
    width: min(1000px, calc(1000 / 1400 * 100vw));
  }

  .faq__item + .faq__item {
    margin-top: min(14px, calc(14 / 1400 * 100vw));
  }

  .faq__q {
    gap: min(18px, calc(18 / 1400 * 100vw));
    min-height: min(80px, calc(80 / 1400 * 100vw));
    padding: 0 min(40px, calc(40 / 1400 * 100vw)) 0 min(31px, calc(31 / 1400 * 100vw));
    font-size: min(20px, calc(20 / 1400 * 100vw));
  }

  .faq__badge {
    width: min(50px, calc(50.18 / 1400 * 100vw));
    height: min(50px, calc(50.18 / 1400 * 100vw));
    font-size: min(23px, calc(23.18 / 1400 * 100vw));
  }

  .faq__badge--a {
    margin-top: max(-11px, calc(-11 / 1400 * 100vw));
  }

  .faq__icon {
    width: min(20px, calc(20.24 / 1400 * 100vw));
    height: min(20px, calc(20.24 / 1400 * 100vw));
  }

  .faq__a {
    gap: min(16px, calc(16 / 1400 * 100vw));
    padding: min(32px, calc(32 / 1400 * 100vw)) min(24px, calc(24 / 1400 * 100vw)) min(12px, calc(12 / 1400 * 100vw)) min(31px, calc(31 / 1400 * 100vw));
  }

  .faq__a p {
    font-size: min(16px, calc(16 / 1400 * 100vw));
    line-height: calc(28 / 16);
  }

  .faq__note {
    font-size: min(14px, calc(14 / 1400 * 100vw));
  }

  .faq__cta {
    width: min(1000px, calc(1000 / 1400 * 100vw));
    height: min(108px, calc(107.97 / 1400 * 100vw));
    margin-top: min(48px, calc(48 / 1400 * 100vw));
    border-radius: min(30px, calc(30 / 1400 * 100vw));
    box-shadow: 0 min(8px, calc(8.21 / 1400 * 100vw)) 0 #c24546;
    font-size: min(30px, calc(30 / 1400 * 100vw));
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  }
  .faq__cta:hover,
.faq__cta:visited,
.faq__cta:focus {
  box-shadow: 0 0 0 #c24546;
  transform: translateY(min(8px, calc(8.21 / 1400 * 100vw)));
}
}

.contactWrap {
  padding-top: 100px;
}