@charset "utf-8";
body{
    margin: 0;
    padding:0;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

/*----------------------------------
    header
--------------------------------- */
header{
    width: 100%;
    height: 80px;
    position: fixed;
    top:0;
    left:0;
    background-color: #fff;
    z-index: 99;
}
.logo_bland{
    width:200px;
    height: 70px;
    margin: 5px 20px;
}
.h_inner{
    width: 680px;
    position: fixed;
    top:0;
    right:0;
}
.h_inner ul{
    display: flex;
    padding-left: 0;
    margin-top: 0;
}
.h_inner ul li{
    list-style: none;
}
.h_inner_1{
    width: 300px;
    height: 80px;
    background-color: #fff;
}
.f_daial{
    margin-top: 5px;
}
.h_inner_2{
    width: 300px;
    height: 80px;
    background-image: linear-gradient(#ffb004, #ff8802);
}
.h_inner_2 a{
    text-decoration: none;
}
.h_inner_2 a:hover{
    opacity: 0.7;
}
.h_inner_3{
    width: 80px;
    height: 80px;
    background-color: #fff;
}
.h_inner_2_p{
    color: #fff;
    font-weight: 600;
    padding-left:10px;
    font-size: 1.4rem;
    line-height: 1.7rem;
    text-align: center;
    margin-top: 4px;
}
.h_inner_2 ul{
    display: flex;
}
.h_inner_2 ul li{
    list-style: none;
    padding: 10px 20px;
}
.h_inner_1_tell{
    color:#FA2929;
    font-weight: 800;
    font-size: 1.5rem;
    line-height: 2.1rem;
    padding-left:10px;
    letter-spacing: 1px;
}
.f_inner_bottom{
    background-color: #4BB742;
    color: #fff;
    font-weight: 400;
    line-height: 1.8rem;
    width: 260px;
    text-align: center;
    letter-spacing: 1px;
}
.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 40px;
  height: 30px;
  position: fixed; /* ← fixedにして常に左上固定 */
  top: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #333;
  border-radius: 2px;
  transition: 0.4s;
}

/* ハンバーガーがXに変形 */
#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* オーバーレイ背景 */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* メニュー本体（左から出す） */
.menu {
  position: fixed;
  top: 0;
  right: -300px; /* ← 初期位置を左へ */
  width: 300px;
  height: 100%;
  background-image: linear-gradient(0deg, #E56D09, #f4964a);
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  right: 0; /* ← 開いたときは左0へ */
}

.menu ul {
  list-style: none;
  padding: 60px 20px;
  display: block;
}

.menu li {
  margin: 0;
  padding: 10px 0;
}

.menu a {
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  transition: color 0.3s;
}
.menu li:hover {
margin: 0;
padding: 10px 0;
 background-image: #3d8bf1c3;
}
.menu a:hover {
    color: #1A91DA;
}
.img_sp{
    display: none;
}
@media screen and (max-width: 430px) {
.img_sp{
    display: block;
}
.img_lg{
    display: none;
}
}

/* -------------------------------
  main 
---------------------------------*/
main{
    position: absolute;
    z-index: 9;
}
.fv_img{
    margin-top: 80px;
    position: relative;
}

.cam_bg{
    width: 1060px;
    margin:-50px auto 0;
    background-color: #fff;
    z-index: 10;
    position: relative;
    padding:10px 0 0;
}
.h3_title{
    text-align: center;
    font-size: 2.3rem;
    font-weight: 800;
    color:#333;
}
.blue_base{
    height: 70px;
}
.cam_subtitle{
    position: relative;
    width: 960px;
    height: 70px;
    margin: -20px auto 0;
}

.cam_subtitle_p{
    color: #fff;
    font-weight: 800;
    text-align: center;
    font-size:2rem;
    margin-top: -65px;
}
.cam_ul{
    display: flex;
    padding-left: 0;
    margin: 50px auto 30px;
    width: 960px;

}
.cam_ul li{
    list-style: none;
    width:33.3%;
    height: 180px;
    background-color: #F2F2F2;
    margin: 10px;
    padding: 20px;
}
.cam_li_bg{
    background-color: #fff; 
    position: relative;
    padding: 12px;
}
.cam_img{
    width: 50px;
    margin: 0 auto;
}
.cam_img_2{
    width: 90px;
    margin: 0 auto;
}
.cam_img_3{
    width: 65px;
    margin: 0 auto;
}
.cam_num{
    text-align: center;
    color: #E56D09;
    font-weight: 800;
    letter-spacing: 1px;
    margin-top: -245px;
    font-size: 1.3rem;
    line-height: 1.6rem;
}
.cam_li_txt{
    margin-bottom: 0;
    text-align: left;
    font-size: 1.2rem;
}

.price_part{
    margin: 40px 0;
    position: static;
    z-index: 9;
}
.pri_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    font-size: 1.2rem;
    color:#E56D09;
}
.pri_title{
    font-size: 2.3rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 4px;
}
.pri_ul{
    width:1060px;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}
.pri_ul li{
    width: 320px;
    padding: 8px;
    margin: 8px;
}

.section-wrapper {
  position: relative;
  border-radius: 30px 30px 0px 0px;
}

.section-body {
  position: relative;
  padding-top: 80px;
  width: 100%;
  text-align: center;
  margin: 0 auto 400px;
}

.section-body2 {
  position: relative;
  padding-top: 80px;
  width: 100%;
  text-align: center;
  margin: 0 auto 300px;
}

.bg-image-fixed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* 背景を固定 */
  z-index: -1;
}

#section1 {
  margin-top: -90px;
  height: 1780px;
  .bg-image-fixed {
    background-image: url(./img/gb_1.webp);
      min-height: 1000px;
  }
}
.pri_txt{
    margin: 8px;
    font-size: 1.2rem;
}
#section2 {
  /* background-color: #bed1e3; */
    height: 2400px;
  .bg-image-fixed {
    background-image: url(./img/bg_white.webp);
  }
}
.sec2_bg{
    background-color: #F2F2F2;
    height: 530px;
}
.banner1_belt{
    background-color: #E56D09;
    width: 100%;
    color: #fff;
    font-size: 1.2rem;
    line-height: 2rem;
    padding: 16px 0 32px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    margin-top: -100px;
}
.banner1_bg{
    background-color: #fff;
    padding: 16px 40px;
    width: 980px;
    margin: -30px auto 0;
}
.banner1_ul{
    display: flex;
    list-style: none;
}
.banner1_ul_1{
    width: 180px;
}
.banner1_ul_2{
    width: 760px;
}
.banner_info{
    display: flex;
    list-style: none;
    text-align: center;
    font-size: 1.2rem;
}
.banner_info li{
    width: 50%;
    margin: 16px;
    background-color: #F2F2F2;
    padding: 24px 32px;
}
.banner1_tel {
    font-weight: 800;
    font-size: 1.8rem;
    margin: 8px 0;
}
.banner1_tel a{
    color: #FA2929;
    text-decoration: none;
}
.banner1_mail{
    width: 264px;
    height: auto;
    margin-top: 8px;
}
.banner1_card{
    font-size: 1.2rem;
    width: 520px;
    margin: 16px auto 0;
}
.banner1_card img{
    margin-top: 12px;
}
.comp_part{
    margin-top: 60px;
}
.comp_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
}
.comp_title{
    font-size: 2.3rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 10px;
}
.comp_img{
    width: 980px;
    margin: 40px auto;
}
.comp_info{
    background-color: #F2F2F2;
    width: 980px;
    margin: 30px auto;
}
.comp_info_ul{
    display: flex;
    list-style: none;
}
.comp_man{
    width: 100px;
}
.comp_txt{
    width: 740px;
    font-size: 1.15rem;
    line-height: 2rem;
    margin-top: 16px;
    margin-left: 16px;
    text-align: left;
}

.banner2_belt{
    width: 980px;
    margin: 30px auto 0;
}
.baner2_inner{
    width: 972px;
    margin: 10px auto 30px;
    border: 4px solid #E56D09;
    height: 460px;
    background-color: #fff;
}
.banner2_ul{
    width: 900px;
    margin: 32px auto 16px;
    display: flex;
    list-style: none;
    padding-left: 0;
}
.banner2_img{
    width: 30%;
}
.banner2_tel{
    width: 70%;
    padding:20px 0 4px;
    background-color: #F2F2F2;
    margin-left: 32px;
}
.banner2_freedaial img{
    width: 50px;
    height: auto;
}
.banner2_telnum a{
    color: #FA2929;
    text-decoration: none;
    font-size: 2.2rem;
    letter-spacing: 1px;
    font-weight: 800;
    margin-left: 20px;
}
.banner2_p1{
    font-weight: 800;
    font-size: 1.4rem;
    margin: -10px 0 0;
}
.web_cam{
    border: 4px solid #FA2929;
    text-align: center;
    width: 852px;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 60px;
}
.web_cam_red{
    font-size: 1.8rem;
    font-weight: 800;
    color: #FA2929;
}
.banner2_mail{
    width: 864px;
    margin: 20px auto;
}
.campain_51off{
    width:980px;
    margin: 20px auto;
}

#section3 {
  /* background-color: #92a1c3; */
  height: 860px;
    .bg-image-fixed {
    background-image: url(./img/gb_2.webp);
  }
}
.bar_bg{
    width: 100%;
    height: 280px;
    background-image: url(./img/bar_1.webp);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -80px;
}
.tro-part{
    margin-top: 80px;
}
.tro_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
}
.tro_title{
    font-size: 2.3rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 10px;
}
.green_color{
    color:#E56D09;
}
.tro_inner ul{
    display: flex;
    padding-left: 0;
    list-style: none;
    margin: 30px auto 0;
    width: 980px;
}
.tro_li_1{
    width: 400px;
}
.tro_li_2{
    width: 180px;
}
.tro_li_3{
    width: 400px;
}
.tro_img{
    width:180px;
    margin: 0 auto;
}

#section4 {
background-color: #ffffff; 
  height: 700px;

}
.rea_part{
    margin-top: -120px;
}
.rea_bg{
    background-color: #fff;
    width: 1060px;
    margin: 0 auto;
    padding: 24px;
}
.rea_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
    margin-top: 30px;
}
.rea_title{
    font-size: 2.3rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 10px;
}
.rea_ul{
    display: flex;
    padding: 16px 36px;
    list-style: none;
    width: 960px;
    margin: 20px auto;
    text-align: left;
}
.rea_ul li{
    width: 260px;
    height: 180px;
    margin-right: 24px;
    background-color: #F2F2F2;
    padding: 24px;
    font-size: 1.1rem;
}
.rea_ul li:last-child{
    margin-right: 0;
}
.rea_ul_2{
    display: flex;
    padding: 16px 36px;
    list-style: none;
    width: 640px;
    margin: 20px auto;
    text-align: left;
}
.rea_ul_2 li{
    width: 260px;
    height: 180px;
    margin-right: 16px;
    background-color: #F2F2F2;
    padding: 24px;
    font-size: 1.1rem;
}
.rea_ul_2 li:last-child{
    margin-right: 0;
}
.rea_wrap{
    background-color: #fff;
    height: 110px;
    position: relative;
}
.rea_wrap img{
    position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
}

.rea_num{
position: absolute;
    background-color: #E56D09;
    color: #fff;
    font-weight: 800;
    font-size: 2rem;
    width: 50px;
    height: 50px;
    margin-top: -220px;
    margin-left: -24px;
    z-index: 9;
    text-align: center;
}
#section5 {
  /* background-color: #92a1c3; */
  height: 1820px;
    .bg-image-fixed {
    background-image: url(./img/gb_1.webp);
  }
}
.item_bg{
    width: 1060px;
    margin: 30px auto;
    padding: 32px 0;
    background-color: #fff;
}
.item_subtitle{
    color: #E56D09;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: 1px;
}
.item_ul{
    display: flex;
    list-style: none;
}
.item_ul_2{
    width:542px;
    margin: 20px auto;
 }
 .item_ul_3{
    width:724px;
    margin: 20px auto;
 }
.item_li{
    width: 262px;
    padding: 24px;
    background-color: #F2F2F2;
    margin-right: 22px;
}
.item_li_2{
    width: 310px;
    padding: 24px;
    background-color: #F2F2F2;
    margin-right: 22px;
    text-align: left;
}
.item_li:last-child{
    margin-right: 0;
}
.item_sub{
    color: #E56D09;
    font-weight: 800;
    font-size: 1.2rem;
    text-align: center;
}
.item_li p{
    font-size: 1.1rem;
    text-align: left;
}
#section6 {
  /* background-color: #bed1e3; */
    height: 1770px;
  .bg-image-fixed {
    background-image: url(./img/bg_white.webp);
  }
}
.case_part{
    margin: 60px auto;
}
.case_inner{
    width:960px;
    margin: 30px auto;
}
.case_inner img{
    margin-bottom: 40px;
}
.flow_part{
    margin-top: 60px;
}
.case_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
}
.case_title{
    font-size: 2.3rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 10px;
}
#section7 {
    height: 800px;
  .bg-image-fixed {
    background-color: #FBD6B2;
    }

}
.flow_inner{
    display: block;
    width:1060px;
    margin: 40px auto;
}
.flow_ul{
    display: flex;
    padding: 0;
    list-style: none;
    width: 960px;
    margin: 16px auto;
    background-color: #fff;
}
.flow_ul li{
      list-style: none;
}
.flow_ul li:first-child{
    width: 180px;
    height: 180px;
}
.flow_li_sec{
margin-left: 30px;
}
.flow_step{
    color:#E56D09;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 2px;
    margin-top: 50px;
}
.flow_num{
    color: #E56D09;
    font-size: 2.5rem;
    font-weight: 800;
}
.flow_ul li:last-child{
    text-align: left;
    width: 600px;
    padding: 30px 0 0 30px;
}
.flow_subti{
    font-size: 1.5rem;
    font-weight: 600;

}
#section8 {
  /* background-color: #bed1e3; */
    height: 2330px;
  .bg-image-fixed {
    background-image: url(./img/bg_white.webp);
  }
}
.pur_part{
    margin-top: 60px;
}
.kaitori_img{
    width: 980px;
    margin: 30px auto;
}
.kaitori_part{
    margin-top: 60px;
}
.kai_img{
    width: 160px;
    margin: 0 auto;
}
.kai_top{
    width:960px;
    margin: 30px auto;
    background-color: #fff;
}
.kai_top_innner{
    font-size: 1.2rem;
    text-align: left;
    width: 800px;
    margin: 30px auto;
    padding: 26px 0 20px;
}
.kai_top_innner p{
    margin: 0;
}
.color_red{
    color: #FA2929;
}
.kai_bg{
    background-color: #fff;
    width: 960px;
    margin: 40px auto;
    padding: 40px 0;
}
.kai_title2{
    color: #E56D09;
    font-weight: 600;
    font-size: 1.6rem;
}
.kai_inner{
    width: 800px;
    margin: 20px auto;
    text-align: left;
    font-size: 1.2rem;
}
.kai_img2{
    margin: 20px 0;
}
.kai_ul{
    display: flex;
    list-style: none;
    width: 800px;
    margin: 20px auto;
    text-align: left;
    padding: 0;
    font-size: 1.2rem;
}
.kai_ul li:first-child{
    width: 660px;
    padding-right: 20px;
}
.kai_ul li:last-child{
    width: 140px;
}
#section9 {
  /* background-color: #92a1c3; */
  height: 1920px;
    .bg-image-fixed {
    background-image: url(./img/gb_1.webp);
  }
}
#section10 {
  /* background-color: #92a1c3; */
  height: 890px;
    .bg-image-fixed {
    background-color: #FBD6B2;
  }
}
.faq_part{
    margin-top: 60px;
}
.faq_inner{
    width: 700px;
    margin: 20px auto;
    font-size: 1.2rem;
    text-align: left;
}
.color_green{
    color: #E56D09;
    padding-right: 10px;
}
.faq_title{
    font-weight: 600;
    margin-top: 16px;
    color: #333;
    margin-top: 10px;
}
.faq_inner>p{
    padding-left: 30px;
}
#section11 {
  /* background-color: #92a1c3; */
  height: 510px;
    .bg-image-fixed {
    background-image: url(./img/gb_2.webp);
  }
}
.company_bg{
    width: 890px;
    margin: 0 auto 30px;
    background-color: #fff;
}
.company_inner{
    margin: 20px auto;
    width: 700px;
    padding-bottom: 40px;
}
.company_title{
    color: #E56D09;
    font-weight: 600;
    font-size: 1.6rem;
    padding-top: 30px;
}
.company_ul{
    display: flex;
    list-style: none;
    padding: 0 0 8px 0;
    width: 500px;
    margin: 0 auto;
    text-align: left;
    font-size: 1.1rem;
}
.company_ul li{
    width: 50%;
}
#section12{
    background-color: #fff;
}
.caution_inner{
padding: 60px 0;
}
.caution_bg{
    margin: 0 auto;
    background-color: #f0f0f0;
    width: 890px;
    height: 300px;
}
.caution_ul{
    display: flex;
    padding-left: 0;
    list-style: none;
}
.caution_ul li:first-child{
    width: 580px;
    height: 240px;
    background-color: #fff;
    margin: 30px auto;
}
.caution_ul li:first-child>p{
    padding: 0 20px 0 20px;
    font-size: 1.2rem;
}
.caution_ul li:last-child{
    width: 200px;
    margin: 40px auto 40px 0;
}
.color_red{
    color: #FA2929;
}
.caution_title{
    font-size: 1.4rem;
    font-weight: 600;
    margin: 20px 0 0 20px;
}
.map_bg{
    background-image: url("./img/map_bg.png");
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 530px;
    padding-top: 30px;
}
.map_inner{
    margin: 40px 40px 0 50px;
    background-color: #ffffff8c;
    padding: 20px;
    width: 400px;
}
.map_title{
    font-size: 1.2rem;
    font-weight: 600;
}
.map_inner>p{
    font-size: 1.1rem;
    padding-left: 24px;
    margin-top: 4px;
}
.rea_ul_sp1{
    display: none;
}
.rea_ul_sp2{
    display: none;
}
.rea_ul_sp3{
    display: none;
}
.lg{
    display: block;
}
.sp{
    display: none;
}
.h_inner_sp{
    display: none;
}
.flow_inner_sp{
    display: none;
}

@media screen and (max-width: 480px) {
.lg{
    display: none;
}
.sp{
    display: block;
}
.h_inner_sp{
    display: block;
}
header{
    width: 100%;
    height: 70px;
    position: fixed;
    top:0;
    left:0;
    background-color: #fff;
    z-index: 99;
}
.logo_bland{
    width:130px;
    height: 70px;
    margin: 10px 10px 0 10px;
}
.h_inner{
    width: 220px;
    position: fixed;
    top:0;
    right:0;
    height: 70px;
}
.h_inner ul li{
    height: 70px;
}
.h_inner_sp1{
    width: 35%;
    background-color: #FA2929;
}
.f_tel_img{
    width: 33px;
    margin: 4px auto 0;
}
.f_mail_img{
    width: 33px;
    margin: 6px auto -2px;
}
.h_inner_sp1 a{
    color: #fff;
    text-decoration: none;
}
.h_inner_sp1 p{
    color: #fff;
    text-align: center;
    margin-top: -2px;
    font-weight: 600;
}
.h_inner_sp2{
    width: 35%;
    background-image: linear-gradient(#ff9633, #ee7d07);
}
.h_inner_sp2 a{
    color: #fff;
    text-decoration: none;
}
.h_inner_sp2 p{
    color: #fff;
    text-align: center;
    margin-top: -4px;
    font-weight: 600;
}
.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 40px;
  height: 30px;
  position: fixed; /* ← fixedにして常に左上固定 */
  top: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #333;
  border-radius: 2px;
  transition: 0.4s;
}

/* ハンバーガーがXに変形 */
#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* オーバーレイ背景 */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* メニュー本体（左から出す） */
.menu {
  position: fixed;
  top: 0;
  right: -250px; /* ← 初期位置を左へ */
  width: 250px;
  height: 100%;
  background-image: linear-gradient(0deg, #E56D09, #f4964a);
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  right: 0; /* ← 開いたときは左0へ */
}

.menu ul {
  list-style: none;
  padding: 100px 20px;
  display: block;
}

.menu ul li {
  margin: 0;
  padding: 10px 0;
  height: 30px;
}

.menu a {
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  transition: color 0.3s;
}
.menu li:hover {
margin: 0;
padding: 10px 0;
 background-image: #3d8bf1c3;
}
.menu a:hover {
    color: #1A91DA;
}
.img_sp{
    display: none;
}

.img_sp{
    display: block;
}
.img_lg{
    display: none;
}


/* -------------------------------
  main 
---------------------------------*/

main{
    position: absolute;
    z-index: 9;
}
.fv_img{
    margin-top: 70px;
    position: relative;
}

.cam_bg{
    width: 95%;
    margin:-30px auto 0;
    background-color: #fff;
    z-index: 10;
    position: relative;
    padding:20px 0 0;
}
.h3_title{
    text-align: center;
    font-size: 1.5rem;
    font-weight: 800;
    color:#333;
    margin-top: 10px;
}
.blue_base{
    height: 60px;
}
.cam_subtitle{
    position: relative;
    width: 350px;
    height: 70px;
    margin: -20px auto 0;
}

.cam_subtitle_p{
    color: #fff;
    font-weight: 800;
    text-align: center;
    font-size:1.5rem;
    margin-top: -53px;
}
.cam_ul{
    display: block;
    padding-left: 0;
    margin: 50px auto 30px;
    width: 95%;

}
.cam_ul li{
    list-style: none;
    width:84%;
    height: 180px;
    background-color: #F2F2F2;
    margin: 50px auto;
    padding: 20px;
}
.cam_ul li:first-child{
    margin: 10px;
}
.cam_li_bg{
    background-color: #fff; 
    position: relative;
    padding: 12px;
}
.cam_img{
    width: 50px;
    margin: 0 auto;
}
.cam_img_2{
    width: 90px;
    margin: 0 auto;
}
.cam_img_3{
    width: 65px;
    margin: 0 auto;
}
.cam_num{
    text-align: center;
    color: #E56D09;
    font-weight: 800;
    letter-spacing: 1px;
    margin-top: -218px;
    font-size: 1.1rem;
    line-height: 1.2rem;
}
.cam_li_txt{
    margin-bottom: 0;
    text-align: left;
    font-size: 1.2rem;
    margin-top: 4px;
}

.price_part{
    margin: 30px 0;
    position: static;
    z-index: 9;
}
.pri_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    font-size: 1.2rem;
    color:#E56D09;
}
.pri_title{
    font-size: 2.3rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 4px;
}
.pri_ul{
height: 0;
}
.pri_ul2{
    width:95%;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}
.pri_ul2 li{
    width: 100%;
    padding: 8px;
    margin: 8px;
}

.section-wrapper {
  position: relative;
  border-radius: 30px 30px 0px 0px;
}

.section-body {
  position: relative;
  padding-top: 80px;
  width: 100%;
  text-align: center;
  margin: 0 auto 400px;
}

.section-body2 {
  position: relative;
  padding-top: 80px;
  width: 100%;
  text-align: center;
  margin: 0 auto 300px;
}

.bg-image-fixed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* 背景を固定 */
  z-index: -1;
}

#section1 {
  margin-top: -90px;
  height: 2750px;
  .bg-image-fixed {
    background-image: url(./img/bg_sp_gray.webp);
      min-height: 1000px;

  }
}
.pri_txt{
    margin: 8px 16px;
    font-size: 1.2rem;
    text-align: left;
}
#section2 {
  /* background-color: #bed1e3; */
    height: 2630px;
  .bg-image-fixed {
    background-image: url(./img/bg_sp_wh.webp);

  }
}
.sec2_bg{
    background-color: #F2F2F2;
    height: 780px;
}
.banner1_belt{
    background-color: #E56D09;
    width: 100%;
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.6rem;
    padding: 16px 0 20px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    margin-top: -100px;
}
.banner1_belt h2{
    margin-top: 6px;
}
.banner1_bg{
    background-color: #fff;
    padding: 16px 20px;
    width: 80%;
    margin: -25px auto 0;
}
.banner1_ul{
    display: block;
    list-style: none;
    padding-left: 0;
}
.banner1_ul_1{
    width: 210px;
    margin: 0 auto;
}
.banner1_ul_2{
    width: 95%;
    margin: 0 auto;
}
.banner_info{
    display: block;
    list-style: none;
    text-align: center;
    font-size: 1.2rem;
    padding-left: 0;
}
.banner_info li{
    width: 100%;
    margin: 16px auto;
    background-color: #F2F2F2;
    padding: 24px 0;
}
.banner_info li:first-child{
    line-height: 1.1rem;
}
.banner1_tel {
    font-weight: 800;
    font-size: 1.8rem;
    margin: 8px 0;
}
.banner1_tel a{
    color: #FA2929;
    text-decoration: none;
}
.banner1_mail{
    width: 290px;
    height: auto;
    margin: 8px auto 0;
}
.banner1_card{
    font-size: 1.2rem;
    width: 100%;
    margin: 16px auto 0;
}
.banner1_card img{
    margin-top: 12px;
}
.comp_part{
    margin-top: 40px;
}
.comp_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
}
.comp_title{
    font-size: 2rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 8px;
}
.comp_img{
    width: 90%;
    margin: 40px auto 20px;
    overflow-x: scroll;
    display: flex;
    padding-left: 20px;
}
.comp_img>img{
    width: 600px;
    height: auto;
}
.comp_slideinfo{
    width:180px;
    margin: 0 auto;

}
.comp_info{
    background-color: #F2F2F2;
    width: 90%;
    margin: 30px auto;
}
.comp_info_ul{
    display: block;
    list-style: none;
    padding-left: 8px;
}
.comp_man{
    width: 100px;
    margin: 0 auto;
}
.comp_txt{
    width: 95%;
    font-size: 1.15rem;
    line-height: 1.8rem;
    margin: 0 auto;
    text-align: left;
    padding: 4px 0 8px;
}
.banner2_belt{
    width: 95%;
    margin: 30px auto 0;
}
.baner2_inner{
    width: 92%;
    margin: 10px auto 30px;
    border: 4px solid #E56D09;
    height: 570px;
    background-color: #fff;
}
.banner2_ul{
    width: 90%;
    margin: 16px auto 16px;
    display: block;
    list-style: none;
    padding-left: 0;
}
.banner2_img{
    width: 50%;
    margin: 0 auto;
}
.banner2_telbtn{
    width: 92%;
    margin: 12px auto;
}
.banner2_tel{
    width: 100%;
    padding:4px 0;
    background-color: #F2F2F2;
    margin-left: 0;
}

.banner2_p1{
    font-weight: 800;
    font-size: 1.2rem;
    margin: -10px 0 0;
    text-align: center;
}
.banner2_p2{
    margin-top: 0;
    text-align: center;
}
.web_cam{
    border: 4px solid #FA2929;
    text-align: center;
    width: 89%;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 30px;
}
.br_sp{
    height: 0;
}
.web_cam_red{
    font-size: 1.4rem;
    font-weight: 800;
    color: #FA2929;
}
.banner2_mail{
    width: 92%;
    margin: 20px auto;
}
.campain_51off{
    width: 93%;
    margin: -16px auto 0;
}

#section3 {
  /* background-color: #92a1c3; */
  height: 680px;
    .bg-image-fixed {
    background-image: url(./img/gb_2.webp);
  }
}
.bar_bg{
    width: 100%;
    height: 140px;
    background-image: url(./img/bar_1.webp);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -80px;
}
.tro-part{
    margin-top: 40px;
}
.tro_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
}
.tro_title{
    font-size: 2rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 8px;
}
.green_color{
    color:#E56D09;
}
.tro_inner ul{
    display: block;
    padding-left: 0;
    list-style: none;
    margin: 30px auto 0;
    width: 90%;
}
.tro_li_1{
    width: 280px;
}
.tro_li_2{
    width: 0;
    height: 0;
}
.tro_li_3{
    width: 280px;
    margin-left: 60px;
}
.tro_img{
    width:100px;
    margin: 16px auto 0;
}

#section4 {
background-color: #ffffff; 
  height: 1160px;

}
.rea_part{
    margin: -80px  auto 0;
    width: 93%;
}
.rea_bg{
    background-color: #fff;
    width: 95%;
    margin: 0 auto;
    padding: 0;
}
.rea_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
    margin-top: 30px;
}
.rea_title{
    font-size: 2rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 8px;
}
.rea_ul{
    display: none;

}

.rea_ul_2{
    display: none;
    padding: 16px 36px;
    list-style: none;
    width: 90%;
    margin: 20px auto;
    text-align: left;
}
.rea_ul_sp1{
    display: block;
    width: 93%;
    margin: 20px auto;
list-style: none;
padding-left: 0;
}
.rea_ul_sp1 li{
    width: 100%;
    margin-bottom: 16px;
}
.rea_li_inner{
    background-color: #F2F2F2;
    padding: 16px 16px 4px;
    text-align: left;
    font-size: 1.1rem;
}
.rea_wrap{
    background-color: #fff;
    height: 80px;
    position: relative;
}
.rea_wrap img{
    position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
}

.rea_num{
position: absolute;
    background-color: #E56D09;
    color: #fff;
    font-weight: 800;
    font-size: 2rem;
    width: 50px;
    height: 50px;
    margin-top: -180px;
    margin-left: -16px;
    z-index: 9;
    text-align: center;
}
#section5 {
  /* background-color: #92a1c3; */
  height: 2570px;
    .bg-image-fixed {
    background-image: url(./img/bg_sp_gray.webp);

  }
}
.item_subtitle_sp{
    margin-top: -50px;
}
.item_bg{
    width: 92%;
    margin: 20px auto;
    padding: 32px 0;
    background-color: #fff;
}
.item_subtitle{
    color: #E56D09;
    font-size: 1.6rem;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 16px;
}
.item_ul{
    display: block;
    list-style: none;
    width: 85%;
    padding-left: 0;
    margin: 0 auto;
}

.item_ul_2{
    width:100%;
    margin: 8px auto;
 }
 .item_ul_3{
    width: 100%;
    margin: 8px auto;
 }
.item_li{
    width: 90%;
    padding: 24px 12px;
    background-color: #F2F2F2;
    margin: 8px auto;
}
.item_li_2{
    width: 80%;
    padding: 24px 12px;
    background-color: #F2F2F2;
    margin: 8px auto;
}
.item_li:last-child{
    margin-right: auto;
}
.item_sub{
    color: #E56D09;
    font-weight: 800;
    font-size: 1.2rem;
    text-align: center;
}
.item_li p{
    font-size: 1.1rem;
    text-align: left;
}
#section6 {
  /* background-color: #bed1e3; */
    height: 2090px;
  .bg-image-fixed {
    background-image: url(./img/bg_sp_wh.webp);

  }
}
.case_part{
    margin: 30px auto;
}
.case_inner{
    width:95%;
    margin: 30px auto;
}
.case_inner img{
    margin-bottom: 40px;
}
.flow_part{
    margin-top: 60px;
}
.case_subtitle{
    font-weight: 800;
    text-align: center;
    letter-spacing: 1px;
    color:#E56D09;
}
.case_title{
    font-size: 2rem;
    font-weight: 800;
    text-align: center;
    color: #333;
    letter-spacing: 1px;
    margin-top: 8px;
}
#section7 {
    height: 950px;
  .bg-image-fixed {
    background-color: #FBD6B2;
    }

}
.flow_part{
    margin-top: 30px;
}
.flow_inner{
    display: none;
}

.flow_inner_sp{
    display: block;
}
.flow_cnt{
    background-color: #fff;
    width: 95%;
    margin: 0 auto;
}
.flow_cnt ul{
    display: flex;
    padding: 0;
    list-style: none;
    text-align: left;
}
.flow_cnt ul li:first-child{
    width: 100px;
    height: 100px;
}
.flow_cnt ul li:last-child{
    margin: 6px 0 0 12px;
}
.flow_num{
    font-size: 1.9rem;
    font-weight: 600;
    margin-left: 3px;
}
.flow_title_sp{
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: #333;
}
.flow_txt{
    text-align: left;
    padding: 0 8px 8px 8px;
}
.section-body_sp1{
    padding-top: 0;
    margin-top: -50px;
}
#section8 {
  /* background-color: #bed1e3; */
    height: 2880px;
  .bg-image-fixed {
    background-image: url(./img/bg_sp_wh.webp);

  }
}
.pur_part{
    margin-top: 60px;
}
.kaitori_img{
    width: 92%;
    margin: 20px auto;
}
.kaitori_part{
    margin-top: -30px;
}
.kai_img{
    width: 160px;
    margin: 0 auto;
}
.kai_top{
    width:90%;
    margin: 30px auto;
    background-color: #fff;
}
.kai_top_innner{
    font-size: 1.1rem;
    text-align: left;
    width: 90%;
    margin: 30px auto;
    padding: 26px 0 20px;
}
.kai_top_innner p{
    margin: 0;
}
.color_red{
    color: #FA2929;
}
.kai_bg{
    background-color: #fff;
    width: 90%;
    margin: 40px auto;
    padding: 40px 0;
}
.kai_title2{
    color: #E56D09;
    font-weight: 600;
    font-size: 1.3rem;
    margin-bottom: 16px;
}
.kai_inner{
    width: 85%;
    margin: 20px auto;
    text-align: left;
    font-size: 1.2rem;
}
.kai_img2{
    margin: 20px 0;
}
.kai_ul{
    display: block;
    list-style: none;
    width: 85%;
    margin: 20px auto 8px;
    text-align: left;
    padding: 0;
    font-size: 1.2rem;
}
.kai_ul li:first-child{
    width: 95%;
    padding-right: 0;
    margin: 0 auto;
}
.kai_ul li:last-child{
    width: 160px;
    margin: 16px auto 0;
}
#section9 {
  /* background-color: #92a1c3; */
  height: 3400px;
    .bg-image-fixed {
    background-image: url(./img/bg_sp_gray.webp);

  }
}
#section10 {
  /* background-color: #92a1c3; */
  height: 930px;
    .bg-image-fixed {
    background-color: #FBD6B2;
  }
}
.faq_part{
    margin-top: 0;
}
.faq_inner{
    width: 90%;
    margin: 20px auto;
    font-size: 1.1rem;
    text-align: left;
}
.color_green{
    color: #E56D09;
    padding-right: 10px;
}
.faq_title{
    font-weight: 600;
    margin-top: 16px;
    color: #333;
}
.faq_inner>p{
    padding-left: 30px;
}
#section11 {
  /* background-color: #92a1c3; */
  height: 490px;
    .bg-image-fixed {
    background-image: url(./img/gb_2.webp);

  }
}
.company_bg{
    width: 90%;
    margin: -50px auto 0;
    background-color: #fff;
}
.company_inner{
    margin: 0 auto;
    width: 100%;
    padding-bottom: 40px;
}
.company_title{
    color: #E56D09;
    font-weight: 600;
    font-size: 1.6rem;
    padding-top: 30px;
}
.company_ul{
    display: flex;
    list-style: none;
    padding: 0 0 8px 0;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    font-size: 1.1rem;
}
.company_ul li{
    width: 50%;
}
#section12{
    background-color: #fff;
}
.caution_inner{
padding: 60px 0;
}
.caution_bg{
    margin: 0 auto;
    background-color: #f0f0f0;
    width: 95%;
    height: 540px;
    padding-top: 10px;
}
.caution_ul{
    display: block;
    padding-left: 0;
    list-style: none;
}
.caution_ul li:first-child{
    width: 90%;
    height: 330px;
    background-color: #fff;
    margin: 30px auto 0;
}
.caution_ul li:first-child>p{
    padding: 0 20px 0 20px;
    font-size: 1.1rem;
}
.caution_ul li:last-child{
    width: 35%;
    margin: 20px auto 20px;
}
.color_red{
    color: #FA2929;
}
.caution_title{
    font-size: 1.3rem;
    font-weight: 600;
    padding-top: 20px;
}
.map_bg{
    background-image: url("./img/bg_map_sp.png");
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 550px;
    padding-top: 30px;
}
.map_inner{
    margin: 70px 0 0 20px;
    background-color: #ffffffb8;
    padding: 20px 20px 10px 20px;
    width: 260px;
}
.map_title{
    font-size: 1.1rem;
    font-weight: 600;
}
.map_inner>p{
    font-size: 1rem;
    padding-left: 24px;
    margin-top: 4px;
}
.f_sp{
    margin-top: 40px;
    width: 100%;
    height: 66px;
    position: fixed;
    bottom:0;
    left:0;
    background-color: #ffffff7e;
    z-index: 999;
}
footer{
    width: 100%;
    margin-bottom: 100px;
}
.f_ul{
    display: flex;
    padding-left: 0;
    width: 90%;
    margin: 0 auto;
    list-style: none;
}
.f_ul li:first-child{
    width: 53%;
    padding-right: 10px;
    padding-left: 10px;
}
.f_ul li:last-child{
    width: 40%;

}
}
footer>p{
    color: #333;
    margin-bottom: 30px;
    text-align: center;
    letter-spacing: 1px;
    font-size: 0.8rem;
}