@charset "utf-8";

@media all and (min-width : 1025px) {

a.hover-img img {
  transition:.4s;
  opacity:1;
}

a.hover-img img:hover {
  opacity:0.5;
}

.hover-opa {
  transition:.5s;
  opacity:1;
}

.hover-opa:hover {
  opacity:0.5;
}


table th {
  width: 25%;
  padding:20px 0;
  text-align: center;
  vertical-align:middle;
  display: table-cell;
}

table td {
  width: 75%;
  padding:20px 0 20px 30px;
  font-weight: normal;
  display: table-cell;
}


table.form_tb th {
  width: 30%;
  padding:30px 0;
  line-height: 26px !important;
  text-align: center;
  vertical-align:middle;
  display: table-cell;
}

table.form_tb td {
  width: 70%;
  padding:30px 0;
  font-weight: normal;
  display: table-cell;
}



table.type_A th {
  width: 25%;
  padding:30px 0;

  text-align: center;
  vertical-align:middle;
  display: table-cell;
}

table.type_A td {
  width: 75%;
  padding:30px 0 30px 30px;
  font-weight: normal;
  display: table-cell;
}

header#g_hd h1 {
  font-size:1rem;
  padding-bottom:2px;
}

header#g_hd .logo-h1 {
  width:230px;
}


header#g_hd {
  min-height:75px;
  padding:2px 1% 5px;
}

.gnav {
  padding:50px 40px 50px;
  width: 100%;
  max-width: 390px;
}

.btn-gnav,
.gnav img.gnav-tel,
.gnav img.bnr-kuchikomi {
  width:100%;
}

header#g_hd .menu {
  right:1%;
  top:6px
}


header#g_hd .menu p {
  width: 60px;
  height: 60px;
}

header#g_hd .menu .toggle span {
  left:15px;
}

.toggle.active span:nth-of-type(1) {
  transform: translateX(-1px) translateY(10px) rotate(45deg);
}

.toggle.active span:nth-of-type(3) {
  transform: translateX(-1px) translateY(-10px) rotate(-45deg);
}

img.img_hd_tel {
  width:280px;
  display:block;
  position:absolute;
  right:100px;
  top:12px;
}

.im100 {
  width:100%;
  display:block;
}

#fv .top_main_ph {
    /* margin-left:49%; */
    width:55%;
    margin-left:0;
    padding:50px 0 0 0;
    position:relative;
}

.img_g_voice_01 {
  width:320px;
  display:block;
  position:absolute;
  bottom:30px;
  right:5%;
  z-index:1;
  box-shadow: 0px 0px 10px -5px #777;
}

.fv_lead {
  display:block !important;
  padding-top:16px;
}


#fv .catch {
  width:50%;
    max-width:50%;
    /*position: absolute;
    top: 0;*/
    -webkit-transform: translateY(0);
    transform: translateY(0);
    padding:40px 0 0 0;
    margin-top:0;
    left:0;
}

.js_inner {
  width:980px;
  margin:auto;
}

#fv .catch img.img01 {
  width:180px;
  margin:0 auto;
  display:block;
}

#fv .catch img.img02 {
  width:400px;
  margin:0 auto;
  display:block;
  padding:0;
  transform: translateY(-25px);
}

#fv .catch p {
  width:500px;
  margin:auto;
  transform: translateY(0);
  font-size:1.4rem;
  line-height:2;
}

#fv .catch h3 {
  width:500px;
  margin:0 auto 10px;
  display:block;
}

.inner_fv_top {
  display:flex;
  justify-content:space-between;
  flex-direction:row-reverse;
}

.inner_fv_bottom {
  max-width:1200px;
  margin:70px auto 100px;
}

.img-top-badge {
  width:160px;
  top:350px;
  left:4%;
  right:auto;
}

.hikaku01 {
  max-width:820px;
  margin:32px auto 0;
  padding:0;
}

.hikaku01 p{
  padding:24px 0 0;
}

ul.bnr-top-fv {
  max-width:1200px;
  margin:24px auto 0;
  padding:0 4%;
  display:flex;
  justify-content:space-between;
  gap:24px;
}

ul.bnr-top-fv li:first-child {
  margin-bottom:0;
}

.staffs {
  width:750px;
  padding:60px 4% 0;
  margin:auto;
}

img.img-staff-go-ttl {
  width:70%;
  display:block;
  margin:0 auto 30px;
  animation:staffttl 3s infinite;
}


.top-bnr-block {
  margin:0 0 70px;
}

.top-bnr-block ul {
  max-width:900px;
  margin:auto;
  padding:70px 0 50px;
}

.top-bnr-block li {
  margin-bottom:15px;
}


.base_box {
  max-width:1100%;
  margin:auto;
}

aside.bnr_line {
  max-width:1100px;
}

.top_works_count {
  width:1100px;
  /* border-bottom:1px solid #ccc; */
  margin:0 auto 0;
}

.top_works_count h3 {
  font-size:2rem;
}

.top_works_count h2 {
  padding:3px 20px;
  font-size:2rem;
}

.top_works_count .inner {
  display:flex;
  align-items:center;
  justify-content:space-around;
  width:74%;
}

.top_works_count p.number {
  text-align:center;
  font-size:2rem;
  font-weight:600;
}

.top_works_count .number span.count-up {
  font-size:6rem;
  padding-right:4px;
}

#top_works {
  max-width:1100px;
}

.base_ttl {
    font-size: 1.6rem;
  letter-spacing:1px;
}

.base_ttl:before {
  font-size:4rem;
}

.tab-list-item {
    padding:15px 0;
}

.tab-list-item h3 {
    font-size:1.8rem;
}

.tab-contents-wrap {
  margin-top:25px;
}

ul.works_list li {
  width:22.5%;
}

ul.works_list:after {
  display:block;
  content:'';
  width:22.5%;
}


ul.works_list a {
  display:block;
  margin-bottom:20px;
  border-bottom:none;
  padding-bottom:0;
}

ul.works_list a time {
  display:block;
  margin-top:10px;
}

ul.works_list a .p_box {
  width:100%;
}

ul.works_list a .i_txt {
  width:100%;
}

.btn-01 a {
  width:32%;
  margin-top:15px;
}

.area_box {
  max-width:1100px;
  margin:20px auto 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border:none;
  padding:0;
}
.area_box .area_ttl {
  width:18%;
  border:1px solid #000;
  line-height:1.3;
  margin-bottom:0;

  padding:20px;
}

.area_box .area_name {
  /* width:58%; */
  padding-left:20px;
  font-size:1.5rem;
  line-height:1.8;
}


.cheack-box {
  max-width:1100px;
  margin:70px auto 50px;
}

.cheack-ttl img {
  width:800px;
  margin-bottom:15px;
}

.cheack-txt {
  text-align:center;
}


#top_mess .inner .img01 {
    width: 79.8%;
    margin-bottom: 72px;
}

#top_mess .inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

#top_mess .inner .spimg02 {
  display:none;
}

#top_mess .inner .img02 {
  display:flex;
  justify-content:space-between;
  max-width: 1110px;
    margin:auto;
    align-items:center;
}

.ts_top_mess {
  display:none;
}

#top_mess .inner .img02 .img_parts_01 {
  width:30%;
}

#top_mess .inner .img02 .txt_box {
  width:65%;
  position:relative;
}

#top_mess .inner .img02 .txt_box img.img_top_mess_02 {
  position:absolute;
  width:300px;
  top:-140px;
  right:-70px;
}

#top_mess .inner .img02 .txt_box h3 {
  font-weight:600;
  font-size:2.2rem;
  line-height:1.7;
  margin-bottom:20px;
  padding-top:40px;
}

footer#g_ft {
  padding:0 0 35px;
}

footer#g_ft .area_box {
  max-width:1100px;
  background:none;
  margin:auto;
}

footer#g_ft .area_box .area_ttl {
  border:1px solid #ccc;
}

footer#g_ft .inner .ft_logo {
  width:30%;
}

footer#g_ft .inner .ft_logo img {
  width:85%;
  margin-bottom:5px;
}


footer#g_ft .inner .nintei .conte_01 {
  width:25%;
}

footer#g_ft .inner .nintei .conte_02 {
  width:72%;
}

footer#g_ft .inner .nintei {
  width:68%;
  font-size:1.2rem;
}

footer#g_ft .inner .nintei h3 {
  font-size:2.9rem;
  line-height:1.7;
}

#top_blog {
  padding:80px 0;
}

#top_blog .inner_blog_ttle {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

#top_blog .top_blog_innger {
  max-width:1100px;
  margin:auto;
}

#top_blog .inner_blog_ttle .blog_lead {
  font-size:1.3rem;
  text-align:left;
}

#top_blog .inner_blog_ttle .top_blog_btn {
  display:block;
  width:270px;
}

#top_blog .inner_blog_ttle .top_blog_btn .btn-01 a {
  width:100%;
  margin-top:0;
}

/* PC サービス一覧
*************************/
h2.lower_ttl {
  max-width:1100px;
  font-size:5rem;
  margin:auto;
  padding:50px 0;
}

h2.lower_ttl span {
  font-size:2rem;
}

h2.lower_ttl:before {
  height:7px;
}

.bg_gray:after {
 
  top:350px;

}

.base_ttl_sub {
  font-size: 1.8rem;
  letter-spacing:1px;
}

.base_ttl_sub:before {
  ontent: attr(data-en);
  display: block;
  font-size:2.8rem;
  line-height:1.4;
  letter-spacing: 1px;
  font-weight:700;
  color: #000;
}

#service_conte {
  max-width:1100px;
  margin:auto;
}

#service_conte .ser_single .btn-01 a {
  margin-top:20px;
  width:75%;
}

/*
#service_conte .ser_single:nth-child(2),
#service_conte .ser_single:nth-child(4) {
  transform:translateY(90px);
}
*/

.content_list ul li {
  width:33%;
  margin-right:0;
}

.content_list .ttl {
  text-align:center;
  margin-bottom:10px;
}

/* PC 会社概要
*************************/
.lead_txt {
    font-size:2rem;
    margin-bottom:8px;
}

#com_conte .com_inner_01 {
  max-width:1100px;
  margin:0 auto 80px;
  align-items:center;
}

#com_conte .com_inner_01 .matsumura_ph p {
  text-align:right;
}

.com_inner_02 {
  max-width:1100px;
  margin:80px auto;
}

/* PC 理由
*************************/
#reason_conte .reson_single:not(:first-of-type) {
  padding-top:80px;
}

#reason_conte .reson_single .inner {
  max-width:1100px;
  padding:0 0 80px;
}

#reason_conte .reson_single:after {
  width:70px;
  height:70px;
}

.base_ttl_sub_02 {
  text-align:left;
  font-size:3rem;
}

.base_ttl_sub_02:before {
  font-size:1.6rem;
}

.nintei {
  padding:15px;
  background:#fff;
  border:1px solid #ccc;
  margin-top:25px;
  display:flex;
  justify-content:space-between;
}

.nintei .nintei-img {
  width:50%;
}

.nintei .txt {
  width:46%;
}

.nintei .txt p {
  font-size:1.1rem;
  line-height:1.5;
  padding-top:0;
}

/* PC よくある質問
*************************/
#faq_conte {
  max-width:1100px;
  padding:0 0 80px;
  margin:auto;
}

.question-title {
  font-size:1.7rem;
  padding: 15px 4% 10px;
}

.answer-text {
  padding: 15px 4%;
}

.question-title:before,
.answer-text:before {
  top:3px;
  left:0.5%;
  font-size:2.8rem;
  font-weight:600;
}

/* PC お問い合わせ
*************************/

#contact_conte {
  max-width:1000px;
  margin:auto;
  padding:0 0 80px;
}

.kojin-jyohou-box {
  width:88%;
  height:270px;
}

/* PC 施工事例
*************************/
#work_dete_conte {
  padding:0 0 80px;
}

.works_padding {
  padding:80px 30px;
}

#work_dete_conte {
  max-width:1100px;
  margin:auto;
}
.works-txt-box {
  width:68%;
}

.works-ttl h3 {
  font-size:1.7rem;
}

aside.works-side-box {
  width:28%;
}

.cate_works {
  padding:0 0 100px;
}

.single-blog-pager-box a {
  font-size:1.2rem;
}

ol.work-ba li.af:before {
  padding:2px 30px;
  font-size:1.8rem;
}


/* PC LINE
*************************/
.ttle_line {
  padding-bottom:0;
}

.ttle_line .inner {
  max-width:1000px;
  margin:auto;
  position:relative;
}

.ttle_line a {
  width:450px;
  position:absolute;
  padding:0;
  top:470px;
  left:20px;
}

.line_box_01 {
  max-width:1000px;
  margin:auto;
}

.line_box_02 .inner {
  max-width:1000px;
  margin:auto;
}



/* PC contact
*************************/

input[type="text"].tel-numtxt {
  width:60%;
}







#breadcrumbs {
  font-size:1rem;
  background:var(--color-gray);
  padding:10px 0;
}

#breadcrumbs .inner {
  max-width:1100px;
  margin:0 auto;
  text-align:right;
}










input[type="button"].wpcf7-confirm,
input[type="button"].wpcf7-submit,
input[type="button"].wpcf7-form-control { 
  width: 40%;
}


.topVoice__inner {
  padding:80px 0;
  max-width:1200px;
}

.topVoice h3 {
  font-size:3.5rem;
  margin-bottom:40px;
}

.topVoice h3 span {
  font-size:1.4rem;
}


.topbnrArea {
  margin:40px 0 70px;
}

.marquee-container {
margin-top:35px;
padding:35px 0;
}

.marquee li {
font-size:2.6rem;
margin-right:0;
}

.marquee {
animation: marquee 27s linear infinite;
}






.topvoice__list {
  grid-template-columns:1fr 1fr 1fr 1fr;
}

.voice-body img {
  width:60%;
  margin:0 auto 20px;
  display:block;
}


.fv_message {
  width:500px;
  padding:40px 0 0;
  margin:auto;
  position:absolute;
  bottom:-20px;
  left:4%;
}

.fv_message ul {
  padding:0 10px;
}

.fv_message h3 {
  font-size:1.7rem;
}


.top-catch-yuuryou {
  max-width:1280px;
  padding:0 40px;
  margin:48px auto 0;
}


.circle-gr {
  padding:0;
}

.img-circle-gr {
  width:580px;
  display:block;
  margin:auto;
}

.circle-gr dt  {
  font-size:1.8rem;
}


.zairyou__list {
  max-width:1180px;
  gap:32px;
}




/* PC txt parts
*************************/
.txt-c-pc {
  text-align:center;
}

.fv-sp-message {
  display:none;
}






/*
PC block --------------------------------------------*/
.i_p_b {display: block !important;}
.i_t_b {display: none !important;}
.i_s_b {display: none !important;}
.i_pt_b {display: block !important;}
.i_ts_b {display: none !important;}
}