/* フォント設定 */
body {
	font-family: 'Noto Sans JP', sans-serif;
}

.main-content{
	padding-top:120px;
}
@media screen and (max-width: 1280px) {
  .main-content{
    padding-top:60px;
  }
}

/* ナビゲーション設定 */
.navbar{
	background-image: url('../images/bg_header.jpg?ver=2');
	background-size: cover;
	background-position: center;
  min-height: 120px;
}
.navbar>.container{
  max-width: 1800px;
}

.navbar a {
	font-size: 25px;
	color: #fff;
	font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
}
.navbar a:hover {
	color: #ffd700;
	transform: translateY(-2px);
	transition: all 0.3s ease;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.navbar a {
	transition: all 0.3s ease;
}

.navbar .logo {
	max-width: 343px;
}
.navbar .nav-item{
	position: relative;
}

.navbar-collapse {
  border-radius: 15px;
  padding: 15px;
  z-index: 9999;
}

.nav-item{
  padding: 0 40px;
}
.nav-item:last-child{
  padding-right: 0;
}
@media screen and (min-width: 1280px) and (max-width: 1599px) {
  .navbar .nav-item{
    padding: 0 15px;
  }

}

@media screen and (min-width: 1280px) {
	
		
  
	.navbar .nav-item:nth-child(5){
		margin-right: 250px; /* Adjust this value as needed */
	}
	.navbar .nav-item:nth-child(5) a {
		background-image: url('../images/header_contact.png');
		background-size: contain;
		background-repeat: no-repeat;
		width: 217px;
		height: 154px;
		text-indent: -9999px;
		display: inline-block;
		vertical-align: top; /* Keep this for top alignment */
		margin-top: 0; /* Adjust margin if necessary */
		padding-top: 0; /* Adjust padding if necessary */
		line-height: 50px; /* Align text vertically within the height */
		position: absolute;
		right: -250px;
		top: -38px;
	}
}

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

  .navbar-collapse{
      background-color: #333;

  }

  .navbar{
    height:     80px;
    min-height: 80px;
  }

	a.navbar-brand img{
		max-width: 150px;
	}
}


/* 1280px以上でのみメニューを展開する設定 */
@media (min-width: 1280px) {
  .navbar-expand-custom {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  
  /* ハンバーガーボタンを消す */
  .navbar-expand-custom .navbar-toggler {
    display: none;
  }
  
  /* メニューの中身を表示状態にする */
  .navbar-expand-custom .collapse {
    display: flex !important;
    flex-basis: auto;
  }
  
  /* メニュー項目を横並びにする */
  .navbar-expand-custom .navbar-nav {
    flex-direction: row;
  }
  
  /* 個々のアイテムの余白調整（Bootstrapの標準に合わせる） */
  .navbar-expand-custom .navbar-nav .nav-link {
    padding-right: .5rem;
    padding-left: .5rem;
  }
}

.navbar-toggler{
  border:none;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}


/* 
 * フッター
 * ----------------------------------------------------------------------------------------------------------------------------
 */

footer{
  /*position: relative;*/
  /*z-index: 1024;*/
  background-color: white;
}
footer .footer-up{
  margin-top:100px;
  padding:50px 0;
  background-image: url('../images/bg_footer_up.jpg');
  background-size: cover;
  background-position: center;
}
footer .instagram, footer .facebook{
  padding:0 20px;
}

/* セパレーターのスタイル */
footer .sep{
  display: block;
  width: 1px;
  height: 120px;
  background-color: #ffffff;
}

footer .footer-bt{

  /*ドリル対策*/
  position: relative;
  z-index: 9999;

  margin-top:100px;
  background-image: url('../images/bg_footer_bt.jpg');
  background-size: cover;
  background-position: center;
}

/*
<ul class="footer-nav">
    <li>HOME</li>
    <li>会社案内</li>
    <li>施工実績</li>
    <li>保有機械</li>
    <li>採用情報</li>
    <li>お問合せ</li>
</ul>
*/
.footer-nav{
  list-style: none;
  display: flex;
  justify-content: flex-end;
  padding: 0;
  margin: 0;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 20px;
}

.footer-nav li {
  width: 130px;
  text-align: center;
  border-right: 1px solid #FFFFFF;
}

.footer-nav li:last-child {
  border-right: none;
}

.footer-nav li a{
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  padding: 10px 0;
}
@media screen and (max-width: 1200px) {

  footer .footer-up{
    margin-top:20px;
  }
  .footer-nav{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .footer-nav li{
    width: 33.33%;
    margin-bottom: 20px;;
    border-right: 1px solid #FFFFFF;
    box-sizing: border-box;
    
  }
  .footer-nav li:nth-child(3n+1){
    border-left: 1px solid #FFFFFF;
  }
}

.footer-bt{
  padding: 40px 0;
}
.footer-bt .logo{
  margin-bottom: 30px;;
}
.footer-bt p{
  text-align: right;
  padding-right: 20px;
}

.ft-tel{
  text-align: center;
  margin-bottom:20px;
}

.ft-contact-btn{
    text-align: center;
    margin-top:20px;
    margin-bottom:20px;
}
.ft-contact-btn a{
  background-image: url('../images/mail.png');
  background-size: 41px 31px;
  background-repeat: no-repeat;
  background-position: left 30px center;
  font-weight: bold;
  padding:10px 60px 10px 90px;
}
.ft-contact-btn a:hover{
  background-color: #dea40e;
}
@media screen and (max-width:1200px) {
  .ft-contact-btn{
    text-align: center;
    margin-top:20px;
    margin-bottom:20px;
  }
  .ft-contact-btn a{
    font-size: 22px; 
  }
}

footer .icons{
  margin-top:50px;
}
footer .icons ul{
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;;
  width: 1200px;
}

footer .icons ul li{
  width: 200px;
  height: 120px;
  margin-bottom: 40px;
  padding:40px 0 40px 0;
  
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #000000;
}
@media screen and (max-width: 1279px) {
  footer .icons ul{
    width: 100%;
  }
  footer .icons ul li{
    width: 33.33%;
  }
}



footer .sdgsLogo{
  margin-top:90px;
  text-align: center;
}
footer .sdgsLogo img{
  margin:auto;
}



/* PC layout: 6 items in first row, 5 in second row */
@media screen and (min-width: 768px) {
  footer .icons ul li:nth-child(1) {
    border-left: 1px solid #000000;
  }
  footer .icons ul li:nth-child(6) {
    border-right: 1px solid #000000;
  }
  footer .icons ul li:nth-child(7) {
    border-left: 1px solid #000000;
  }
  footer .icons ul li:nth-child(11) {
    border-right: 1px solid #000000;
  }
}
/* PC layout: 6 items in first row, 5 in second row */
@media screen and (min-width: 1280px) {
  footer .icons ul li:nth-child(1) {
    border-left: 1px solid #000000;
  }
  footer .icons ul li:nth-child(6) {
    border-right: 1px solid #000000;
  }
  footer .icons ul li:nth-child(7) {
    border-left: 1px solid #000000;
  }
  footer .icons ul li:nth-child(11) {
    border-right: 1px solid #000000;
  }
}

/* Tablet layout: 3 items per row */
@media screen and (min-width: 768px) and (max-width: 1279px) {
  footer .icons ul li {
    width: 33.33%;
  }
  footer .icons ul li:nth-child(3n+1) {
    border-left: 1px solid #000000;
  }
  footer .icons ul li:nth-child(3n) {
    border-right: 1px solid #000000;
  }
}

/* Mobile/Tablet layout: 2 columns */
@media screen and (max-width: 767px) {
  footer .icons ul li {
    width: 50%;
  }
  footer .icons ul li:nth-child(odd) {
    border-left: 1px solid #000000;
  }
  footer .icons ul li:nth-child(even) {
    border-right: 1px solid #000000;
  }
}


@media screen and (max-width: 1280px) {
  /*
  footer .sdgs{
    width: 100%;
    transform: scale(0.8);
    transform-origin: top center;
  }
    */

    footer .sdgsLogo{
      margin:50px;
      text-align: center;
    }

}

/* 
 * セカンドレベルヘッダー
 * ----------------------------------------------------------------------------------------------------------------------------
 */

.contentHeader{
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url('../images/head-bg.jpg');
  background-size: cover;
  background-position: center;
  height: 500px;
}

@media screen and (max-width: 991px) {
  .contentHeader{
    aspect-ratio: 4/3;
    height: auto;
  }
  
}

/* 
 * カラー設定 
 * ----------------------------------------------------------------------------------------------------------------------------
 */

.color-white{
  color: #FFFFFF;
}
.color-black{
  color: #000000;
}
.color-blue{
  color: #0D1E7E;
}




/* 
 * ボタンクラス設定 
 * ----------------------------------------------------------------------------------------------------------------------------
 */

.btnWrap-center{
  text-align: center;
}
.btnWrap-left{
  text-align: left;;
}
.btn-blue{
  font-size:30px;
  background-color: #0B2748;
  color:white;
  margin:auto;
  border-radius: 10px;
  padding: 10px 60px;
}

.btn-blue:hover{
  background-color: #67768b;
  color:white;
}

.btn-sand{
  font-size:30px;
  background-color: #EBC05B;
  color:black;
  margin:auto;
  border-radius: 10px;;
  padding: 10px 60px;
}
.btn-sand:hover{
  background-color: #dea40e;
}
/* 
 * フォントクラス設定 
 * ----------------------------------------------------------------------------------------------------------------------------
 */

.font-ff {
  font-size: 50px;
}
.font-f {
  font-size: 45px;
}
.font-mf {
  font-size: 30px;
}
.font-mp {
  font-size: 20px;
}
.font-p {
  font-size: 15px;
}
.font-pp {
  font-size: 10px;
}

@media screen and (max-width: 767px) {
  .font-ff {
    font-size: 28px;
  }
  .font-f {
    font-size: 24px;
  }
  .font-mf {
    font-size: 16px;
  }
  .font-mp {
    font-size: 14px;
  }
  .font-p {
    font-size: 12px;
  }
  .font-pp {
    font-size: 10px;
  }
}

.noto-serif-jp-black {
  font-family: "Noto Serif JP", serif;
  font-weight: 900; /* Black */
}
.noto-serif-jp-bold {
  font-family: "Noto Serif JP", serif;
  font-weight: 700; /* Bold */
}
.noto-serif-jp-regular {
  font-family: "Noto Serif JP", serif;
  font-weight: 400; /* Regular */
}
.noto-sans-jp-black {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900; /* Black */
}
.noto-sans-jp-bold {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700; /* Bold */
}
.noto-sans-jp-regular {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400; /* Regular */
}
.noto-sans-jp-light {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300; /* Light */
}


.contentHeader .pageTitle{
	
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 632px;
	height: 180px;

	display: flex;
	justify-content: center;
	align-items: center;

	font-size: 50px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
	color:white;
	letter-spacing: 0.2rem;
}

@media screen and (max-width: 768px) {
  .contentHeader .pageTitle{
    width: 80%;
    font-size: 25px;
  } 
  
}


.address{
  margin-bottom: 20px;;
}
@media screen and (max-width: 1199px) {
  .logo,.address{
    text-align: center;;
  }
}
@media screen and (min-width: 1200px) {
  .sepaspace{
    display:none;
  }
}


.only-pc{
  display: block;
}


.only-sp{
  display: none;
}

@media screen and (max-width: 1280px) {
  .only-pc{
    display: none;
  }
  .only-sp{
    display: block;
  }
}
