.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

@media only screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
img {
  max-width: 100%;
  height: auto;
}
.header {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 100;
  left: 50%;
  transform: translate(-50%, 0px);
}
.header-list ul {
  display: flex;
  gap: 30px;
}
.header-list a {
  text-decoration: none;
  color: #202933;
}
.header-list li {
  list-style: none;
}
img {
  width: 100%;
  height: auto;
}
.btn {
  width: auto;
  height: auto;
}
.btn.pc {
  width: 100%;
}
.fv-btn {
  display: inline-block;
  position: absolute;
  bottom: 9%;
  left: 10%;
}
.fv-btn a {
  display: inline-block;
  width: 47%;
}
.fv {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fv-btn {
    transform: none;
    display: block;
    width: 100%;
    text-align: center;
    left: 0%;
    bottom: 3%;
  }
  .btn {
    width: 100%;
    margin: 0 auto;
  }
  .pr {
  }
}
.reassurance {
  margin-top: 100px;
}
.reassurance-img {
  width: 60%;
  margin: 0 auto;
  margin-bottom: -200px;
}
.reassurance-text-content {
  display: flex;
  justify-content: center;
  gap: 30px;
  position: relative;
  width: 1200px;
  margin: 110px auto;
}

.reassurance-bk {
  transform: translate(0px, 440px);
}
.reassurance-text {
  background-image: url(img/goansinwaku.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.reassurance-text p {
  font-size: 30px;
  font-weight: 800;
  width: 400px;
  height: auto;
  padding-top: 72px;
  text-align: center;
  width: 345px;
  line-height: 1;
}
@media only screen and (max-width: 750px) {
  .reassurance {
    margin-top: 30px;
  }
  .reassurance-img {
    width: 80%;
    margin-bottom: -300px;
  }
  .reassurance-text-content {
    display: block;
    margin-top: -60px;
    width: 100%;
  }
  .reassurance-text {
    background-image: url(img/sp/ansinwakusp.png);
    background-repeat: no-repeat;
    line-height: 1;
    background-size: 95%;
    height: 150px;
    transform: translate(10px, 0px);
  }
  .reassurance-text p {
    font-size: 24px;
    font-weight: 700;
    width: 100%;
    height: auto;
    text-align: center;
    padding-top: 18px;
    margin: 0;
  }
}
.num {
  font-size: 110px;
  color: #fd722e;
  font-weight: 800;
  -webkit-text-stroke: 5px #fd722e;
}
.unit {
  font-size: 60px;
-webkit-text-stroke: 5px #202933;
}
@media only screen and (max-width: 750px) {
  .num {
  -webkit-text-stroke: 1px #fd722e;
}
.unit {
  font-size: 40px;
-webkit-text-stroke: 1px #202933;
}
}
.text3 {
  padding-top: 110px;
  line-height: 1.2;
}
.titleh2 {
  width: 30%;
  margin: 160px auto 50px;
}
.reason-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  width: 60%;
  margin: 0 auto;
}
.reason-content-text {
  width: 600px;
}
.reason-content-text h3 {
  font-size: 35px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.reason-content-text p {
  font-size: 22px;
  letter-spacing: 3px;
}
.font50 {
  font-size: 32px;
  font-weight: 700;
}
.reason-content-img.pc {
  width: 60%;
}
.reason-content-img {
  width: 60%;
}
.reason-span {
  font-size: 70px;
}
.reason-span {
  font-size: 50px!important;
}
.reason-span-num {
  font-size: 70px!important;
  z-index: 100;
}
.reason-span.num1::after {
  content:"";
  display: inline-block;
  width: 148px;
  height: 7px;
  transform: translate(113px, -46px);
  background-color: #fd722e;
  z-index: -10;
  position: relative;
}
.reason-span.num2::after {
  content:"";
  display: inline-block;
  width: 300px;
  height: 10px;
  transform: translate(0px, -43px);
  background-color: #fd722e;
  z-index: -10;
  position: relative;
}
.reason-span.num3::after {
  content:"";
  display: inline-block;
  width: 350px;
  height: 10px;
  transform: translate(0px, -41px);
  background-color: #fd722e;
  z-index: -10;
  position: relative;
}
.reason-span.num4::after {
  content:"";
  display: inline-block;
  width: 300px;
  height: 10px;
  transform: translate(0px, -41px);
  background-color: #fd722e;
  z-index: -10;
  position: relative;
}
.reason-h31 {
  height: 75px;
}
.reason-h32 {
  height: 40px;
}
.reason-h33 {
  height: 80px;
}
.reason-h34 {
  height: 80px;
}
@media only screen and (max-width: 750px) {
  .reason-content {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
  .reason-content-text {
    width: 100%;
  }
  .num {
    font-size: 70px;
  }
  .text3 {
    line-height: 1;
  }
  .bk2 {
    height: 100px;
  }
  .reassurance-bk {
    transform: translate(0px, 437px);
  }
  .titleh2 {
    width: 80%;
    margin: 0px auto;
  }

  .reason-content-img.sp {
    transform: translate(15px, 0px);
  }
  .reason-content-text h3 {
    font-size: 28px;
  }
  .reason-span {
    font-size: 44px!important;
  }
  .font50 {
    font-size: 26px;
  }
  .reason-content-text p {
    font-size: 20px;
  }
  .reason-span.num1::after {
    width: 139px!important;
    transform: translate(92px, -46px)!important;
  }
  .reason-span.num2::after {
    width: 260px!important;
    transform: translate(0px, -37px)!important;
  }
  .reason-span.num3::after {
    width: 310px!important;
    transform: translate(0px, -37px)!important;
  }
  .reason-span.num4::after {
    width: 265px!important;
    transform: translate(0px, -37px)!important;
  }
}
.introduction {
  margin-top: 100px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 750px) {
   .introduction {
     margin-top: 30px;}
}
.genre p {
  width: 60%;
  margin: 0 auto;
}

.flowh2 {
  width: 14% !important;
  margin: 50px auto !important;
}
.genreh2 {
  width: 30% !important;
  margin-bottom: 50px !important;
}
.flow p {
  width: 50%;
  margin: 0 auto;
}
.flow-img2 {
  width: 30%;
  margin-top: 50px;
}
.staff p {
  width: 60%;
  margin: 100px auto;
}
@media only screen and (max-width: 750px) {
  .genreh2 {
    width: 60% !important;
    margin-top: 50px !important;
  }
  .genre p {
    width: 90%;
  }
  .flowh2 {
    width: 50% !important;
    margin: 50px auto !important;
  }
  .flow p {
    width: 90%;
  }
  .staff p {
    width: 90%;
    margin: 50px auto 50px;
  }
}
.qa-img {
  width: 20%;
  margin: 0 auto;
}
.qa-q {
  display: flex;
  align-items: center;
  margin-left: 2em;
  font-size: 24px;
  font-weight: 700;
}
.qa-a {
  display: flex;
  align-items: center;
  margin: 10px 0 10px 2.5em;
  font-size: 18px;
}
.qa-icon {
  margin: 0 1em 0 0;
}
.qa-icon img {
  width: 30px;
  max-width: 30px;
  height: 30px;
  max-height: 30px;
}
.qa-contents {
  margin-top: 50px;
}
.qa-content {
  width: 60%;
  margin: 0 auto;
  background-color: #ffece2;
  padding: 30px 20px 10px 0;
  border-radius: 20px;
  margin-bottom: 10px;
}
.qa-bottomimg p {
  width: 40%;
  margin: 50px auto 100px;
}
@media only screen and (max-width: 750px) {
  .qa-content {
    width: 90%;
  }
  .qa-q {
    margin: 0;
    font-size: 22px;
    gap: 10px;
  }
  .qa-contents {
    margin-top: 15px;
  }
  .qa-icon {
    margin: 0;
    padding: 10px;
    max-width: 18px;
  }
  .qa-a {
    margin: 0;
    font-size: 18px;
    gap: 10px;
  }
  .qa-img {
    width: 60%;
  }
  .qa-bottomimg p {
    width: 90%;
    margin: 30px auto 30px;
  }
}

.company p {
  width: 60%;
  margin: 100px auto;
}
.footer-content {
  display: flex !important;
  justify-content: space-evenly;
  padding-top: 50px;
  width: 70%;
  margin: 0 auto;
}
.fooeter-icon {
  display: flex;
  justify-content: space-between;
  margin: 50px 0;
  width: 60%;
}
.footer-company p {
  font-size: 20px;
  margin: 0;
  font-weight: 700;
  word-break: auto-phrase;
}
.footer-center p {
  font-size: 20px;
  margin: 20px 30px;
  font-weight: 700;
}
.footer-right p {
  font-size: 20px;
  margin: 20px 30px;
  font-weight: 700;
}
footer {
  background-color: #f3f3f3;
}
.footer-logo {
  width: 60%;
}
.footer-left {
  width: 33.333%!important;
  margin-top: 30px!important;
}
.fooeter-icon a {
  width: 17%;
}
.tel-text p {
  font-size: 16px;
  margin: 0;
}
.tel-num {
  font-size: 26px !important;
}
.tel {
  display: flex;
  align-items: flex-end;
  background: white;
  margin-left: 30px;
  padding: 0 10px;
}
.tel-icon {
  margin: 10px !important;
}
.tel-icon img {
  width: 70%!important;
} 
.tel-under-text {
  margin: 0 0 10px 30px !important;
}
.tel-text {
  padding-top: 20px;
}
.footer-center a {
  text-decoration: none;
  color: #202933;
}
.footer-right a {
  text-decoration: none;
  color: #202933;
}
@media only screen and (max-width: 750px) {
  .company p {
    width: 90%;
    margin: 30px auto;
  }
  .footer-content.pc {
    display: none !important;
  }
  .footer-sp.sp {
    padding: 30px;
  }
  .footer-sp.sp a {
    text-decoration: none;
    color: black;
  }
  .tel-under-text {
    margin: 0 !important;
  }
  .tel {
    margin: 20px 0;
  }
  .tel-text p {
    font-size: 14px;
  }
  .tel-text-space {
    margin-left: 1em;
  }
  .tel-num {
    font-size: 24px !important;
  }
  .tel-icon {
    width: 10%;
  }
  .footer-logo {
    width: 60%;
    margin: 50px 0 10px 0;
  }
  .footer-company p {
    font-size: 14px;
  }
  .fooeter-icon p {
    width: 60%;
  }
  .fooeter-icon {
    justify-content: center;
    gap: 30px;
    margin: 0;
  }
}

/* ここから下がハンバーガーメニューに関するCSS */

/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 100; /* 重なり順を一番上にする */
  cursor: pointer;
  right: 30px;
  top: 30px;
  position: fixed;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}

/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #fff;
  transition: 0.5s;
  line-height: 1.2;
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0; /* メニューを画面に入れる */
}
.nav_content {
  padding: 50px 20px;
}
.footersp-naviimg {
  width: 80%;
  margin-top: 30px;
}

@media only screen and (max-width: 750px) {
  .header {
    justify-content: flex-start;
    margin-top: 15px;
  }
  .header-logo {
    margin-left: 2em;
  }
  .nav_content a {
    text-decoration: none;
    color: #202933;
  }
  .drawer_open {
    top: 0px;
  }
}

/* お問い合わせフォーム */
/* .form-item {
  background-color: #FFECE2;
  border: none;
  border-radius: 3px;
}
.form-content {
  font-size: 20px;
}
.form-content span {
  color: #F10000;
}
.form {
  width: 60%;
  margin: 0 auto;
}
.form-item {
  background-color: #FFECE2;
    border: none;
    border-radius: 3px;
    width: 300px;
    padding: 10px 20px;
}
.form-content label {
  margin-right: 3em;
} */

.form {
  width: 50%;
  margin: 100px auto 0;
}
.form-content {
  display: flex;
  align-items: center;
  margin-bottom: 2em;
}
.form-content label {
  flex: 0 0 200px; /* ラベルの幅を固定 */
  margin-right: 20px; /* ラベルと入力ボックスの間隔 */
  text-align: left; /* ラベルのテキストを右揃え */
  font-family: sans-serif;
}
.form-content input,
.form-content select,
.form-content textarea {
  flex: 0 0 500px; /* 入力ボックスが残りの幅を占める */
  padding: 10px;
  border: none;
  border-radius: 3px;
  background-color: #ffece2;
}
.form-content span {
  color: #f10000;
}
button {
  background-color: #fd722f;
  color: white;
  padding: 15px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 40%;
}
.form-btn {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .form {
    width: 90%;
    position: relative;
    margin: 50px auto 0;
  }
  .form-content {
    flex-direction: column;
    align-items: flex-start;
  }
  .form-content label {
    flex: 0;
  }
  .form-content input,
  .form-content select,
  .form-content textarea {
    flex: 1; /* 入力ボックスが残りの幅を占める */
    width: 300px;
  }
  button {
    width: 75%;
  }
  .contact-text {
    font-size: 18px;
    padding: 0 10px;
  }
}

p {
  font-family: sans-serif;
  color: #202933;
}
media only screen and (max-width: 750px) {
  h2 {
  font-family: sans-serif;
  color: #202933;
  }
  p {
  font-family: sans-serif;
  color: #202933;
}  
  h3{
  font-family: sans-serif;
  color: #202933;
  }
}

.flow-img2 {
  width: 30%!important;
  margin-top: 50px!important;
}

@media only screen and (max-width: 750px) {
  .reason-span.num1::after {
          width: 122px !important;
        transform: translate(89px, -40px) !important;
  }
.reason-content-img {
  width: 100%;
  }
.reason-content-text h31 {
   font-family: sans-serif;
  color: #202933;
    height: 70px!important;
  }
.reason-content-text h32 {
   font-family: sans-serif;
  color: #202933;
    height: 40px!important;
  }
.reason-content-text h33 {
   font-family: sans-serif;
  color: #202933;
    height: 70px!important;

  }
.reason-content-text h34 {
   font-family: sans-serif;
  color: #202933;
    height: 70px!important;

  }
.reason-content-text h3 {
     font-family: sans-serif;
  color: #202933;
  }
.reason {
   margin-bottom: 30px;
}
.reason-h31 {
   font-family: sans-serif;
  color: #202933;
    height: 70px!important;
  }
.reason-h32 {
   font-family: sans-serif;
  color: #202933;
    height: 40px!important;
}
.reason-h33 {  
font-family: sans-serif;
  color: #202933;
    height: 70px!important;
}
.reason-h34 {
   font-family: sans-serif;
  color: #202933;
  height: 80px !important;
  line-height: 1.2 !important;
  }
  .qa-content {
   font-family: sans-serif;
  color: #202933;
  }
 .qa-icon {
   font-family: sans-serif;
  color: #202933;
  }
  .qa-q p {
   font-family: sans-serif;
  color: #202933;
} 
  .qa-a p {
   font-family: sans-serif;
  color: #202933;
} 
  .fv-btn a {
  width: 65%;
  }
   button {
    width: 80%;
    }
}
button {
  padding: 0 !important;
}
@media only screen and (max-width: 750px)  {
  button {
    width: 75%;
    padding: 0 !important;
  }
}
.header-logo {
  width: 13%!important;
  margin-top: 30px;
}
.fv {
  margin-top: 60px;
}
.header {
  margin-top: 0;
  background-color:rgba(255,255,255,0.9);
}
.header-list {
  margin-top: 35px!important;
}

@media only screen and (max-width: 750px) {
  .header-logo {
    width: 40%!important;
    margin-top: 15px;
  }
  .fv {
    margin-top: 30px;
  }

}