body{
  font-family: 'ヒラギノ角ゴシック','Hiragino Sans','sans-serif','メイリオ', 'Meiryo';
  font-size: 20px;
  letter-spacing: 0.5px;
  line-height: 150%;
  width: 100%;
  margin: 0 auto;
}

.area {
  max-width: 1200px;
  margin: 0 auto;
}

img {
  display: block;
  max-width: 100%;
}

h2 {
  font-size: 180%;
  font-weight: bold;
}

.sp {
  display: none;
}

header {
  background: #fff;
}

header a > img {
  width: 40%;
  padding: 2%;
}

.headerback {
  background: #fff7f8;
}

.headercta {
  position: relative;
}

.cta_box {
  background: linear-gradient(45deg,#ff806d,#d12727);
  padding: 5% 0;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

.cta_icon {
  display: flex;
  gap: 20px;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  margin-left: 3%;
}

.cta_tel_btn img {
  width: 18%;
  margin-bottom: 3%;
}

.cta_mail_btn img {
  width: 20%;
}

.cta_line_btn img {
  width: 20%;
}

.cta_title {
  font-size: 150%;
}

.cta_btn {
  display: flex;
  width: 90%;
  margin-top: 3%;
  justify-content: center;
  gap: 20px;
  font-size: 90%;
}

.cta_btn a > img {
  width: 100%;
}

.cta_btn a:hover {
  opacity: 0.9;
}

.cta_btn a {
  background: #fff;
  padding: 1.5%;
  width: 48%;
  color: #3d3d3d;
  position: relative;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cta_btn p {
  position: relative;
  z-index: 100;
}

.cta_red {
  color: #d12727;
  margin: 4% auto 7% auto;
  font-size: 130%;
}

.cta_red_number {
  font-size: 160%;
}

.cta_btn a > p > span {
  background: #d12727;
  padding: 0.5% 0;
  color: #fff;
  font-size: 80%;
  display: block;
}


/* ========================================

office

======================================== */

.office {
  margin: 5% auto;
  padding: 5%;
}

.office h2 {
  color: #d12727;
  text-align: center;
}

.office table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  background-color: #fff7f8;
  overflow: hidden;
  margin: 5% auto;
}

.office th, .office td {
  padding: 2%;
  text-align: left;
  border-bottom: 1px solid #3d3d3d;
}

.office th {
  font-weight: bold;
  width: 30%;
}

.office tr:last-child td {
  border-bottom: none;
}

.office tr:last-child th {
  border-bottom: none;
}

/* ========================================

faq

======================================== */

.faq {
  background: #fff7f7;
  padding: 10% 0;
}

.faq h2 {
  color: #d12727;
  text-align: center;
  margin-bottom: 3%;
}

.accordion-area {
  margin: 0 auto 2% auto;
}

.accordion-area dt {
  position: relative;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(45deg,#ff806d,#d12727);
  transition: all .5s ease;
  padding: 3% 10%;
  padding-right: 12%;
  text-align: left;
  line-height: 130%;
}

.accordion-area dd {
  position: relative;
  display: none;
  padding: 3% 10%;
  background: #fff;
  text-align: left;
  font-size: 80%;
}

.accordion-area dl{
  margin: 2%;
}

.accordion-area dt::before {
  content: '';
  background: url(../img/faq_q.png) no-repeat left / contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3%;
  width: 35px;
  height: 35px;
}

.accordion-area dd::before {
  content: '';
  background: url(../img/faw_a.png) no-repeat left / contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2.5%;
  width: 35px;
  height: 35px;
}


/*開く閉じるボタン*/
.accordion-area dt::after{
  position: absolute;
  content:'＋';
  font-size: 40px;
  width: 5%;
  height: 20px;
  top: 45%;
  right: 30px;
  display: block;
  transform: translateY(-50%);
  color: #fff;
}

.accordion-area dt.close::after {
  content:'－';
}

.red {
  color: #d12727;
  font-weight: bold;
}


/* ========================================

固定CTA

======================================== */

.fixed_cta_box {
  position: fixed;
  width: 100%;
  bottom: 0;
  padding: 1% 0;
  background: rgba(61,60,65,0.9);
  z-index: 9999;
  text-align: center;
  color: #fff;
  font-weight: bold;
}

.fixed_cta {
  display: flex;
  justify-content: center;
  width: 80%;
  margin: 0.5% auto 0 auto;
  gap: 10px;
}

.fixed_cta_title {
  font-size: 80%;
  letter-spacing: 3px;
}

.fixed_cta_icon {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  text-align: left;
}

.fixed_cta a {
  background: #fff;
  padding: 1%;
  color: #3d3d3d;
  font-weight: bold;
  text-align: center;
  border-radius: 10px;
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 5px;
}

.fixed_cta a > p > span {
  background: #f49342;
  padding: 0.5% 0;
  color: #fff;
  display: block;
  font-size: 70%;
}

.number {
  color: #d12727;
  font-size: 130%;
}

.fixed_cta .tel_btn {
  border: 3px solid #d12727;
}

.fixed_cta .mail_btn {
  border: 3px solid #ff7802;
}

.fixed_cta .line_btn {
  border: 3px solid #09c755;
}

.tel_btn img {
  width: 10%;
  margin-bottom: 1%;
}

.mail_btn img {
  width: 12%;
}

.line_btn img {
  width: 20%;
}


footer {
  padding: 5% 0 20%;
  background: #3d3d3d;
  color: #fff;
  font-size: 80%;
  text-align: center;
}

.footer-list {
  display: flex;
  justify-content: center;
  padding-bottom: 3%;
  gap: 20px;
  text-decoration: underline;
}


@media (max-width:640px){
  body {
    max-width: 100vw;
  }

  h2 {
    font-size: 80%;
  }

  .pc {
    display: none!important;
  }

  .sp {
    display: block!important;
  }

  header a > img {
    width: 60%;
    padding: 3% 2%;
  }

  .accordion-area dt {
    font-size: 80%;
    padding: 3% 15%;
  }

  .accordion-area dd {
    padding: 3% 15%;
  }

  .accordion-area dt::before {
    width: 25px;
    height: 25px;
    left: 4%;
  }

  .accordion-area dd::before {
    width: 25px;
    height: 25px;
    left: 4%;
  }

  .office th,.office td {
    font-size: 80%;
  }

  .office th {
    width: 35%;
  }

  .cta_btn {
    font-size: 70%;
  }

  .cta_box a {
    width: 85%;
    padding: 3%;
  }

  .cta_title {
    font-size: 80%;
  }

  .cta_btn {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
  }

  .cta_red {
    font-size: 130%;
    margin: -3% auto 1% auto;
  }

  .cta_tel_btn img {
    width: 15%;
    margin-bottom: 1.5%;
  }

  .cta_mail_btn img {
    width: 15%;
  }

  .cta_line_btn img {
    width: 15%;
  }

  .cta_btn a > p > span {
    font-size: 90%;
  }

  .fixed_cta {
    gap: 5px!important;
  }

  .fixed_cta_box {
    padding: 2% 0;
  }



  .fixed_cta a {
    font-size: 60%;
    line-height: 110%;
    padding: 2%;
    gap: 0px;
  }

  .fixed_cta_title {
    font-size: 70%;
  }

  .fixed_cta .tel_btn {
    width: 70%;
  }

  .fixed_cta .mail_btn {
    width: 25%;
  }

  .tel_btn .fixed_cta_icon {
    padding: 2% 0;
    gap: 5px;
  }

  .mail_btn .fixed_cta_icon {
    flex-direction: column;
  }

  /* .tel_btn img {
    width: 15%;
    margin-bottom: 0;
  } */

  .mail_btn img {
    width: 65%;
  }

  .line_btn img {
    width: 40%;
  }

  .number {
    font-size: 200%;
  }

  .fixed_cta a > p > span {
    font-size: 100%;
    padding: 2% 0 1% 0;
  }

  footer {
    padding: 10% 0 50%;
    font-size: 60%;
  }

  .footer-list {
    flex-direction: column;
    gap: 5px;
  }
}

@media (max-width:1000px){
  .fixed_cta {
    gap: 10px;
    width: 100%;
  }
}