html {
  -webkit-text-size-adjust: 100%;
}

body{
  margin:0;
  background-image:url("image/bg-top.gif");
  background-repeat:repeat-x;
  background-position:top center;
  font-family: sans-serif;
}

body#form-bg{
  background-color:#ffffff;
}

div#all-bg{
  margin:0;
  background-image:url("image/bg-bottom.gif");
  background-repeat:repeat-x;
  background-position:bottom center;
}

div#head-tx{
  text-align:center;
  font-size:13px;
  font-weight:bold;
  color:#555555;
  line-height:1;
  padding:4px 10px;
  box-sizing:border-box;
}

/* バナー */
table#bunner01a{
  width:100%;
  max-width:900px;
  height:390px;
  margin-left:auto;
  margin-right:auto;
  border-collapse:collapse;
  border:0;
}

td#bunner-td01{
  width:auto;
  height:80px;
  vertical-align:top;
  border:0;
}

td#bunner-td02{
  width:auto;
  height:120px;
  border:0;
}

td#bunner-td03{
  width:auto;
  height:190px;
  border:0;
}

div#bunner-tx{
  font-size:13px;
  width:100%;
  margin-left:0;
  margin-top:15;
  line-height:22px;
  color:#3f3f3f;
  text-align:right;
}

div#bunner-tx01{
  font-size:18px;
  width:100%;
  margin-right:20px;
  line-height:28px;
  color:#3f3f3f;
  text-align:right;
}

div#bunner-tx02{
  font-size:45px;
  width:100%;
  margin-left:-30;
  margin-top:80;
  line-height:40px;
  color:#3f3f3f;
  text-align:right;
}

img#logo{
  margin-left:10px;
  margin-top:30px;
}

table#all-ta{
  width:1000px;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  margin-top:0;
  border-collapse:collapse;
}

tr#all-tr01{
  width:1000px;
  height:200px;
  background-position:center;
}

td#all-td01{
  width:1000px;
  max-width:100%;
  height:400px;
  background-image:url("image/bunner00.jpg");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:95% auto;
  overflow:hidden;
  vertical-align:top;
}

tr#all-tr02{
  width:1000px;
  height:50px;
  text-align:center;
}

tr#all-tr05{
  width:1000px;
  height:200px;
  text-align:center;
  vertical-align:bottom;
}

td#all-td05-1{
  width:250px;
  text-align:left;
  vertical-align:top;
}

td#all-td05-2{
  width:750px;
  max-width:100%;
  margin:0 auto;
  padding:0 10px;
  box-sizing:border-box;
  text-align:center;
  vertical-align:top;
}

/* 左側 */
img#right-img01{margin-top:8px;}

table#right-ta{
  width:245px;
  height:200px;
  background-color:#2b2bd5;
  margin-right:5px;
}

tr#right-tr{
  width:245px;
  background-color:#ffffff;
}

td#right-td{
  width:245px;
  vertical-align:top;
}

div#right00-tx{
  font-size:12px;
  width:235px;
  margin-left:8px;
  line-height:15px;
  color:#ff2b2b;
  font-weight:bold;
}

div#right01-tx{
  font-size:10px;
  width:235px;
  margin-left:8px;
  line-height:13px;
  color:#3f3f3f;
}

div#right011-tx{
  font-size:18px;
  width:80%;
  margin-left:8px;
  line-height:28px;
  color:#0055aa;
  font-weight:bold;
  margin-top:10px;
  margin-bottom:8px;
}

div#right012-tx{
  font-size:18px;
  width:80%;
  margin-left:8px;
  line-height:16px;
  color:#3f3f3f;
  font-weight:bold;
  margin-bottom:10px;
}

div#right013-tx{
  font-size:13px;
  width:235px;
  margin-left:8px;
  line-height:16px;
  color:#3f3f3f;
  margin-bottom:10px;
}

/* 左ボタン */
img#left-b01{margin-top:8px;margin-bottom:3px;}
img#left-b02{margin-top:0;margin-bottom:3px;}

/* フッター */
table#bottom-ta{width:950px;height:195px;}
td#bottom-td01{width:300px;vertical-align:top;}
td#bottom-td02{width:650px;height:95px;}
td#bottom-td03{width:650px;height:100px;}

div#bottom-tx01{
  font-size:15px;
  font-weight:bold;
  margin-bottom:8px;
  color:#555555;
  margin-top:30px;
  margin-left:30px;
}

div#bottom-tx01a{font-size:14px;margin-left:40px;line-height:20px;}
div#bottom-tx02{font-size:13px;font-weight:bold;margin-bottom:5px;color:#555555;}
div#bottom-tx02a{font-size:11px;line-height:18px;margin-left:10px;}
div#bottom-tx03{font-size:12px;line-height:18px;}

div#cr-tx{
  text-align:center;
  font-size:12px;
  font-weight:bold;
  color:#ffffff;
  margin-top:3px;
  margin-bottom:5px;
}

/* 共通本文 */
img{
  max-width:100%;
  height:auto;
}

div#top-main-tx{
  font-size:18px;
  width:95%;
  line-height:23px;
  text-align:left;
  margin:10px auto;
  color:#353535;
}

div#top-main-tx01{
  font-size:16px;
  width:90%;
  line-height:24px;
  text-align:center;
  margin:10px auto;
  color:#353535;
}

div#top-main-tx02{
  font-size:18px;
  width:90%;
  line-height:28px;
  text-align:left;
  margin:10px auto 30px auto;
  color:#353535;
}

div#osusume-tx00{
  font-size:16px;
  width:90%;
  line-height:25px;
  text-align:left;
  margin:10px auto;
  color:#353535;
}

div#osusume-tx0011{
  font-size:18px;
  width:90%;
  max-width:680px;
  text-align:center;
  margin:20px auto;
  color:#353535;
}

table#t-area-ta{
  width:90%;
  background-color:#2b2bd5;
  margin:auto;
}

tr#t-area-tr{
  width:680px;
  background-color:#ffffff;
}

td#t-area-td{
  width:680px;
  vertical-align:top;
}

div#t-area01-tx{
  font-size:18px;
  width:100%;
  margin-left:0;
  line-height:28px;
  color:#3f3f3f;
  text-align:left;
}

/* 各ページ */
div#gaiyou-tx00{
  font-size:15px;
  width:90%;
  text-align:left;
  margin:20px auto;
  color:#000000;
  line-height:24px;
}

div#gaiyou-tx01{
  font-size:14px;
  width:90%;
  font-weight:bold;
  text-align:left;
  margin:10px auto;
  color:#3f3f3f;
}

div#gaiyou-tx02{
  font-size:14px;
  width:90%;
  text-align:left;
  margin:20px auto;
  color:#000000;
  line-height:24px;
}

div#jisseki-tx00{
  font-size:15px;
  width:90%;
  font-weight:bold;
  text-align:left;
  margin:20px auto 8px auto;
  color:#5f5f5f;
}

div#jisseki-tx01{
  font-size:14px;
  width:90%;
  text-align:left;
  margin:10px auto 20px auto;
  color:#5f5f5f;
  line-height:24px;
}

div#jisseki-tx02{
  font-size:17px;
  text-align:center;
  margin-top:5px;
  margin-bottom:8px;
  color:#d50000;
  font-weight:bold;
}

table#jisseki-ta{
  width:660px;
  max-width:100%;
  height:250px;
  margin:auto;
}

td#jisseki-td{
  width:330px;
  text-align:center;
}

div#ryoukin-tx00{
  font-size:16px;
  text-align:center;
  margin:5px 10px;
  color:#000000;
  line-height:24px;
}

div#ryoukin-tx01{
  font-size:15px;
  width:90%;
  text-align:left;
  margin:5px auto;
  color:#3f3f3f;
  line-height:24px;
}

div#ryoukin-tx02{
  font-size:16px;
  text-align:left;
  margin:5px 10px;
  color:#000000;
  line-height:24px;
}

div#ryoukin-tx01a{
  font-size:12px;
  width:90%;
  text-align:left;
  margin:5px auto;
  color:#d50000;
  line-height:20px;
}

table#ryoukin-ta{
  width:90%;
  margin:auto;
  background-color:#ffffff;
}

tr#ryoukin-tr00{background-color:#b8f1d5;height:40px;}
tr#ryoukin-tr01{background-color:#eaf4ff;height:40px;}
tr#ryoukin-tr02{background-color:#fff4ea;height:40px;}

td#ryoukin-td01{width:20%;text-align:center;}
td#ryoukin-td02{width:25%;text-align:center;}
td#ryoukin-td03{width:45%;text-align:center;}

div#marugoto-tx,
div#marugoto-tx000,
div#marugoto-tx02{
  width:90%;
  text-align:left;
  margin:15px auto;
  color:#353535;
}

div#marugoto-tx{font-size:14px;line-height:24px;}
div#marugoto-tx000{font-size:14px;line-height:24px;font-weight:bold;}
div#marugoto-tx02{font-size:15px;line-height:24px;}

div#nagare-tx{
  font-size:16px;
  font-weight:bold;
  width:90%;
  text-align:left;
  margin:10px auto;
  color:#d50000;
  line-height:24px;
}

div#nagare-tx01{
  font-size:16px;
  width:90%;
  text-align:left;
  margin:10px auto 30px auto;
  color:#000000;
  line-height:25px;
}

div#qa-tx{
  font-size:16px;
  font-weight:bold;
  width:90%;
  text-align:left;
  margin:10px auto;
  color:#d50000;
  line-height:24px;
}

div#qa-tx01{
  font-size:16px;
  width:90%;
  text-align:left;
  margin:10px auto 30px auto;
  color:#000000;
  line-height:25px;
}

/* フォーム */
.form-table{
  width:100%;
  max-width:700px;
  margin:0 auto;
  border-collapse:collapse;
}

.form-table th{
  text-align:left;
  padding:10px;
  background:#f7f7f7;
  width:30%;
}

.form-table td{
  padding:10px;
}

input, select, textarea{
  width:100%;
  padding:10px;
  font-size:16px;
  box-sizing:border-box;
}

.form-btn{
  text-align:center;
  margin-top:20px;
}

.form-btn input{
  background:#ff6fa5;
  color:#fff;
  border:none;
  padding:15px 40px;
  font-size:18px;
  cursor:pointer;
}

.required{
  color:red;
  font-size:12px;
}

/* スマホ固定ボタン */
.sp-fixed-contact{
  display:none;
}

/* スマホ */
@media screen and (max-width: 768px){
  body{
    overflow-x:hidden;
  }

  table#all-ta{
    width:100% !important;
    max-width:100% !important;
  }

  tr#all-tr01,
  td#all-td01,
  tr#all-tr02,
  tr#all-tr05,
  td#all-td05-1,
  td#all-td05-2,
  td#bottom-td01,
  td#bottom-td02,
  td#bottom-td03{
    width:100% !important;
    height:auto !important;
    display:block;
  }



td#all-td01{
  background-image:url("image/bunner00-sp.jpg") !important;
  background-size:contain !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
  min-height:320px !important;
  background-color:#ffffff;
}




  table#bunner01a{
    height:auto;
  }

  td#bunner-td01,
  td#bunner-td02,
  td#bunner-td03{
    display:block;
    width:100%;
    height:auto;
  }

  div#bunner-tx,
  div#bunner-tx01,
  div#bunner-tx02{
    text-align:center;
  }

  div#bunner-tx{font-size:10px;line-height:1.5;}
  div#bunner-tx01{font-size:15px;line-height:1.6;margin:10px 0;}
  div#bunner-tx02{font-size:30px;line-height:1.3;margin-top:130px;}

  div#head-tx{
    font-size:12px;
    line-height:1.6;
    padding:6px 10px;
  }

  div#top-main-tx{font-size:17px;line-height:1.7;width:90%;margin:15px auto;}
  div#top-main-tx01{font-size:16px;line-height:1.6;width:90%;margin:15px auto;}
  div#top-main-tx02{font-size:16px;line-height:1.7;width:90%;margin:15px auto;}
  div#osusume-tx00{font-size:16px;line-height:1.7;width:90%;margin:10px auto;}
  div#osusume-tx0011{font-size:18px;line-height:1.6;width:90%;margin:15px auto;}
  div#t-area01-tx{font-size:16px;line-height:1.7;width:90%;margin:10px auto;}

  div#gaiyou-tx00,
  div#gaiyou-tx01,
  div#gaiyou-tx02,
  div#jisseki-tx00,
  div#jisseki-tx01,
  div#jisseki-tx02,
  div#ryoukin-tx00,
  div#ryoukin-tx01,
  div#ryoukin-tx02,
  div#ryoukin-tx01a,
  div#marugoto-tx,
  div#marugoto-tx000,
  div#marugoto-tx02,
  div#nagare-tx,
  div#nagare-tx01,
  div#qa-tx,
  div#qa-tx01{
    width:90%;
    margin-left:auto;
    margin-right:auto;
    font-size:16px;
    line-height:1.7;
  }

  div#nagare-tx,
  div#jisseki-tx00,
  div#gaiyou-tx01{
    font-size:18px;
    font-weight:bold;
  }

  table#jisseki-ta,
  table#ryoukin-ta,
  table#t-area-ta{
    width:90% !important;
    max-width:90% !important;
    margin:auto !important;
  }

  td#jisseki-td{
    width:50%;
  }

  hr{
    width:90% !important;
  }

  /* 本文中の赤緑ボタン崩れ対策 */
  td#all-td05-2 a[href^="tel:"],
  td#all-td05-2 a[href*="line"]{
    display:block !important;
    width:90% !important;
    max-width:420px !important;
    margin:0 auto 12px auto !important;
    padding:14px 10px !important;
    font-size:18px !important;
    line-height:1.4 !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
  }

  /* 画像を少し大きめに */
  td#all-td05-2 > img{
    width:95% !important;
    max-width:95% !important;
    height:auto !important;
  }

  /* 施工実績などの左右画像 */
  table#jisseki-ta{
    width:95% !important;
  }

  td#jisseki-td{
    width:50% !important;
  }

  /* 固定ボタン */
  .sp-fixed-contact{
    display:flex;
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    z-index:9999;
  }

  .sp-fixed-contact a{
    width:50%;
    text-align:center;
    text-decoration:none;
    color:#ffffff;
    font-size:16px;
    font-weight:bold;
    padding:14px 10px;
    box-sizing:border-box;
  }

  .sp-fixed-tel{
    background:#e46b6b;
  }

  .sp-fixed-line{
    background:#21b94b;
  }

  body{
    padding-bottom:60px;
  }
}




.contact-btn-wrap{
  text-align:center;
  margin:15px 0;
}

.contact-btn-wrap a{
  display:block;
  width:90%;
  max-width:500px;
  margin:0 auto 10px auto;
  padding:14px;
  text-decoration:none;
  border-radius:6px;
  color:#fff;
  font-size:18px;
}

.btn-tel{
  background:#e74c3c;
}

.btn-line{
  background:#2ecc71;
}




.contact-btn-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  margin:20px 0;
  flex-wrap:wrap;
}

/* ボタン共通 */
.contact-btn-wrap a{
  display:block;
  width:350px;
  height:95px;
  text-indent:-9999px;
  overflow:hidden;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  text-decoration:none;
  border-radius:8px;
  box-sizing:border-box;
}

/* 画像 */
.btn-tel{
  background-image:url("image/telbotan.jpg");
}

.btn-line{
  background-image:url("image/linebotan.jpg");
}

/* スマホ */
@media screen and (max-width:768px){
  .contact-btn-wrap{
    flex-direction:column;
    align-items:center;
    gap:16px;
  }

  .contact-btn-wrap a{
    width:90%;
    max-width:720px;
    height:auto;
    aspect-ratio: 350 / 95;
  }
}






@media screen and (max-width:768px){

  #all-td05-2{
    padding:0 8px !important;
  }

}



#all-td05-2 img{
  width:100% !important;
  max-width:100% !important;
  height:auto;
}


@media screen and (max-width: 768px){
  td#all-td02{
    display:block !important;
    width:100% !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
}




@media screen and (max-width: 768px){

  table#gaiyou-ta{
    width: 94% !important;
    margin: 0 auto !important;
    border-collapse: collapse !important;
  }

  td#gaiyou-td01,
  td#gaiyou-td02{
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    padding: 0 !important;
  }

  div#gaiyou-tx01{
    width: 100% !important;
    margin: 12px 0 4px 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: bold !important;
  }

  div#gaiyou-tx02{
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
}



table#gaiyou-ta{
  width: 70%;
  max-width: 950px;
  margin: 0 auto;
  border-collapse: collapse;


}

td#gaiyou-td01{
  width: 30%;
  vertical-align: top;

}

td#gaiyou-td02{
  width: 70%;
  vertical-align: top;
}

div#gaiyou-tx01{
  width: 100%;
  margin: 12px 0;
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
  box-sizing: border-box;
}

div#gaiyou-tx02{
  width: 100%;
  margin: 12px 0;
  text-align: left;
  font-size: 14px;
  line-height: 1.8;
  box-sizing: border-box;
}





@media screen and (max-width: 768px){

  /* 会社概要ページの見出し画像 */
  #all-td05-2 > img{
    width: 95% !important;
    max-width: 95% !important;
    height: auto !important;
  }

  /* 会社概要テーブル全体 */
  table#gaiyou-ta{
    width: 94% !important;
    max-width: 94% !important;
    margin: 0 auto !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
  }

  /* 1行ずつ区切って見やすくする */
  tr#gaiyou-tr01,
  tr#gaiyou-tr02{
    display: block !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #d9d9d9 !important;
  }

  /* スマホでは1カラム化 */
  td#gaiyou-td01,
  td#gaiyou-td02{
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    vertical-align: top !important;
    border: none !important;
  }

  /* 項目名 */
  div#gaiyou-tx01{
    width: 100% !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    font-weight: bold !important;
    color: #333333 !important;
  }

  /* 内容 */
  div#gaiyou-tx02{
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #333333 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* URLが長くてもはみ出さない */
  div#gaiyou-tx02 a{
    font-size: 16px !important;
    line-height: 1.8 !important;
    word-break: break-all !important;
  }

  /* メニューは大きくなりすぎないように少し抑える */
  .sp-menu-wrap{
    width: 94% !important;
    margin: 10px auto 12px auto !important;
  }

  .sp-menu summary{
    font-size: 18px !important;
    line-height: 1.4 !important;
    padding: 12px 14px !important;
  }

  .sp-menu-list a{
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 12px 14px !important;
  }
}



@media screen and (max-width: 768px){

  table.form-table{
    width: 94% !important;
    max-width: 94% !important;
    margin: 0 auto !important;
    border-collapse: collapse !important;
  }

  .form-table tr{
    display: block !important;
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .form-table th,
  .form-table td{
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px !important;
  }

  .form-table th{
    background: #f7f7f7 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-align: left !important;
    margin-bottom: 6px !important;
  }

  .form-table td{
    padding-top: 0 !important;
  }

  .form-table input[type="text"],
  .form-table input[type="tel"],
  .form-table input[type="email"],
  .form-table select,
  .form-table textarea{
    width: 100% !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
  }

  .form-table textarea{
    min-height: 140px !important;
  }

  .form-table input[type="radio"]{
    width: auto !important;
    margin-right: 6px !important;
  }

  .form-table td label,
  .form-table td{
    font-size: 16px !important;
    line-height: 1.8 !important;
  }

  .form-btn{
    width: 94% !important;
    margin: 20px auto 0 auto !important;
    text-align: center !important;
  }

  .form-btn input{
    width: 100% !important;
    max-width: 100% !important;
    font-size: 20px !important;
    padding: 16px 10px !important;
    border-radius: 8px !important;
  }
}






