@charset "utf-8";
.main_container{
    width:100%;
    padding:0 20px;
}
.company_topimage_container{
    width:100%;
    height:700px;
    background-image: url("../img/companyimage.jpg");
    background-size: cover;
    background-position:bottom;
}
.company_main_container{
    width:1000px;
    margin:0 auto;
}
.company_main_txt{
    display: flex;
    flex-wrap: wrap;
    margin-bottom:30px;
    gap:30px;
}
.company_main_txt_heading{
    width:300px;
}
.company_main_txt_heading h3{
    border-left:#3b0175 10px solid;
    padding-left:10px;
}
.company_main_txt p{
    font-size: 20px;
}
.access_map iframe{
    width:100%;
}
/* ここからお問い合わせページ */
.contact_topimage_container{
    width:100%;
    height:700px;
    background-image: url("../img/contact_top.jpg");
    background-size: cover;
    background-position:center;
}
.contact_frm{
    margin:0 auto;
    border-collapse: collapse;
}
.contact_frm td{
    border: solid 1px #3b0175;
    padding:30px;
}
.contact_frm th{
    border:1px solid #ffffff ;
}
.tb_contact_ttl{
    background-color: #23004781;
    color: #ffffff;
    padding:30px;
}
.address_frm span{
    display: block;
}
.address_frm input{
    margin-bottom:10px;
}
#street_address{
    width:500px;
}
#other_address{
    width:500px;
}
#usertel{
    width:300px;
}
#usermail{
    width:300px;
}
#usercomment{
    width:500px;
    height:200px;
}
#tb_contact_btn{
    border: none;
}
.contact_btn{
    border: none;
    border:3px solid #ffffff;
    font-size: 20px;
    color:#ffffff;
    border-radius: 15px;
    padding:10px 100px;
    background-image: linear-gradient( 90deg, rgb(215,10,132) 0%, rgb(81,18,127) 100%);
    cursor:pointer;
    position: relative;
}
.contact_btn:hover{
    transition: 0.5s;
    background-image: linear-gradient( 90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
     color: #3b0175;
     border:3px solid rgb(81,18,127);
    background-color:#ffffff;
} 
/* ここから製作過程ページ */
.process_main_container{
    width:80%;
    margin:0 auto;
}
.process_topimage_container{
    width:100%;
    height:700px;
    background-image: url("../img/process_top.jpg");
    background-size: cover;
    background-position:center;
}
.process_main_container{
    display: flex;
    flex-wrap: wrap;
    gap:30px;
    justify-content: center;
    align-items:start;
}
.process_main_box{
    display: flex;
    flex-wrap: wrap;
    gap:30px;
    align-items: center;
    justify-content: center;
}
.process_main_box img{
    width:560px;
    height:373px;
}
.process_main_txt_box{
    width:400px;
}
.process_main_txt_heading h3{
    font-size: 50px;
    color: #3b0175;
    border-bottom: #3b0175 3px solid;
}
.process_main_txt_heading span{
    font-size: 30px;
    margin-left:20px;
}
.process_main_txt{
    align-content: center;
    height:150px;
    font-size: 18px;
    padding:20px 0;
}
@media screen and (max-width:960px) {
    .process_main_container{
        width:100%;
    }
    .process_main_box{
        width:100%;
    }
    .process_main_box img{
        width:100%;
        height:auto;
    }
    table, thead, tbody, th, td, tr {
    display: block;
  }
  .contact_frm th{
    border: none;
  }
}
@media screen and (max-width:480px) {
    .contact_topimage_container,
    .company_topimage_container,
    .process_topimage_container{
    width:100%;
    height:300px;
   }
   .company_main_container{
    width:100%;
   }
   .process_main_txt{
    font-size: 15px;
   }
   .company_main_txt p{
    font-size: 16px;
   }
   #usercomment{
    width:90%;
   }
   #usertel,
   #usermail,
   #other_address,
   #street_address{
    width:90%;
   }
   .contact_btn{
    width:100%;
    padding:10px 20px;
    font-size: 18px;
   }
}