/*----------
common
----------*/

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
  font-weight: 500;
  line-height: 1.6;
}

h2 {
  font-size: clamp(1.375rem, 0.5rem + 3.73vw, 2.25rem);
  line-height: 1.4;
  margin-bottom: 16px;
  text-align: center;
}

h3 {
  font-size: clamp(1.125rem, 0.25rem + 3.73vw, 2rem);
  line-height: 1.4;
  margin-bottom: 8px;
  font-weight: 700;
}

p {
  font-size: 14px;
  line-height: 1.8;
  font-weight: 500;
}

.inner {
  max-width: 782px;
  margin: 0 auto;
  padding: 0 16px;
}

.subtitle {
  color: #0040ff;
  font-size: 16px;
  text-align: center;
}

section {
  padding: 60px 0;
}

.custom-text-box {
  text-align: center;
}

.custom-text-box p {
  display: inline-block;
  text-align: left;
}

.sec-bg-001 {
  background-color: #f8fbffff;
}

/*----------
header
----------*/
header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  padding: 8px 0;
  background-color: #fff;
}
header img {
  max-width: 120px;
}

main {
  padding-top: 40px;
}
/*----------
fv
----------*/

.fv img {
  max-width: clamp(9.375rem, 40vw, 18.75rem);
  margin: 0 auto;
  margin-top: 40px;
}

.fv h2 {
  font-size: clamp(1.25rem, 0.25rem + 4.27vw, 2.25rem);
}

/*----------
season
----------*/

.season h2 {
  text-align: center;
}

/*----------
c-cta
----------*/

.c-cta {
  margin: 36px 0;
}

.c-cta a img {
  width: 20px;
}

.c-cta a {
  color: #fff;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  max-width: 200px;
  height: 50px;
  margin: 0 auto;
  border-radius: 60px;
}

.c-cta-line {
  background-color: #06c755ff;
  margin-bottom: 16px !important;
}

.c-cta-tel {
  background-color: #0040ff;
}

.c-cta__notice {
  margin-top: 16px;
  margin-bottom: 32px;
}

.c-cta__notice p {
  text-align: center;
  font-size: 12px;
}

.c-cta__notice p span {
  color: #FF3B30;
  font-weight: 700;
}

/*----------
problem
----------*/

.problem-items {
  margin: 40px 0;
}
.problem-item {
  margin-bottom: 26px;
}
.problem-items img {
  max-width: 120px;
  margin: 0 auto;
}
.problem-items p {
  text-align: center;
}

.problem-bottom-text {
  color: #0040ffff;
}

/*----------
reason
----------*/

.reason-items {
  margin: 36px 0;
}

.reason-item img {
  object-fit: cover;
  border-radius: 16px;
  height: 200px;
  width: 100%;
  margin-bottom: 16px;
}

.reason-item {
  margin-bottom: 36px;
}

/*----------
price
----------*/

.price-items {
  margin: 36px 0;
}
.price-item {
  margin: 20px 0;
  padding: 20px 0;
  border-top: 1px solid rgb(216, 216, 216);
}

.price-item:nth-of-type(1) {
  border-top: none;
}

.price-items h3 {
  text-align: center;
  margin-bottom: 10px;
}

.price-item-number {
  font-size: 32px;
  line-height: 1.2;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  /* color: #0040ff; */
}

.price-item-number span {
  font-size: 16px;
}

/*----------
step
----------*/

.step h2 {
  text-align: left;
}
.step .subtitle {
  text-align: left;
}

.step-items {
  margin: 42px auto;
  /* max-width: 420px; */
}

.step-item {
  margin-bottom: 36px;
}

.step-item img {
  width: 36px;
  margin-bottom: 12px;
}

.step-item h3 {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 0;
}
.step-item span {
  font-size: 12px;
  margin-bottom: 20px;
  display: inline-block;
}

/*----------
voice
----------*/
.voice h2 {
  text-align: left;
}
.voice .subtitle {
  text-align: left;
}

.voice-items {
  margin: 42px auto;
  /* max-width: 500px; */
}

.voice-item {
  margin-bottom: 36px;
}

.voice-item img {
  width: 36px;
  margin-bottom: 12px;
}

.voice-item h3 {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 1em;
}

/*----------
flip-color
----------*/
.flip-color {
  background-color: #081640ff;
}

.flip-color h2 {
  color: #fff;
}

.flip-color h3,
.flip-color p {
  color: rgba(255, 255, 255, 0.8);
}
.flip-color .subtitle {
  color: #57ffa5ff;
}

/*----------
qa
----------*/
.qa {
}

.qa-items {
  margin: 42px auto;
}

.qa-item {
  margin-bottom: 36px;
}

.qa-item span {
  color: #0040ff;
  display: inline-block;
  font-size: clamp(1.125rem, 0.25rem + 3.73vw, 2rem);
}
.qa-item h3 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px;
}

/*----------
formTable
----------*/
.formTable {
  width: 100%;
}

.formTable th {
  text-align: left;
}
.formTable tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.formTable input {
  width: 100%;
}
.formTable textarea {
  width: 100%;
}

.formTable-submit {
    text-align: center;

}

.formTable span {
    color: red;
}

input[type='submit'] {
    padding: 10px 40px;
    border: none;
    border-radius: 8px;
    background-color: #000;
    color: #fff;
}


footer {
    padding: 60px 0 20px;
}

footer img {
    width: 200px;
    margin: 0 auto;
    margin-bottom: 42px;
}

footer p {
    text-align: center;
    font-size: 12px;
}