@charset "utf-8";
#pageTitle > *{
  display:block;
  text-align:center;
  font-weight:normal;
}
#pageTitle strong{line-height:1.5;}
#pageTitle small{line-height:1.0;}
.flexSec,
.productSec,
.sSec{margin:0 auto;}
.flexSec h2,
.productSec h2{
  display:block;
  line-height:1.0;
  font-weight:normal;
}
.flexSec h2{
  background-color:#2e2e2e;
  color:#fff;
}
.flexSec h2 > span{display:table;}
.flexSec p{line-height:1.44;}
.flexSec .linkSquare a{margin-left:0;}
.productSec .productData{
  line-height:1.2;
  text-align:left;
}
.productSec dl.productData{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.productSec p.productData{display:block;}
.productSec .productData > *{display:block;}
.productSec .productData dt{white-space:nowrap;}
.sSec .aboutTtl{
  display:block;
  border-bottom:1px solid #262626;
  line-height:1.0;
  font-weight:normal;
}
.sSec .aboutTtl > span{display:block;}
.sSec .aboutTbl *{display:block;}
.privacyLead{line-height:1.42;}
.privacySec h2{
  display:block;
  font-weight:normal;
  line-height:1.0;
}
.privacyDl dt{
  display:block;
  background-color:#b5b5b5;
}
.privacyDl dd{
  display:block;
  line-height:1.42;
}
.wpcf7-response-output,
.page-contact .sSec{
  max-width:960px;
  margin:0 auto;
}
.page-contact .sSec > p{line-height:1.5;}
.page-contact .wpcf7-list-item{margin:0;}
.page-contact .wpcf7-list-item-label{display:none!important;}
.contactForm dt label[data-requied]:after{
  content:"※";
  display:inline-block;
  margin-left:4px;
}
.contactForm dt,
.contactForm dd label,
.contactForm dd,
.contactForm dd span{line-height:1.0;}
.contactForm dd .wpcf7-form-control-wrap,
.contactForm dd .wpcf7-not-valid-tip{display:block;}
.contactForm dd input,
.contactForm dd select,
.contactForm dd textarea{
  border:1px solid #707070;
  border-radius:4px;
}
.contactForm dd input:focus,
.contactForm dd select:focus,
.contactForm dd textarea:focus{outline:none;}
.contactForm dd input[type="tel"],
.contactForm dd input[type="text"]:not(#address),
.contactForm dd input[type="email"]{width:68.217%;}
.contactForm dd input[type="text"]#address,
.contactForm dd select,
.contactForm dd textarea{width:100%;}
.contactForm dd input[type="tel"],
.contactForm dd input[type="email"],
.contactForm dd input[type="text"],
.contactForm dd select,
.contactForm dd textarea{padding:6px;}
.page-contact .poricyCheck{
  display:flex;
  justify-content:space-between;
  align-items:center;
  line-height:1.4;
}
.page-contact .poricyCheck > span:first-child,
.page-contact .poricyCheck > span:first-child span{
  display:block;
  line-height:1.0;
}
.page-contact .poricyCheck .pCheckBtn input[type="checkbox"]{margin:0 6px 0 0;}
.page-contact .poricyCheck > span:last-child{flex:1;}
.page-contact .poricyCheck a{text-decoration:underline;}
.page-contact .linkSquare{text-align:center;}
.page-estimate .sSec{max-width:756px;}
.estimateForm{border-bottom:1px solid #707070;}
.estimateForm select,
.estimateForm input[type="text"]:not(#totals),
.estimateForm input[type="number"]{
  width:100%;
  border:1px solid #707070;
  border-radius:6px;
}
.estimateForm input[type="number"]{text-align:right;}
.estimateForm select:focus,
.estimateForm input[type="text"]:focus,
.estimateForm input[type="number"]:focus{outline:none;}
.estimateForm .pitchGr select[aria-hidden="true"]{display:none;}
.estimateForm .pitchGr select[aria-hidden="false"]{display:block;}
.estimateForm .totalsDd span{
  display:inline-block;
  text-align:right;
}
.estimateForm input[type="text"]#totals{
  border:none;
  text-align:right;
}
.error404 .sSec{text-align:center;}
@media screen and (max-width:767.98px){
  #pageTitle{margin:57px auto 94px;}
  #pageTitle strong{font-size:28px;}
  #pageTitle small{
    margin-top:8px;
    font-size:20px;
  }
  .flexSec{
    width:100%;
    padding:0 10vw;
  }
  .flexSec+.flexSec{margin-top:90px;}
  .flexSec h2{
    position:relative;
    margin:0 -10vw 40px;
    padding:7px 10vw;
    font-size:17px;
  }
  .flexSec p{
    margin-top:35px;
    font-size:15px;
  }
  .flexSec .pdfLink{margin-top:22px;}
  .flexSec .pdfLink+.linkSquare{margin-top:40px;}
  .flexSec p+.linkSquare{margin-top:20px;}
  .flexSec .linkSquare a{
    min-width:250px;
    margin:0 auto;
    padding:16px 10px;
    font-size:13px;
  }
  .productSec{
    width:100%;
    padding:0 10vw;
  }
  .productSec+.productSec{margin-top:100px;}
  .productSec h2{
    margin-top:48px;
    font-size:20px;
  }
  .productSec .productData{
    margin-top:14px;
    font-size:15px;
  }
  .productSec .productData dt:first-of-type{width:85px;}
  .productSec .productData dd:first-of-type{width:calc(100% - 85px);}
  .productSec .productData dt:last-of-type{width:160px;}
  .productSec .productData dd:last-of-type{width:calc(100% - 160px);}
  .productSec .productData dd+dt,
  .productSec .productData dd+dt+dd{margin-top:8px;}
  .productSec p:not([class]){
    margin-top:22px;
    font-size:14px;
  }
  .productSec .pdfLink{margin-top:30px;}
  .productSec .linkSquare{margin-top:40px;}
  .productSec .linkSquare a{
    min-width:250px;
    margin:0 auto;
    padding:16px 10px;
    font-size:13px;
  }
  .sSec{
    width:100%;
    padding:0 10vw;
  }
  .sSec .aboutTtl{
    padding-bottom:6px;
    font-size:17px;
  }
  .sSec .aboutTbl{
    margin-top:22px;
    font-size:15px;
  }
  .sSec .aboutTbl dt{line-height:1.0;}
  .sSec .aboutTbl dd{
    margin-top:16px;
    line-height:1.6;
  }
  .sSec .aboutTbl dt:not(:first-of-type){margin-top:32px;}
  body.privacy .sSec{padding:0 5vw;}
  .privacyLead{
    margin:0 5vw 52px;
    font-size:13px;
  }
  .privacySec+.privacySec{margin-top:128px;}
  .privacySec h2{
    margin-bottom:10px;
    font-size:15px;
  }
  .privacySec p{
    margin:0 5vw 20px;
    font-size:13px;
  }
  .privacyDl dt{
    padding:6px 5vw;
    font-size:15px;
    line-height:1.4;
  }
  .privacyDl dt:not(:first-of-type){margin-top:50px;}
  .privacyDl dd{
    margin:10px 5vw 0;
    font-size:13px;
  }
  .page-contact .sSec > p{font-size:14px;}
  .contactForm{margin-top:50px;}
  .contactForm dd+dt{margin-top:40px;}
  .contactForm dd{margin-top:10px;}
  .contactForm dd input[type="tel"],
  .contactForm dd input[type="text"],
  .contactForm dd input[type="email"],
  .contactForm dd select,
  .contactForm dd textarea{font-size:14px;}
  .contactForm dd input[type="text"],
  .contactForm dd input[type="email"],
  .contactForm dd input[type="tel"],
  .contactForm dd select{height:28px;}
  .page-contact .wpcf7-not-valid-tip{font-size:12px;}
  .page-contact .poricyCheck{margin-top:30px;}
  .page-contact .poricyCheck .pCheckBtn input[type="checkbox"]{
    width:16px;
    height:16px;
  }
  .page-contact .linkSquare{margin-top:46px;}
  .page-contact .linkSquare .squareBtn{
    width:88px;
    padding:6px 12px;
    border-radius:4px;
    font-size:13px;
  }
  .estimateForm{padding-bottom:10px;}
  .estimateForm dt{font-size:15px;}
  .estimateForm select,
  .estimateForm input[type="text"],
  .estimateForm input[type="number"]{
    padding:3px 10px;
    font-size:10px;
  }
  .estimateForm dd{margin-top:10px;}
  .estimateForm dd+dt{margin-top:40px;}
  .estimateForm input[type="text"]#totals{width:calc(100% - 75px);}
  .estimateForm .totalsDd span{
    width:75px;
    font-size:18px;
  }
}
@media screen and (min-width:768px){
  .flexSec,
  .productSec{
    width:96vw;
    max-width:1280px;
    display:grid;
    grid-template-rows:auto auto auto auto 1fr;
  }
  .flexSec{column-gap:7.34375%;}
  .flexSec[data-dir="left"]{
    grid-template-columns:50% 42.65625%;
    grid-template-areas:"title title" "fg txt" "fg pdf" "fg btn";
  }
  .flexSec[data-dir="right"]{
    grid-template-columns:42.65625% 50%;
    grid-template-areas:"title title" "txt fg" "pdf fg" "btn fg";
  }
  .flexSec h2{grid-area:title;}
  .flexSec img{grid-area:fg;}
  .flexSec p{grid-area:txt;}
  .flexSec .pdfLink{grid-area:pdf;}
  .flexSec .linkSquare{
    grid-area:btn;
    text-align:left;
  }
  .productSec{column-gap:4.296875%;}
  .productSec[data-dir="left"]{
    grid-template-columns:42.96875% 52.734375%;
    grid-template-areas:"fg title" "fg data" "fg txt" "fg pdf" "fg btn";
  }
  .productSec[data-dir="right"]{
    grid-template-columns:52.734375% 42.96875%;
    grid-template-areas:"title fg" "data fg" "txt fg" "pdf fg" "btn fg";
  }
  body.devices .productSec{grid-template-rows:auto auto auto 1fr;}
  body.devices .productSec[data-dir="left"]{grid-template-areas:"fg title" "fg data" "fg txt" "fg btn";}
  body.devices .productSec[data-dir="right"]{grid-template-areas:"title fg" "data fg" "txt fg" "btn fg";}
  .productSec h2{grid-area:title;}
  .productSec .productData{grid-area:data;}
  .productSec .fg{grid-area:fg;}
  .productSec .fg > span{
    display:block;
    position:relative;
  }
  .productSec .fg > span:before{
    content:"";
    display:block;
    width:100%;
    height:0;
    padding-top:100%;
  }
  .productSec .fg img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .productSec p:not([class]){grid-area:txt;}
  .productSec .pdfLink{grid-area:pdf;}
  .productSec .linkSquare{
    grid-area:btn;
    text-align:left;
  }
  .productSec .linkSquare a{margin-left:0;}
  .sSec{
    width:96vw;
    max-width:1280px;
  }
  .sSec .aboutTbl{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .sSec .aboutTbl > *{line-height:1.0;}
  .privacyDl dt{line-height:1.0;}
  .page-contact .sSec > p{text-align:center;}
  .contactForm{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .contactForm dt{width:44%;}
  .contactForm dd{width:56%;}
  .estimateForm{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    align-items:center;
  }
  .estimateForm dt{width:31.788%;}
  .estimateForm dd{width:68.212%;}
}
@media screen and (min-width:768px) and (max-width:1279.98px){
  #pageTitle{margin:9.6875vw auto 15.625vw;}
  #pageTitle strong{font-size:4.2969vw;}
  #pageTitle small{
    margin-top:1.25vw;
    font-size:3.9063vw;
  }
  .flexSec+.flexSec{margin-top:12.5vw;}
  .flexSec h2{
    margin-bottom:6.25vw;
    padding:1.875vw 1.7188vw;
    font-size:2.1875vw;
  }
  .flexSec p{font-size:1.4063vw;}
  .flexSec .pdfLink{margin-top:3.2813vw;}
  .flexSec .pdfLink+.linkSquare{margin-top:1.25vw;}
  .flexSec p+.linkSquare{margin-top:2.0313vw;}
  .flexSec .linkSquare a{
    min-width:23.4375vw;
    padding:1.4063vw;
    font-size:1.4063vw;
  }
  .productSec+.productSec{margin-top:12.5vw;}
  .productSec h2{font-size:3.5156vw;}
  .productSec .productData{
    margin-top:3.4375vw;
    font-size:1.5625vw;
  }
  .productSec .productData dt{width:16.4063vw;}
  .productSec .productData dd{width:calc(100% - 16.4063vw);}
  .productSec .productData dd+dt,
  .productSec .productData dd+dt+dd{margin-top:1.875vw;}
  .productSec p:not([class]){
    margin-top:3.5938vw;
    font-size:1.4063vw;
  }
  .productSec .pdfLink,
  .productSec .linkSquare{min-width:340px;}
  .productSec .pdfLink{margin-top:40px;}
  .productSec .linkSquare{margin-top:24px;}
  .productSec .linkSquare a{
    padding:1.4063vw;
    font-size:1.4063vw;
  }
  .sSec .aboutTtl{
    padding-bottom:2.5vw;
    font-size:2.1875vw;
  }
  .sSec .aboutTbl{
    margin-top:4.8438vw;
    font-size:1.5625vw;
  }
  .sSec .aboutTbl dt{width:12.5vw;}
  .sSec .aboutTbl dd{width:calc(100% - 12.5vw);}
  .sSec .aboutTbl dt:not(:first-of-type),
  .sSec .aboutTbl dd:not(:first-of-type){margin-top:4.6875vw;}
  .privacyLead{
    margin-bottom:4.0625vw;
    font-size:1.4844vw;
  }
  .privacySec+.privacySec{margin-top:10vw;}
  .privacySec h2{
    margin-bottom:1.1719vw;
    font-size:1.9531vw;
  }
  .privacySec p{
    margin-bottom:4.0625vw;
    font-size:1.4844vw;
  }
  .privacyDl dt{
    padding:1.5625vw 3.4375vw;
    font-size:1.9531vw;
  }
  .privacyDl dt:not(:first-of-type){margin-top:3.9063vw;}
  .privacyDl dd{
    margin-top:1.7188vw;
    font-size:1.4844vw;
  }
  .page-contact .sSec > p{font-size:1.406vw;}
  .contactForm{margin-top:7.8125vw;}
  .contactForm dt:not(:first-of-type),
  .contactForm dd:not(:first-of-type){margin-top:1.875vw;}
  .contactForm dt label{font-size:1.5625vw;}
  .contactForm dd input[type="tel"],
  .contactForm dd input[type="text"],
  .contactForm dd input[type="email"],
  .contactForm dd select,
  .contactForm dd textarea{font-size:1.25vw;}
  .page-contact .poricyCheck{
    margin-top:5.4688vw;
    font-size:1.25vw;
  }
  .page-contact .wpcf7-not-valid-tip{font-size:1.25vw;}
  .page-contact .poricyCheck .pCheckBtn input[type="checkbox"]{
    width:1.5625vw;
    height:1.5625vw;
  }
  .page-contact .linkSquare{margin-top:2.8125vw;}
  .page-contact .linkSquare .squareBtn{
    width:10.9375vw;
    padding:1.1719vw;
    border-radius:0.625vw;
    font-size:1.4063vw;
  }
  .estimateForm{padding-bottom:1.1719vw;}
  .estimateForm dt{font-size:1.5625vw;}
  .estimateForm select,
  .estimateForm input[type="text"],
  .estimateForm input[type="number"]{
    padding:0.3906vw 0.7813vw;
    font-size:1.25vw;
  }
  .estimateForm dt:not(:first-of-type),
  .estimateForm dd:not(:first-of-type){margin-top:5.3125vw;}
  .estimateForm input[type="text"]#totals{width:calc(100% - 5.4688vw);}
  .estimateForm .totalsDd span{
    width:5.4688vw;
    font-size:1.25vw;
  }
}
@media screen and (min-width:1280px){
  #pageTitle{margin:124px auto 200px;}
  #pageTitle strong{font-size:calc(55 / var(--root-font-size) * 1rem);}
  #pageTitle small{
    margin-top:16px;
    font-size:calc(50 / var(--root-font-size) * 1rem);
  }
  .flexSec+.flexSec{margin-top:160px;}
  .flexSec h2{
    margin-bottom:80px;
    padding:24px 22px;
    font-size:calc(28 / var(--root-font-size) * 1rem);
  }
  .flexSec p{font-size:calc(18 / var(--root-font-size) * 1rem);}
  .flexSec .pdfLink{margin-top:42px;}
  .flexSec .pdfLink+.linkSquare{margin-top:16px;}
  .flexSec p+.linkSquare{margin-top:26px;}
  .flexSec .linkSquare a{
    min-width:300px;
    padding:18px;
    font-size:calc(18 / var(--root-font-size) * 1rem);
  }
  .productSec+.productSec{margin-top:160px;}
  .productSec h2{font-size:calc(45 / var(--root-font-size) * 1rem);}
  .productSec .productData{
    margin-top:44px;
    font-size:calc(20 / var(--root-font-size) * 1rem);
  }
  .productSec .productData dt{width:210px;}
  .productSec .productData dd{width:calc(100% - 210px);}
  .productSec .productData dd+dt,
  .productSec .productData dd+dt+dd{margin-top:24px;}
  .productSec p:not([class]){
    margin-top:46px;
    font-size:calc(18 / var(--root-font-size) * 1rem);
  }
  .productSec .pdfLink,
  .productSec .linkSquare{min-width:340px;}
  .productSec .pdfLink{margin-top:40px;}
  .productSec .linkSquare{margin-top:24px;}
  .productSec .linkSquare a{
    padding:18px;
    font-size:calc(18 / var(--root-font-size) * 1rem);
  }
  .sSec .aboutTtl{
    padding-bottom:32px;
    font-size:calc(28 / var(--root-font-size) * 1rem);
  }
  .sSec .aboutTbl{
    margin-top:62px;
    font-size:calc(20 / var(--root-font-size) * 1rem);
  }
  .sSec .aboutTbl dt{width:160px;}
  .sSec .aboutTbl dd{width:calc(100% - 160px);}
  .sSec .aboutTbl dt:not(:first-of-type),
  .sSec .aboutTbl dd:not(:first-of-type){margin-top:60px;}
  .privacyLead{
    margin-bottom:52px;
    font-size:calc(19 / var(--root-font-size) * 1rem);
  }
  .privacySec+.privacySec{margin-top:128px;}
  .privacySec h2{
    margin-bottom:15px;
    font-size:calc(25 / var(--root-font-size) * 1rem);
  }
  .privacySec p{
    margin-bottom:52px;
    font-size:calc(19 / var(--root-font-size) * 1rem);
  }
  .privacyDl dt{
    padding:20px 44px;
    font-size:calc(25 / var(--root-font-size) * 1rem);
  }
  .privacyDl dt:not(:first-of-type){margin-top:50px;}
  .privacyDl dd{
    margin-top:22px;
    font-size:calc(19 / var(--root-font-size) * 1rem);
  }
  .page-contact .sSec > p{font-size:calc(18 / var(--root-font-size) * 1rem);}
  .contactForm{margin-top:100px;}
  .contactForm dt:not(:first-of-type),
  .contactForm dd:not(:first-of-type){margin-top:24px;}
  .contactForm dt label{font-size:calc(20 / var(--root-font-size) * 1rem);}
  .contactForm dd input[type="tel"],
  .contactForm dd input[type="text"],
  .contactForm dd input[type="email"],
  .contactForm dd select,
  .contactForm dd textarea{font-size:calc(16 / var(--root-font-size) * 1rem);}
  .page-contact .wpcf7-not-valid-tip{font-size:calc(16 / var(--root-font-size) * 1rem);}
  .page-contact .poricyCheck{
    margin-top:70px;
    font-size:calc(16 / var(--root-font-size) * 1rem);
  }
  .page-contact .poricyCheck .pCheckBtn input[type="checkbox"]{
    width:20px;
    height:20px;
  }
  .page-contact .linkSquare{margin-top:36px;}
  .page-contact .linkSquare .squareBtn{
    width:140px;
    padding:15px;
    border-radius:8px;
    font-size:calc(18 / var(--root-font-size) * 1rem);
  }
  .estimateForm{padding-bottom:15px;}
  .estimateForm dt{font-size:calc(20 / var(--root-font-size) * 1rem);}
  .estimateForm select,
  .estimateForm input[type="text"],
  .estimateForm input[type="number"]{
    padding:5px 10px;
    font-size:calc(16 / var(--root-font-size) * 1rem);
  }
  .estimateForm dt:not(:first-of-type),
  .estimateForm dd:not(:first-of-type){margin-top:68px;}
  .estimateForm input[type="text"]#totals{width:calc(100% - 70px);}
  .estimateForm .totalsDd span{
    width:70px;
    font-size:calc(16 / var(--root-font-size) * 1rem);
  }
}


/* 追加項目の入力フィールドのスタイルを統一 */
.estimateForm input[type="text"],
.estimateForm input[type="tel"],
.estimateForm input[type="email"] {
  width: 100%;  /* 幅を100%に */
  padding: 10px;  /* 内側に余白を追加 */
  font-size: 16px;  /* フォントサイズ */
  border: 1px solid #ccc;  /* 境界線 */
  border-radius: 4px;  /* 角丸 */
  box-sizing: border-box;  /* 幅にパディングも含める */
  margin-bottom: 10px;  /* 各入力フィールドの下に隙間 */
}

/* 追加項目のラベルのスタイル */
.estimateForm dt {
  font-weight: bold;
  margin-top: 10px;
}

.estimateForm dd {
  margin-bottom: 15px;
}
