@charset "UTF-8";
#header {background-color: rgba(255,255,255,1);}
#page_header{background-image: url("../img/header_img_pc.webp");}
.section-title02 {
  font-size: 1.6em;
  font-weight: 700;
  color: #0f0707; /* 画像の黒に近い濃い色 */
  position: relative;
  display: block;
  margin-bottom: 24px;
	text-align: center;
	margin: 3em auto;
}

.section-title {
  font-size: 1.4em;
  font-weight: 700;
  color: #0f0707; /* 画像の黒に近い濃い色 */
  position: relative;
  display: block;
  margin-bottom: 24px;
	text-align: center;
}

.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -12px; /* 文字とラインの距離調整 */
  width: 100%;
  height: 3px;   /* 下線の太さ */
  background: linear-gradient(
    to right,
    #991b1e 0%,
    #991b1e 12%,     /* 赤い部分（画像では短め） */
    #9a5a17 12%,
    #9a5a17 100%     /* 茶色の部分 */
  );
}

.contact_box{background-color: #ffffff;padding: 8%;border-radius: 8px;}


.section_01{background-image: url("../img/sec_01_back_pc.webp");background-repeat: no-repeat;background-size: cover;background-position: top center;}
.sec_01_left{float: left;width: 56%;}
.sec_01_right{float:right;width: 34%;}
.daihyou_name{margin: 0.6em 0;font-size: 1.14em;}

.section_02{}
.outline dl {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    border-top: 1px solid #333;
}
.outline dl dt {
    position: relative;
    box-sizing: border-box;
    width: 10em;
    flex-shrink: 0;
    border-bottom: 1px solid #333;
    padding: 1em 2em;
}
.outline dl dt::after {
    position: absolute;
    content: '';
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 1px;
    height: 85%;
    background-color: #333;
}
.outline dl dd {
	position: relative;
    box-sizing: border-box;
    width: calc(100% - 10em);
    border-bottom: 1px solid #333;
    padding: 1em 2em;
}

.outline_02 dl {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    border-top: 1px solid #333;
}
.outline_02 dl dt {
    position: relative;
    box-sizing: border-box;
    width: 15em;
    flex-shrink: 0;
    border-bottom: 1px solid #333;
    padding: 1em 2em;
}
.outline_02 dl dt::after {
    position: absolute;
    content: '';
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 1px;
    height: 85%;
    background-color: #333;
}
.outline_02 dl dd {
	position: relative;
    box-sizing: border-box;
    width: calc(100% - 15em);
    border-bottom: 1px solid #333;
    padding: 1em 2em;
}
.outline_02 dl dd img {
    float: right;
	margin: auto;
    width: 180px;
    height: auto;
}
.section_03{background-image: url("../img/sec_03_back_pc.webp");background-repeat: no-repeat;background-size: cover;background-position: center;}
.access_h3{text-align: center;font-weight: normal;font-size: 1.5em;margin-bottom: 0.6em;}
.g-map iframe{width: 100%;height: 350px;margin-bottom: 3em;}


.section_04{}


.section_05{background-image: url("../img/sec_04_back_sp.webp");background-repeat: no-repeat;background-size:cover;background-position: top center;}
.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.award-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;

}

.award-table th,
.award-table td {
  border: 1px solid #ddd;
  padding: 12px;
  text-align: left;
}

.award-table th {
  background: #f4f4f4;
  font-weight: bold;
}

/* --- スマホ用（カード型に変形） --- */
@media (max-width: 640px) {
  .award-table thead {
    display: none;
  }

  .award-table,
  .award-table tbody,
  .award-table tr,
  .award-table td {
	  box-sizing: border-box;
    display: block;
    width: 100%;
	  padding: 3px 6px;
  }

  .award-table tr {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    padding: 10px;
    background: #fff;
  }

  .award-table td {
    border: none;
    position: relative;
    padding-left: 30%;
    text-align: left;
  }

  .award-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    top: 10px;
    font-weight: bold;
    color: #555;
  }
}





/* section_01の見出しコンテンツCSS */
.heading-block {
  text-align: center;
  padding: 0px 20px 20px;
  color: #3c3a3a;
}

/* 大見出し */
.main-title {
  font-size: 2.4em;
  font-weight: normal;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  margin: 0;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

/* 見出しの下のバー */
.mid-bar {
  width: 30px;
  height: 5px;
  background-color: #a34347;
  margin: 15px auto;
}

/* サブ見出し */
.sub-title {
  font-size: 1.2em;
  margin: 0;
  letter-spacing: 0.05em;
  line-height: 1.4;
}



.pb70{padding-bottom: 70px;}

/* -----------------------------
   レスポンシブ対応
----------------------------- */
@media screen and (max-width: 768px) {
  .sub-title {
    font-size: 0.85rem;
    letter-spacing: 0.2em;
  }

  .main-title {
    font-size: 1.8rem;
    white-space: normal; /* スマホでは折り返す */
  }

  .divider {
    height: 40px;
  }
}

@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 0.85rem;
  }

  .main-title {
    font-size: 1.6rem;
  }

  .divider {
    height: 30px;
  }
}

/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width:1000px) {

	}
/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width:640px) {
#page_header{background-image: url("../img/header_img_sp.webp");}
.section-title02 {
  font-size: 1.4em;
  font-weight: 700;
  color: #0f0707; /* 画像の黒に近い濃い色 */
  position: relative;
  display: block;
  margin-bottom: 24px;
	text-align: center;
	margin: 3em auto;
}
.sec_01_left{float: none;width: 100%;}
.sec_01_right{float:none;width: 50%;margin: 1.4em auto;}
.daihyou_name{margin: 0.6em 0;font-size: 1.14em;}
	
.outline dl {
    font-size: 0.92em;
}
.outline dl dt {
    width: 8em;
    padding: 1em 1em;
}

.outline dl dd {
	width: calc(100% - 8em);
    padding: 1em 1em;
}
	


.outline_02 dl dt {
    width:8em;
    padding: 1em 0.6em;
}

.outline_02 dl dd {
	width: calc(100% - 8em);
    padding: 1em 0.6em;
}
.outline_02 dl dd img {
	display: block;
    float: none;
	margin: 0.4em auto;
    width: 150px;
}	

.g-map iframe{width: 100%;height: 270px;margin-bottom: 1.6em;}
.access_h3{font-size: 1.2em;margin-bottom: 0.6em;}



}
