/*
Theme Name:	wp-kajimoto2024
Description:株式会社 梶本住設
Author:mrri
*/


@charset "UTF-8";
/* CSS Document */

/**************************************** ページ全体 **********************************************/


/*リセット設定*/
*{
	margin: 0; 
	padding: 0;
	box-sizing: border-box;
 }
a { 
    text-decoration : none;
	color:#000;
   }
ul, ol { 
    list-style : none;
   }
a[href^="tel:"] {
    pointer-events: none;
}
@media screen and (max-width: 768px) {
a[href^="tel:"] {
		pointer-events: auto;
	}
}
/*end*/


/* @group Fluid-img */
img { max-width : 100%;}
/* @end */


/* @group HTML */
html {
       font-family : 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
       font-size:100%;
       line-height : 1.5;
	
	  /* text-align:center;*/
     }
/* @end */



/* @group Heading */
h1,h2,h3,h4,h5,h6 { 
       margin-bottom : 24px;
	   }
h1 {
      font-size: 24px; 
      line-height: 1;
	  } /* 48px */
h2 {
     font-size : 16px;
     line-height : 1.5;
	 } /* 48px */
h3{
     font-size: 30px;
  line-height: 1.5;
  color: #063;
  font-weight: 600;
	 } /* 24px */
hgroup h2,h4,h5,h6 {
     font-size : 16px;
     line-height : 1.5;
	 } /* 24px */
/* @end */
	

.sp{
	display:none;
}


/* @group Header */	 
header {
  background-color: #063;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
	padding: 10px 0 10px 0;
	position: fixed;
	height: 67px;
}
header h1 {
  color: #FFF;
  margin: 0;
    margin-left: 0px;
  margin-left: 30px;
}


@media screen and (max-width: 991px) {
	h1 img {
	  height: 36px;
	}
	header h1 {
	margin-left: 10px;
		}

 }

@media screen and (max-width: 768px) {
	
	.sp{
	display:inline-block;
	}

	
	header {
  padding: 0;
}
	header {
	height: 62px;
}
	
}
/* @end */





/* @group Contents */
#wrapper {
     margin : 0 auto;
     text-align : center;
	 }
#wrapper p { 
     margin-bottom : 24px;
	 }
	 
/* @end */

.Headline{
	/*font-size:36px;*/	
	color:#FFF;
	background-color:#673730;
	box-shadow:2px 2px 4px #333;
	margin:50px 0 20px;
	padding:5px;
	text-align:center;
}



/**************************************** ページ全体END **********************************************/

/**************************************** TOP **********************************************/

/*****************************
.メニュー設定 START
******************************/



/*************** ハンバーガーメニュー用のCSS START **********************/
.menu-container {
  margin: 0;
/**  position: relative;  **/
}
.header-nav {
  margin-right: 30px;
}
.menu-container .menu {
  display: flex;
  list-style: none;
  margin: 0;
  margin-left:auto;
  margin-right:auto;
  padding: 0;
	align-items: center;
}
.menu-item img {
  vertical-align: middle;
}


.menu-container .menu .menu-item {
  flex: 1;
}


.menu-container .menu .menu-item a {
  color: #fff;
  display: block;
  padding: 0 1em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  font-size: 19px;
	font-weight: bold;
}

.menu-container .menu .menu-item a:hover {
  opacity: 0.8;
  color: #ffffff;
}

.menu-container .menu .menu-item:last-child a {
  border-right: none;
}
@media screen and (max-width: 991px) {
	.menu-container .menu .menu-item a {
		font-size: 17px;
		padding: 0 8px;
	}
		.header-nav {
	  margin-right: 5px;
	}


 }

@media screen and (max-width: 768px) {
	.pc {
	  display: none;
	}
	
	
  .menu-container .menu {
    display: none;
    position: absolute;
    width: 100%;
    left: 0;
	background: #222;
  }
  .menu-container .menu .menu-item a {
    border-bottom: 1px solid #ccc;
    border-right: none;
    padding: 10px 5px;
    font-size: 16px;
  }
  .menu-container .menu .menu-item:last-child a {
    border-bottom: none;
  }
	
	.header-nav {
	  margin-right: 10px;
	}
	.menu-item img {
	  width: 30px;
	  height: 30px;
	}
	
}
/****************** ハンバーガーメニュー用のCSS END *********************/

/****************** ハンバーガーメニュー用アイコンSTART*****************/
.icon-hamburger {
  background: #063;
  cursor: pointer;
  height: 50px;
  position: relative;
  width: 50px;
  display: none;
  margin-bottom: 0.4em;
  margin-left:40px;
}

.icon-hamburger span {
  background: #fff;
  display: block;
  height: 4px;
  left: 50%;
  margin: 5% 0 0 -42%;
  position: absolute;
  top: 50%;
  width: 70%;
}

.icon-hamburger span::before,
.icon-hamburger span::after {
  background: #fff;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: 5% 0 0 -50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.icon-hamburger span::before {
  margin-top: -35%;
}

.icon-hamburger span::after {
  margin-top: 26%;
}

@media screen and (max-width: 768px) {
  .icon-hamburger {
    display: inline-block;
  }
}
/****************** ハンバーガーメニュー用アイコンEND ******************/


/*****************************
.メニュー設定 END
******************************/

/*****************************
.TOP設定 START
******************************/

/*****************************
.TOP設定 END
******************************/

/*****************************
.表紙設定 START
******************************/
.cover {
  position: relative;
	height: calc(100vh - 67px);
  min-height: 700px;
	margin-top: 67px;
}
.mv-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 60%;
}
.mv-txt img {
	max-width: 650px;
  width: 80%;
}

.slick01 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
	object-position: center center;
}
.slick-slide {
  height: calc(100vh - 67px);
  min-height: 700px;
}
.mv-txt p {
  font-size: 25px;
  color: #063;
  margin-top: 30px;
  line-height: 1.8;
  text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff;
}


@media screen and (max-width: 991px) {
	.mv-txt p {
	font-size: 20px;
	}
}


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

	.mv-txt {
	  width: 70%;
		max-width: 340px;
	}
	.mv-txt p {
		font-size: 18px;
	}
	.cover {
	  position: relative;
	  height: calc(70vh);
	  min-height: 500px;
		margin-top: 62px;
	}
	.slick-list {
	  height: calc(70vh);
	  min-height: 500px;
	}
	
}

/*****************************
.表紙設定 END
******************************/


/*****************************
.表紙フッター設定 START
******************************/

.container{
	width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}


@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 769px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1180px) {
  .container {
    max-width: 1150px;
  }
}


.inner{
	padding:80px 0;
}


.topfooter {
				background-color:#063;
				color:#FFF;
			}
.tel-white a {
  font-size: 60px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 2px;
}
.tel-white img {
  margin-right: 20px;
  vertical-align: middle;
}

.mailinfo a {
  background: #fff;
  padding: 15px 60px;
  color: #063;
  font-weight: bold;
	position: relative;
  display: inline-block;
  margin-top: 30px;
	margin-bottom: 40px;
}
.mailinfo a::after {
  content: '';
  width: 14px;
  height: 21px;
  background-image: url("images/btn_yajirushi.png");
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.reform-soon {
  color: #ce00cb;
  font-size: 24px;
  background: #fff;
  display: inline-block;
  font-family: Verdana, Geneva, sans-serif;
  font-weight: 600;
  letter-spacing: 2px;
  padding: 10px 60px;
  border: 1px solid #ce00cb;
}
.reform-soon img {
  vertical-align: middle;
}
.mt-30{
	margin-top: 30px !important;
}
.mt-60{
	margin-top: 60px !important;
}
.mb-80{
	margin-bottom:80px !important;
}
.mt-80 {
  margin-top: 80px !important;
}
.mt-10 {
  margin-top: 10px;
}
.reform-txt {
  margin-top: 30px;
  line-height: 2;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
	.inner {
	  padding: 60px 0;
	}
	.mt-30 {
	  margin-top: 20px !important;
	}
	.mb-80 {
	  margin-bottom: 40px !important;
	}
	.mt-60 {
	  margin-top: 30px !important;
	}
	.mt-80 {
	  margin-top: 40px !important;
	}
	.tel-white a {
		font-size: 40px;
	}
	.tel-white img {
	  margin-right: 10px;
	  vertical-align: middle;
	  width: 36px;
	}
	.mailinfo a {
		margin-top: 20px;
		padding: 15px 30px;
	}
	.mailinfo a::after {
		right: 10px;
	}
	.reform-soon {
	  font-size: 20px;
	  padding: 10px 40px;
	}
	
}



/*****************************
.表紙フッター設定 END
******************************/

/*****************************
.ごあいさつ設定 START
******************************/

.greeting {
	line-height:2;
}


h2 img {
	padding-bottom: 30px;
}

@media screen and (max-width: 768px) {
	h2 img {
	  padding-bottom: 10px;
	  width: 200px;
	}
}

/*****************************
.ごあいさつ設定 END
******************************/

/*****************************
.会社紹介設定 START
******************************/
.w-840{
	width: 100%;
  max-width: 840px;
  margin: 0 auto;
}
table.about-table {
  width: 100%;
}

table.about-table tr {
	  border-bottom: 1px solid #231815;
}
table.about-table th {
  width: 30%;
  padding: 15px 20px;
}
table.about-table td {
  padding: 15px 10px 15px 10px;
  text-align: left;
  word-break: keep-all;
  line-height: 1.6;
}
.access-wrap {
  display: flex;
  gap: 50px;
}
.map {
  width: 60%;
}
.access-right {
  text-align: left;
}


@media screen and (max-width: 768px) {
	table.about-table th {
	  padding: 10px 10px 3px;
	  display: block;
	  width: 100%;
	  color: #063;
	  font-weight: 600;
	}
	table.about-table td {
	  padding: 0 10px 10px 10px;
	  display: block;
	  width: 100%;
	}
	.access-wrap {
		display: block;
	}
	.map {
	  width: 100%;
		margin-bottom: 20px;
	}
	.map iframe {
	  height: 200px;
	}
	
	
	
	
	
}


/*****************************
.会社紹介設定 END
******************************/

/*****************************
.実績 START
******************************/
.works-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.works-inner {
  width: 32%;
  flex-shrink: 0;
}
.works-wrap p {
  text-align: left;
}
.green-btn a {
  background: #063;
  padding: 15px 60px;
  color: #fff;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin-top: 30px;
  margin-bottom: 40px;
  border: none;
}
.green-btn a::after {
  content: '';
  width: 14px;
  height: 21px;
  background-image: url("images/btn_green.png");
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.works-inner img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
.works-wrap {
	display: block;
}
	.works-inner img {
		height: 200px;
	}
	.works-inner {
		width: 100%;
	}

}


/*****************************
.実績 END
******************************/


/*****************************
.アクセス START
******************************/
.tel-black a {
  font-size: 60px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #231815;
}
.tel-black img {
  margin-right: 20px;
  vertical-align: middle;
}
table.contact-table th {
  padding: 10px 0;
  width: 30%;
	vertical-align: top;
}
table.contact-table td {
  text-align: left;
}
.privacy-policy {
  width: 100%;
  height: 130px;
  overflow: auto;
  font-size: 13px;
  border: 1px solid #a7a9ac;
  padding: 10px;
}
input[type="text"],input[type="email"],input[type="tel"], textarea, select {
  border: 1px solid #a7a9ac;
  width: 100%;
}
table.contact-table {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}
textarea {
  height: 200px;
}

table.contact-table td {
  padding: 10px 0;
}
.red {
  color: #e60012;
}
.wpcf7-spinner {
  display: none;
}
.submit-btn input {
  background: #063;
  padding: 15px 60px;
  color: #fff;
  font-weight: bold;
  position: relative;
  display: inline-block;
  border: none;
	cursor: pointer;
}
.submit-btn::after {
  content: '';
  width: 14px;
  height: 21px;
  background-image: url("images/btn_green.png");
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.submit-btn {
  display: inline-block;
	margin-top: 30px;
  margin-bottom: 40px;
	position: relative;
	cursor: pointer;
}

@media screen and (max-width: 768px) {
.tel-black a {
	font-size: 40px;
}
	.tel-black img {
  margin-right: 10px;
  vertical-align: middle;
  width: 36px;
}
	
table.contact-table th {
  display: block;
  width: 100%;
	padding:5px 0;
}	
table.contact-table td {
  padding: 0 0 10px;
  display: block;
  width: 100%;
}	
	
	
	
}




/*****************************
.アクセス END
******************************/

/************************************************* TOP END ********************************************************/





.Headline{
	/*font-size:36px;*/	
	color:#FFF;
	background-color:#673730;
	box-shadow:2px 2px 4px #333;
	margin:50px 0 20px;
	padding:5px;
	text-align:center;
}




.ruled_line{

	border-bottom:dotted 2px #b89f48;
	margin-bottom:15px;
}

.ruled_line2{
	border-bottom:solid 1px #b89f48;
	margin-bottom:1px;
}

hr{
    border-top: 2px dotted #b89f48;
    border-right: none;
    border-bottom: none;
    border-left: none;
	margin:10px 0;

}	



p.indentback{
  text-indent: -2em;
  padding-left: 2em;
  margin-bottom:10px;
}


/* @group Footer */
footer {
  text-align: center;
  background-color: #063;
  color: #FFF;
  font-family: Verdana, Geneva, sans-serif;
  padding: 20px 0 100px;
  font-size: 13px;
}


/* @end */






/*********** TOPへもどるボタン設定	***********/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  text-align:right;
}


#pageTop a {
  display: block;
  z-index: 999;
  text-decoration: none;

}

 
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/********** TOPへもどるボタン設定end ***********/


/*768px*/
@media screen and (min-width : 768px){
#contents { text-align : left}
header img{ max-width:450px}
.lessonwidth {
	max-width:450px;
}

}
/* 1024px */
@media screen and (min-width : 1024px) {
html { font-size : 16px
        }
.lessonwidth {
	max-width:450px;
	margin:3px auto;
}

header img{ max-width:450px}
/* @group Nav */
nav ul {
width :93.75%;/* 960/1024 */
margin : 0 auto}
/* @end */
/* @group Contents */
#contents {
overflow : hidden;
width : 93.75%}/* 960/1024 */
#contents #main,
#contents #sub { 
float : left;
margin : 0 1.0416667%} /*10/960*/ 
#contents #main { width : 64.5833333%} /*620/960*/
#contents #sub { width : 31.25%} /*300/960*/
/* @end */


}




