@charset "UTF-8";

/* 初期：PC表示、SP非表示 */
.header-pc { display: block; }
.header-sp { display: none; }

/* 1299px以下でSPを表示、PCを非表示 */
@media (max-width: 1299px) {
  .header-pc { display: none; }
  .header-sp { display: block; }
}


/*-----------------------------------
  summary
-----------------------------------*/
.summary {
  background-color: #0d4394;
}
.summary p {
 width: 1350px;/*1060px;*/
 margin: 0 auto;
 font-size: 11px;
 color: #fff;
 text-align: left;
 display: block;
 letter-spacing: normal;
	padding-left: 10px;
}
@media (max-width: 767px) {
 .summary p {
  margin: 0 .6em;
  padding: 4px .5em 0;
  font-size: 10px;
  line-height: 1.4;
  width: 100%;
 }
 .summary {
  width: 100%;
  min-width: auto;
  height: auto;
  padding-bottom: 2px;
 }
}
.header_main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0 0;/*15px 20px;*/
  max-width: 1350px;/*1100px;*/
  margin: 0 auto;
}

.header_logo img {
  height: 70px;
}

.header_links ul {
  list-style: none;
  display: flex;
  gap: 30px;
  font-size: 14px;
}

.header_links a {
  position: relative;
  padding-left: 10px;
  color: #333;
  text-decoration: none;
}

.header_links ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #00aaff;
}

.header_contact {
  display: flex;
  align-items: center;
  gap: 15px;/*30px;*/
}

.header_tel {
  font-size: 23px;
  font-weight: bold;
  color: #333;
  letter-spacing: .005em;
}

.header_tel i {
  margin-right: 10px;
	color: #008df1;
}

.header_contact-btn {
  background-color: #2589d0;
  color: white;
  padding: 12px 40px;
  border-radius: 100px;
  text-decoration: none;
  font-size: 16px;
  display: flex;
  align-items: center;
  letter-spacing: .05em;
}

.header_contact-btn{
  background-color:#2589d0;
  color:#fff;
  padding:12px 25px;/*12px 40px;*/
  border-radius:100px;
  text-decoration:none;
  font-size:16px;
  display:flex;
  align-items:center;
  letter-spacing:.05em;
  gap:.5em;                 /* アイコンとの隙間 */
  transition:background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.header_contact-btn i{
  transition:color .2s ease, transform .2s ease;
}

/* ホバー時の色（背景/文字/アイコン） */
.header_contact-btn:hover,
.header_contact-btn:focus-visible{
  background-color:#0d6fb3; /* 好きな色に変更 */
  color:#fff;               /* 文字色 */
}
.header_contact-btn:hover i,
.header_contact-btn:focus-visible i{
  color:#fff;               /* アイコン色 */
}

/* もしリンクの :visited が紫になるのを防ぐ */
.header_contact-btn:visited{ color:#fff; }




.header_contact-btn i {
  font-size: 19px;
  margin-right: 10px;
}

/*-----------------------------------
  ヘッダー
-----------------------------------*/
@media (max-width:1299px) {
 header {
  width: 100%;
  position: fixed;
  background: #FFF;
  z-index: 50;
  top: 0;
 }
}


@media (max-width:1299px) {

  .sp_header-logo {
    width: 260px;/*200px;*//*155px;*/
    margin: 9px 0 9px .75rem;
  }
/*	.sp_header-logo img {
  height: 60px;
}*/
	.header_contact_sp {
  display: flex;
  align-items: center;
  /*gap: 12px;*//*30px;*/
}
	.header_contact_sp li.icon{
		/*position: relative;*/
		text-align: center;
		font-size: 14px;
		border-right: 1px solid #cfd8dc;
		padding: 0 10px;
	}
	/*.header_contact_sp li.icon::after{
		content: "";
    position: absolute;
    left: -5px;
    top: 10px;
    width: 1px;
    height: 20px;
    background-color: #333;
    border-radius: 3px;
	}
	.header_contact_sp li.icon:nth-child(2)::after{
		content: "";
    position: absolute;
    right: -5px;
    top: 10px;
    width: 1px;
    height: 20px;
    background-color: #333;
    border-radius: 3px;
	}*/
	.header_contact_sp li.icon a{
		color: #333;
	}
	.header_contact_sp li.icon i{
		color: #2589d0;
		font-size: 25px;
	}
}

@media (max-width:767px) {

  .sp_header-logo {
    width: 200px;
    margin: 9px 0 9px .75rem;
  }
	.header_contact_sp li.icon{
		font-size: 11px;
	}
	.header_contact_sp li.icon::after{
		 
	}
	.header_contact_sp li.icon i{
		font-size: 18px;
	}
}
@media (max-width:380px) {
.sp_header-logo {
    width: 180px;
  }
	.header_contact_sp li.icon{
		padding: 0 8px;
		font-size: 9px;
	}
}