/* GLOBAL SETTING */

@charset "utf-8";

*{
    padding:0;
    margin:0;
    box-sizing: border-box !important;
}


@media screen and (min-width:1124px){

body{
    font-family: 'Noto Sans JP', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 14px;
    color:#222;
    overflow-x:hidden;
    width:100%;
}

h1{
    font-size:128px;
    font-family: 'Courgette', cursive;
    font-weight:400;
    margin-top: 100px;
    margin-left:40px;
}

h2{
    font-size:36px;
}

a{
    text-decoration:none;
}

.pcnone{
    display:none
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-top:50px;
    margin-left:72px;
  }
  
  .breadcrumb li:not(:last-of-type)::after {
    content: "＞";
    margin: 0 .6em; /* 記号の左右の余白 */
    color: #777; /* 記号の色 */
  }

/* HEADER */

header{
    display:block;
    width:99vw;
}

.header-container{
    display:flex;
    justify-content: space-between;
}


.header-container nav ul li{
    display:inline-block;
    padding-top:50px;
}

.header-container ul li{
    list-style:none;
    margin-left: 2rem;
}

.header-container ul li a{
    text-decoration:none;
    color:#222;
    font-weight:bold;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.header-container ul li a:hover{
    opacity:0.6;
}

.header-cta{
    width: 170px;
    height: 120px;
    background-color:#C0B372;
    cursor: pointer;
}

.header-cta:hover{
    opacity:0.6;
}


.headercta-text{
    color:white !important;
    display:block;
    width:100%;
    height:100%;
    justify-content:center;
    align-items:center;
    text-align: center;
}

.logo-container{
    max-height:120px;
    width:auto;
}

.logo-img{
    /* width:200px;
    height:60px; */
    object-fit: cover;
    cursor: pointer;
    position:absolute;
    top:13px;
    left:20px;
}

/* HERO */

.hero{
    margin-bottom:300px;
}

.hero-img{
    display:block;
    width:99vw;
    height:90vh;
    object-fit: cover;
}

/* NEWS SECTION */

.news-container{
    width:90%;
    height: 428px;
    margin: 0 auto;
    background-color: #f1f1f1;
    position:relative;
    display:flex;
}

.news-title{
    font-weight:normal;
    font-size:24px !important;
    padding-left:27px;
    margin-top:60px;
}

.news-container::before{
    content:"NEWS";
    font-family: 'Courgette', cursive;
    font-size:128px;
    color:#222;
    position:absolute;
    top:-64px;
    left:10px;
    margin-bottom:60px; /*仮置き*/
}   


.first-news{
    margin-top:30px;
}
.news-content ul li{
    border-bottom:1px solid #222;
    margin-right:40px;
    margin-top:50px;
}

.news-content ul li table tr th{
    font-weight:400;
}


.news-content ul li a{
    display: flex;
}

.news-content ul li a time{
    margin-right:40px;
    margin-top:6px;
    margin-bottom:6px;
    display:block;
}


.news-left{
    flex:1;
}

.news-left h2{
    margin-left:30%;
    margin-top:120px;
}

.news-content{
    flex:1;
    display:flex;
    align-items: center;
    justify-content: center;
}

.news-content ul li{
    list-style: none;
    margin-bottom:20px;
    display:flex;
    align-items:center;
}

.news-content ul li a {
    color:#222;
    transition: all 0.3s ease;
}

.news-content ul li a:hover{
    opacity:0.6;
}

.news-content ul li p{
    width:610px;

}

.news-info p{
    font-size:1rem;
}

.news-content ul li time{
    font-size: 1rem;
    display:flex;
}

.button{
    display:flex;
    width:145px;
    height:60px;
    font-size:16px;
    background-color: #C0B372;
    color:white;
    padding-left: 7px;
    align-items: center;
    position:relative;
    cursor:pointer;
    margin-left:30%;
    margin-top:30px;
    transition:all 0.5s ease;
}

.button::before{
    content:"";
    position:absolute;
	right: 5px;
	width: 35px;
	height: 1px;
	background: rgb(255, 255, 255);
    transition: all 0.5s ease;
}
.button::after{
    content:"";
    position:absolute;
	right:5px;
	width: 4px;
	height: 4px;
	border-top: 1px solid rgb(255, 255, 255);
	border-right: 1px solid rgb(255, 255, 255);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    transition: all 0.5s ease;
}

.button:hover{
    border:1px solid #C0B372;
    background-color: transparent;
    color: #C0B372;
}

.button:hover::before{
    background-color:#C0B372;
}

.button:hover::after{
    border-top: 1px solid #C0B372;
	border-right: 1px solid #C0B372;
}

/* ABOUT SECTION */

.about{
    display: flex;
    margin-top:300px;
    position: relative;
    margin-bottom:600px;
    gap:90px;
}

.about::before{
    content:"ABOUT US";
    font-family: 'Courgette', cursive;
    font-size:128px;
    color:#222;
    position:absolute;
    top:-64px;
    left:90px;
    margin-bottom:60px; /*仮置き*/
}   

.philosophy-title{
    font-weight:normal;
    margin-left:20%;
}

.service-description{
    margin-bottom:34px;
    margin-left:20%;
}


.about-left{
    flex:1;
}

.about-left h2{
    width:431px;
    margin-top:320px;
    margin-left:20%;
    display: flex;
    flex-wrap:nowrap;
}

.about-left p{
    width:431px;
    margin-top:40px;
    margin-left:20%;
    font-size:1rem;
}

.about-img{
    width:35vw;
    height:35vw;
}


.aboutimg-container{
    /* width:500px;
    height:500px; */
    position:relative;
    /* margin-right:216px; */
    /* margin-right:5%;
    margin-top:200px; */
    margin-top:260px;
    flex:1;
}

.aboutimg-container::after{
    content:"";
    position:absolute;
    width: 35vw;
    height:35vw;
    top:45px;
    left:45px;
    background-color: #f1f1f1;
    z-index:-1;
}


/* トップABOUT USセクション修正用 */

/* .about2{
    display: flex;
    gap:90px;
} */
/* .about-left2{
    /* margin-left:10%; */
    /* flex:1; */
/* } */
/* .philosophy-title2{
    margin-bottom:40px;
    margin-top:80px;
    margin-left:20%;
} */

/* .service-description2{
    margin-left:20%;
} */
.aboutimg-container2{
    position:relative;
    /* width:35vw;
    height:35vw; */
    flex:1;
}

.about-img2{
    width:35vw;
    height:35vw;
}

.aboutimg-container2::after{
    content:"";
    position:absolute;
    width:35vw;
    height:35vw;
    top:45px;
    left:45px;
    background-color: #f1f1f1;
    z-index:-1;
}

/* ここまで */



.button.button2{
    border:1px solid black;
    color:black;
    background-color:white;
    margin-left:30%;
    margin-top:60px;
    transition: all 0.5s ease;
}

.button.button2::before{
    content:"";
    position:absolute;
	right: 5px;
	width: 35px;
	height: 1px;
	background: black;
    transition: all 0.5s ease;
}

.button.button2::after{
    content:"";
    position:absolute;
	right:5px;
	width: 4px;
	height: 4px;
	border-top: 1px solid black;
	border-right: 1px solid black;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    transition: all 0.5s ease;
}

.button.button2:hover {
    background-color:#222;
    color:white;
    border:none;
}

.button.button2:hover::before{
    background:white;
}

.button.button2:hover::after{
    border-top: 1px solid white;
	border-right: 1px solid white;
}


/* SERVICE SECTION */

.service{
    margin-top: 300px;
    position:relative;
}

.service h2{
    position:absolute;
    top:-220px;
    right:20%;
}

.service-container h3{
    font-size:1.25rem;
    margin-top:16px;
    margin-bottom:24px;
}

.service-container p{
    font-size:1rem;
}

.service::before{
    content:"SERVICES";
    font-family: 'Courgette', cursive;
    font-size:128px;
    color:#222;
    position:absolute;
    top:-330px;
    left:-40px;
    margin-bottom:60px; /*仮置き*/
}

.service::after{
    content:"";
    position:absolute;
    top:-150px;
    left: -120px;
    width:100px;
    height:700px;
    background-color: #f1f1f1;
    z-index:-1;
}

.service-container::before{
    content:"";
    position:absolute;
    top:-250px;
    left: -120px;
    width:608px;
    height:100px;
    background-color: #f1f1f1;
    z-index:-1;
}

.service3::after{
    content:"";
    position:absolute;
    /* top:-250px; */
    top:-250px;
    right:-110px;
    width:100px;
    height:700px;
    background-color: #f1f1f1;
    z-index:-1;
}

.service-container::after{
    content:"";
    position:absolute;
    bottom:-145px;
    right: -110px;
    width:608px;
    height:100px;
    background-color: #f1f1f1;
    z-index:-1;
}

.service{
    width:85%;
    margin: 400px auto 0;
    text-align: center;
}

.service-container{
    display:flex;
    position:relative;
}

.service1{
    display:block;
    margin-right:80px;
    margin-left:75px;
    color:#222;
}
.service2{
    display:block;
    margin-right:80px;
    color:#222;
}
.service3{
    display:block;
    margin-right:80px;
    color:#222;
}


.service ul{
    justify-content: space-evenly;
}

.img-box1, .img-box2, .img-box3{
    width:307px;
    height:250px;
    overflow:hidden;
    cursor:pointer;
}

.img-box1 img, .img-box2 img, .img-box3 img{
    transition: all 1s ease;
}



.img-box1 img:hover{
    transform:scale(1.2,1.2);
    transition:1s all;
  }
.img-box2 img:hover{
    transform:scale(1.2,1.2);
    transition:1s all;
  }
.img-box3 img:hover{
    transform:scale(1.2,1.2);
    transition:1s all;
  }


.service-headline, .service p{
    text-align:center;
    width:307px;
}

.button.button2.service-button{
    display:block;
    margin: 30px auto 0;
}


.service-btn{
    display: inline-block;
    margin-right:560px;
    color:#222;
    margin-top:68px;
    padding-top:17px;
    padding-left:7px;
    font-size:16px;
    text-align:left;
    width: 145px;
    height: 60px;
    border: 1px solid #222;
    transition: all 0.5s ease;
    position:relative;
}

.service-btn::before{
    content:"";
    position:absolute;
    top:29px;
	right: 5px;
	width: 35px;
	height: 1px;
	background: black;
    transition: all 0.5s ease;
}

.service-btn::after{
    content:"";
    position:absolute;
    top:27.4px;
	right:5px;
	width: 4px;
	height: 4px;
	border-top: 1px solid black;
	border-right: 1px solid black;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    transition: all 0.5s ease;
}



.service-btn:hover {
    background-color:#222;
    color:white;
    border:none;
}

.service-btn:hover::before{
    background:white;
}

.service-btn:hover::after{
    border-top: 1px solid white;
	border-right: 1px solid white;
}


/* SERVICEの改善版 */


/* WORKS SECTION */

.works{
    position:relative;
    margin-top:360px;
    width:100%;
    min-height: 900px;
    text-align:center;
}

.works-container{
    background-color:#f1f1f1;
    width:90%;
    min-height:944px;
    margin:0 auto;
}

.works-container h2{
    font-weight:normal;
    text-align:center;
    padding-top:47px;
    padding-bottom:23px;
}

.works-container ul a{
    color:#222;
    text-align:center;
}

.works-container ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
    gap:20px;
    margin-bottom:20px;
}

.works-container ul li{
    list-style: none;
}

.works-top{
    margin-bottom:40px;
}

.works-container.button{
    padding-top:120px;
    display:block;
    margin:auto;
}

.works-container ul li p{
    font-size:1.25rem;
    margin-top:24px;
    margin-bottom:45px;
}

.works-container ul li p:hover{
    opacity:0.6;
}

.works::before{
    content:"WORKS";
    font-family: 'Courgette', cursive;
    font-size:128px;
    color:#222;
    position:absolute;
    top:-80px;
    left:60px;
    margin-bottom:60px; /*仮置き*/
}   


.works-btn{
    display: inline-block;
    background: #C0B372;
    padding-top:17px;
    padding-left:7px;
    font-size:16px;
    text-align:left;
    width: 145px;
    height: 60px;
    color:#fff;
    transition: all 0.5s ease;
    position:relative;
    margin-bottom:40px;
}

.works-btn::before{
    content:"";
    position:absolute;
    top:29px;
	right: 5px;
	width: 35px;
	height: 1px;
	background: white;
    transition: all 0.5s ease;
}

.works-btn::after{
    content:"";
    position:absolute;
    top:27.4px;
	right:5px;
	width: 4px;
	height: 4px;
	border-top: 1px solid white;
	border-right: 1px solid white;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    transition: all 0.5s ease;
}

.works-btn:hover {
    background-color:transparent;
    color:#C0B372;
    border:1px solid #C0B372;
}

.works-btn:hover::before{
    background:#C0B372;
}

.works-btn:hover::after{
    border-top: 1px solid #C0B372;
	border-right: 1px solid #C0B372;
}



.image-box{
    width:414px;
    height:273px;
    overflow:hidden;
    cursor:pointer;
}

.image-box img{
    transition: all 1s ease;
}

.image-box img:hover{
    transform:scale(1.2,1.2);
    transition:1s all;
  }



/* CONTACT SECTION */

.contact{
    display:flex;
    height:330px;
    margin-top:120px;
    background-color:#C0B372;
    align-items:center;
    justify-content: center;
}



.contact-left h2, .contact-left p{
    color:white;
}

.contact-left h2{
    font-size:52px;
}

.contact-left p{
    font-size:24px;
    margin-top:10px;
}

.button.button3{
    color:white;
    border:1px solid white;
    background-color:transparent;
}

.button.button3:hover{
    color:#C0B372;
    background-color: white;
    border:none;
}

/* FOOTER */

footer{
    display:flex;
    justify-content: space-between;
    height:300px;
}

.footer-logo{
    margin-left:76px;
    margin-top: 80px;
    cursor:pointer;
}

/* .footer-logo img{
    /* max-height:330px; */
    /* width:200px;
    height:60px; */
/* } */

.footer-menu{
    display:flex;
    align-items: center;
    justify-content: center;
    margin-right: 120px;
    gap:104px;
}

.footer-menuleft ul li{
    list-style: none;
    padding-bottom: 5px;
}

.footer-menuleft ul li a{
    font-size:16px;
    font-weight:bold;
    color:#222;
}

.footer-menuleft ul li a:hover{
    opacity:0.6;

}

.footer-menuright img{
    display:block;
    margin-bottom:10.45px;
    cursor:pointer;
}

.footer-menuright p{
    font-size:16px;
    margin-bottom:10px;
    font-weight:bold;
}

.instagram-logo{
    display:flex;
    gap:10px;
}

.instagram-logo img{
    transition: all 0.3s ease;
}
.instagram-logo img:hover{
    transform:scale(1.1,1.1);
}

.instagram-logo a{
    color: #222;
}
.instagram-logo a:hover{
    opacity:0.6;
}

.facebook-logo{
    display:flex;
    gap:10px;
}

.facebook-logo a{
    color: #222;
}

.facebook-logo a:hover{
    opacity:0.6;
}

.facebook-logo img{
    transition: all 0.3s ease;
}
.facebook-logo img:hover{
    transform:scale(1.1,1.1);
}

/* 会社概要のぺージ */

/* Philosophy */
.philosophy{
    /* display: flex; */
    width:90%;
    margin: 200px auto 200px;
    position:relative;
}

/* .blank-container{
    flex:2;
    position:relative;
} */
.philosophy-container{
    /* flex:1; */
    width:600px;
    min-height:1168px;
    margin-right:130px;
    margin-left:40%;
}

.philosophy::after{
    content:"COMPANY";
    position:absolute;
    font-size:300px;
    color:#f1f1f1;
    transform: rotate(90deg);
    top:480px;
    left:-490px;
    z-index:-1;
}

.blank-container::after{
    content:"COMPANY";
    position:absolute;
    font-size:300px;
    color:#f1f1f1;
    transform: rotate(90deg);
    top:480px;
    left:-450px;
    z-index:-1;
}

.philosophy-container h2{
    font-size:48px;
    margin-bottom:90px;
    white-space: nowrap;
}

.philosophy-container h3{
    font-size:36px;
    margin-bottom:40px;
}


.philosophy-container p{
    font-size:20px;
    width:620px;
    margin-bottom:20px;
}




.philosophy-headline{
    margin-top:90px;
}

/* OVERVIEW */

.overview-section{
    width:75%;
    margin:0 auto;
}

.overview-section h2{
    font-size:48px;
    /* margin-left:182px; */
    /* margin-left: 10px; */
    margin-bottom:53px;
}

.overview-section table{
    width:100%;
    /* margin-left:182px; */
    font-size:24px;
    font-weight:400;
    border-collapse: collapse;
}

.overview-section table tr th{
    font-weight:normal;
    padding-right:339.6px;
}

.overview-section th{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    text-align:left;
    white-space: nowrap;
}
.overview-section td{
    width:60vw;
    padding-left:18px;
    vertical-align: middle;
}
.overview-section tr{
    padding-top:20px;
    padding-bottom:20px;
    border-bottom:1px solid #222;
}

.overview-section th,.overview-section td{
    margin-top:24px;
    margin-bottom:24px;
}
.overview-section td{
    padding-top:24px;
    padding-bottom:24px;
}


/* ACESS */

.access-contents h2{
    font-size:48px;
    margin-top:77px;
    margin-bottom:105px;
}

.access-contents{
    display:flex;
    margin-left:182px;
}

.access-info1{
    margin-bottom:20px;
    font-size:24px;
}
.access-info2{
    margin-bottom:20px;
    font-size:24px;
}
.access-info3{
    margin-bottom:3px;
    font-size:20px;
}
.access-info4{
    margin-bottom:20px;
    font-size:20px;
}
.access-info5{
    font-size:20px;
    width:356px;
}

.map{
    margin-top:150px;
    width:55%;
    height:500px;
    margin-left:55px;
}

/* サービス内容のぺージ */

.services-section{
    width:100vw;
    height:1000px;
    background-color:#f1f1f1;
    margin-top:214px;
    position:relative;
}

.service-content1{
    width:50%;
    height:800px;
    background-color:#fff;
    position:absolute;
    bottom:0;
    padding-left:60px;
}

.service-content1 h3{
    margin-bottom:30px;
    font-size:36px;
    font-weight:400;
    padding-top:41px;
    margin-left:41px;
}

.service-content1 p{
    margin-bottom:30px;
    margin-left:41px;
    font-size:20px;
    padding-right:122px;
}

.services-section img{
    position:absolute;
    right:90px;
    bottom:160px;
    z-index:3;
}

.services-section::before{
    content:"01";
    font-size:256px;
    color:#494949;
    position:absolute;
    right:60px;
    bottom:610px;
    z-index:2;
}

.services-section::after{
    content:"";
    position:absolute;
    width:540px;
    height:480px;
    right:135px;
    bottom:115px;
    background-color:#fff;
    z-index:0;
}

.services-section2{
    width:100vw;
    height:1000px;
    background-color:#f1f1f1;
    margin-top:199px;
    position:relative;
}

.service-content2{
    width:50%;
    height:800px;
    background-color:#fff;
    position:absolute;
    bottom:0;
    right:0;
    padding-left:60px;
}

.service-content2 h3{
    margin-bottom:30px;
    font-size:36px;
    font-weight:400;
    padding-top:41px;
    margin-left:117px;
}

.service-content2 p{
    margin-bottom:30px;
    margin-left:117px;
    font-size:20px;
    padding-right:93px;
}

.services-section2 img{
    position:absolute;
    left:90px;
    bottom:160px;
    z-index:3;
}
.services-section2::before{
    content:"02";
    font-size:256px;
    color:#494949;
    position:absolute;
    left:60px;
    bottom:610px;
    z-index:2;

}

.services-section2::after{
    content:"";
    position:absolute;
    width:540px;
    height:480px;
    left:135px;
    bottom:115px;
    background-color:#fff;
    z-index:0;
}


.services-section.services-section3::before{
    content:"03";
    font-size:256px;
    color:#494949;
    position:absolute;
    right:60px;
    bottom:610px;
    z-index:2;
}

.services-section.services-section3{
    margin-bottom:202px;
}

/* 施行実績のページ */

.works-wrapper{
    width:90%;
    margin:100px auto 0;
}

.works-wrapper h2{
    font-size:48px;
    text-align: center;
    font-weight:400;
    margin-bottom:90px;
}

.works-contents{
    display:grid;
    width:100%;
    /* grid-template-columns: 405px 405px 405px;
    grid-template-rows: 550px 550px 550px; */
    grid-template-columns: 33% 33% 33%;
    grid-template-rows: 33% 33% 33%;
    gap:24px;
    justify-content: center;
}

.works-content{
    border:1px solid #d9d9d9;
    transition: all 0.5s ease;
}

.works-content:hover{
    background-color:#f1f1f1;
}

.works-content h3{
    font-size:24px;
    font-weight:bold;
    text-align: center;
    margin: 25px 0;
}

.works-content a{
    color:#222;
    transition: all 0.3s ease;
}


.works-content p{
    font-size:16px;
    font-weight:normal;
    margin:0 28px;
    text-align:center;
}


.img-container{
    /* width:405px;
    height:300px; */
    width:100%;
    overflow:hidden;
}

.works-content img{
    width:100%;
    transition:all .7s ease;
    cursor: pointer;
}

.works-content img:hover{
    transform: scale(1.1,1.1);
}

/* PAGINATION */
.Pagination {
    display: flex;
    align-items: center;
    margin-top:80px;
    justify-content: center;
  }

  .Pagination-Item{
    list-style: none;
  }

  .Pagination-Item-Link{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 80px;
    height: 80px;
    background: #fff;
    border: solid 2px #d9d9d9;
    font-size: 40px;
    color: #222;
    font-weight: regular;
    transition: all 0.15s linear;
  }
  .Pagination-Item-Link-Icon {
    width: 20px;
  }
  .Pagination-Item-Link.isActive {
    background: #C0B372;
    color: #fff;
    pointer-events: none;
  }
  .Pagination-Item-Link:not(.isActive):hover {
    background: #111;
    color: #fff;
  }
  .Pagination > * + * {
    margin-left: 12px;
  }

  .Pagination.spPagination{
    display:none;
  }


  /* ニュースページ */

  .archives-title{
    font-size:128px;
    margin-top:100px;
  }

.news-section{
    width:100%;
}

  .news-hr{
    width:100%;
    margin-top:180px;
    color:#d9d9d9;
  }

  .news-contentholder{
    display:flex;
    width:100%;
    transition: all 0.5s ease;
  }
  .content-holder p{
    width:100%;
}


.news-holder{
    width:60%;
}
.news-img{
    width:50%;
    overflow:hidden;
    width:380px;
    height:250px;
}
.news-img img{
    transition:all 0.7s ease;
    overflow:hidden;
}
.news-img img:hover{
    transform: scale(1.2,1.2);
}
.tag-holder{
    margin-top:120px;
    margin-left:86px;
}
.content-holder{
    margin-bottom:120px;
    margin-left:86px;
}
.tag-holder{
    margin-bottom:25px;
    display: flex;
}
.tag-holder time{
    font-size:20px;
    font-weight:bold;
    margin-top:7px;
}
.cat-press{
    color:#222;
    border:3px solid #f1f1f1;
    border-radius:20px;
    width:180px;
    font-size:20px;
    font-weight:bold;
    margin-left:20px;
    padding: 5px 15px;
    transition: all 0.5s ease;
}


.content-holder p{
    font-size:24px;
    font-weight:bold;
}

.news-href{
    display: flex;
    gap: 120px;
    color:#222;
    width:100%;
}
.cat-news{
    color:#222;
    border:3px solid #f1f1f1;
    border-radius:20px;
    width:118px;
    font-size:20px;
    font-weight:bold;
    margin-left:20px;
    padding: 5px 15px;
}

.news-contentholder:hover{
    background-color: #e7e7e7;
}

.news-img{
    margin-top:60px;
}


/* お問い合わせページ */

.contact-flow{
    display:flex;
    gap:32px;
    justify-content: center;
    margin-top:90px;
}

.flow1-container,.flow2-container, .flow3-container{
    display:flex;
    position:relative;
}

.flow1, .flow2, .flow3{
    position:relative;
}

.contact-section{
    width:90%;
    margin: 0 auto;
}

.contact-section table{
    display: block;
    table-layout: fixed;
    width:auto;
    margin:0 auto;
    border-collapse: collapse;
    margin-top:178px;
    border:1px solid #d9d9d9;
}


.contact-section th {
    display:block;
    height:250px;
    width:380px;
    background-color:#f1f1f1;
    margin:0;
    font-size:24px;
    font-weight:bold;
    text-align:left;
    padding-left:156px;
    border-right: 1px solid #d9d9d9;
    padding-top:112px;
}

.contact-section table tr td{
    width:100%;
    vertical-align: middle;
    padding-top:3px;
}

.contact-section tr{
    border-bottom:1px solid #d9d9d9;
    width: 100%;
}


.flow1-container p{
    position:absolute;
    font-size:24px;
    font-weight:bold;
    color:white;
    top:54px;
    left:20px;
}

.flow2-container p{
    position:absolute;
    font-size:24px;
    font-weight:bold;
    color:#222;
    top:54px;
    left:20px;
}
.flow3-container p{
    position:absolute;
    font-size:24px;
    font-weight:bold;
    color:#222;
    top:54px;
    left:20px;
}

.checkbox, .checkbox-container{
    width:100%;
}

.input{
    width:80%;
    height:70px;
    outline:2px solid #d9d9d9;
    border-color:none;
    border-style:none;
    font-size:24px;
    display: block;
    margin:0 auto;
}

.checkbox li {
    list-style:none;
    display: flex;
    justify-content: flex-start;
    cursor:pointer;
    margin-left:70px;
}

.checkbox li input{
    margin-right:20px;
    width:30px;
    height:30px;
    cursor:pointer;
}

.checkbox li p{
    margin-right:20px;
    font-size:20px;
    font-weight:bold;
}

.tr-contact{
    width:780px;
    height:458px !important;
}
.th-contact{
    height:458px !important;
    padding-top:210px !important;
}

textarea{
    width:80%;
    outline:2px solid #d9d9d9;
    border-color:none;
    border-style:none; 
    font-size:24px;
    display: block;
    margin:0 auto;
}




.contact-section table tr{
    height:250px;
}

.confirm-button{
    display:flex;
    justify-content: center;
    align-items:center;
    width:200px;
    height:100px;
    color:#222;
    margin:90px auto 90px;
    font-size:24px;
    font-weight:bold;
    cursor:pointer;
    border:1px solid #d9d9d9;
    transition:all 0.3s ease;
}
.confirm-button:hover{
    background-color:#222;
    color:#fff;
}


.must{
    position:relative;
}
.must::before{
    content:"必須";
    position:absolute;
    display:flex;
    align-items: center;
    justify-content: center;
    width:78px;
    height:55px;
    text-align:center;
    background-color:#222;
    color:white;
    left:50px;
    top:50%;
    transform: translateY(-50%);
}


.any{
    position:relative;
}
.any::before{
    content:"任意";
    position:absolute;
    display:flex;
    width:78px;
    height:55px;
    background-color: #fff;
    justify-content: center;
    align-items: center;
    color:#222;
    left:50px;
    top:50%;
    transform: translateY(-50%);
}

/* 施工実績（個別ページ） */
.work-wrapper{
    display:flex;
    width:100%;
}

.img-section, .work-description{
    width:50%;
}

.work-description h3, .work-description p{
    margin: 0 86px;   
}

.work-description h3{
    margin-bottom:20px;
    font-size:32px;
    font-weight:bold;
}
.work-description p{
    margin-bottom:40px;
    font-size:24px;
    font-weight:bold;
}

.work-section{
    width:90%;
    margin:0 auto;
}

.work-section h2{
    margin-top:100px;
    margin-bottom:100px;
}

.work-img1{
    margin-bottom:50px;
    width:100%;
}

.work-img2{
    margin-bottom:90px;
    width:100%;
}

.work-description a{
    margin: 0 86px;
    display:flex;
    width:336px;
    height:80px;
    border:1px solid #222;
    font-size:2rem;
    color:#222;
    padding: 9px 28px 9px 35px;
    transition: all 0.4s ease;
    align-items:center;
    justify-content:center;
}

.work-description a:hover{
    background-color:#222;
    color:white;
}

.chevron{
    padding-left:20px;
}


/* 投稿（個別）ページ */

.newspage-container{
    width:80%;
    margin:0 auto;
}

.newspage-container h2{
    font-family: 'Noto Sans JP', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-weight:bold;
}

.news-tag{
    display:flex;
    margin-top:105px;
    margin-bottom:46px;
}

.news-tag time{
    font-size:20px;
    font-weight:bold;
    margin-top:7px;
}

.category-press{
    color:#222;
    border:3px solid #f1f1f1;
    border-radius:20px;
    font-size:20px;
    font-weight:bold;
    margin-left:20px;
    padding: 5px 15px;
}

.newspage-container h2{
    font-size:32px;
    font-size:bold;
    margin-bottom:40px;
}

.newspage-container p{
    margin-bottom:10px;
    font-size:24px;
    font-weight:normal;
}

.pc-newspostimg{
    display: block;
    margin:90px auto 60px;
}

.newsBtn{
    display:flex;
    margin: 0 auto;
    align-items:center;
    justify-content: center;
    width:336px;
    height:80px;
    border:1px solid #222;
    font-size:2rem;
    color:#222;
    padding: 9px 30px 9px 40px;
    transition: all 0.4s ease;
}

/* .newsBtn-container{
    position: relative;
} */
/* .chevron{
    position:absolute;
    top:0;
    left:0;
    z-index:1;
    font-size:2rem;
    top:26px;
    left:568px;
    pointer-events: none;
} */

.newsBtn:hover{
    background-color:#222;
    color:white;
}


/* スマホ対応 */

.spLogo-img{
    display:none;
}

.spHero-img{
    display:none;
}

.spHero-title{
    display:none;
}
.spNews-title{
    display:none;
}

#drawer_input{
    display:none;
}


.spButton{
    display:none;
}

.spAbout-img{
    display:none;
}

.spAbout-title{
    display:none;
}

.spService1-img{
    display:none;
}
.spService2-img{
    display:none;
}
.spService3-img{
    display:none;
}

.spTopworks1-img{
    display:none;
}
.spTopworks2-img{
    display:none;
}
.spTopworks3-img{
    display:none;
}

.spWorks-title{
    display:none;
}

.sp-footerlogo{
    display:none;
}

.sp-news1{
    display:none;
}
.sp-news2{
    display:none;
}

.spService-title{
    display:none;
  }

.spButton2{
    display: none;
}

.spButton3{
    display:none;
}

.hamburger-menu{
    display:none;
}
.sp-ideal{
    display:none;
}

.spLogo-img2{
    display:none;
}

.spFooter-logoimg{
    display:none;
}

.spMap{
    display:none;
}

.copyrights{
    margin: 10px auto 30px;
    text-align: center;
}

.sp-service01{
    display:none;
}
.sp-service02{
    display:none;
}
.sp-service03{
    display:none;
}

.spWorks-image{
    display:none;
}

.spNews-image{
    display: none;
}

.sp-script1, .sp-script2{
    display: none;
}

.checkbox-container{
    display: flex;
}

.sp-workimg{
    display: none;
}
.sp-newspostimg{
    display:none;
}

/* ここからアニメーション */
/* span{
    opacity:0;
    transition:all 0.5s ease;
    transform: translateY(70px) ;
    display:inline-block;
}

span.fade{
    opacity:1;
    transform:translateY(0px);
} */

/* ここからタブレット対応 */

.tbHero-img{
    display:none;
}

.tbAbout-img{
    display: none;
}
.tbService1-img, .tbService2-img, .tbService3-img{
    display: none;
}

.tbTopworks1-img, .tbTopworks2-img, .tbTopworks3-img{
    display: none;
}

.tb-service01, .tb-service02, .tb-service03{
    display: none;
}

.tbWorks-image{
    display: none;
  }

.tb-working.img1, .tb-working.img2{
    display:none;
}
.tb-newspostimg{
    display: none;
}

.tb-workdescription{
    display: none;
}



}




