html {
  scroll-behavior: smooth;
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* ------------------------------
   Dot Indicator - Center Align
-------------------------------- */
.history-nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 95%;
  max-width: 900px;
  margin: 0px auto 140px;
  padding: 0;
  list-style: none;
	
	background-color: #fff;
	position: relative;
	z-index: 2;
	padding: 50px 0 40px;
	border-radius: 8px;
	box-shadow: 3px 6px 10px -6px rgba(0, 0, 0, 0.3);
}
.history-nav li {
  position: relative;
  flex: 1;
  text-align: center;
}
/* 中身を縦に配置（ドットが上、テキストが下） */
.history-nav li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #666;
  font-size: 16px;
  font-weight: 500;
  position: relative;
	 text-shadow: 1px 1px 0px rgba(255, 255, 255, 1), -1px 1px 0px rgba(255, 255, 255, 1), -1px -1px 0px rgba(255, 255, 255, 1), 1px -1px 0px rgba(255, 255, 255, 1);
}
/* 西暦 */
.history-nav li a span {
  font-size: 12px;
  color: #aaa;
  margin-top: 4px;
}
/* ------------- ドット（中心揃え）------------- */
.history-nav li a::before {
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #d0d0d0;
  position: relative;
  z-index: 2;
  margin-bottom: 8px;
}
/* ------------- 外側リング（always perfectly centered）------------- */
.history-nav li a::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid transparent;
  transition: 0.3s;
  z-index: 1;
}
/* ------------- 横線（li の中央で 100% 中心揃え）------------- */
.history-nav li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: #d0d0d0;
  z-index: 0;
}

.history-nav li:first-child::before {
  display: none;
}
/* hover */
.history-nav li a:hover {
  color: #06479C;
}
.history-nav li a:hover span {
  color: #06479C;
}
.history-nav li a:hover::before {
  background-color: #06479C;
}
.history-nav li a:hover::after {
  border-color: rgba(6, 71, 156, 0.3);
}
/* 
.history-nav li.active a {
  color: #06479C;
}
.history-nav li.active a span {
  color: #06479C;
}
.history-nav li.active a::before {
  background-color: #06479C;
}
.history-nav li.active a::after {
  border-color: #06479C;
}
.history-nav li.active::before {
  background: #06479C;
}
 */
@media screen and (max-width: 680px) {
	.history-nav {
        background-color: transparent;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
		margin-bottom: 100px;
    }
	.history-nav li a {
		font-size: 13px;
	}
	.history-nav li a span {
		display: none;
	}
}
/* --------------------------------------------------- */
.sec01,
.sec02 {
	width: 100%;
	margin: 0;
	padding: 80px 0;
	margin: -80px 0 40px;
}
.sec01 {
}
.sec02 {
	background-color: #F6F7F7;
}
.sec01 .inner,
.sec02 .inner {
	max-width: 1300px;
	width: 90%;
	margin: 0 auto;
	position: relative;
	padding-left: 15%;
}
.year-ttl {
	font-family: "Noto Serif JP", serif;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	font-weight: 400;
	line-height: 1.5em;
	display: inline-block;
	text-align: center;
}
.year-ttl span {
	display: block;
	font-size: 12px;
	line-height: 1.2em;
	text-align: center;
}
.year-ttl::before,
.year-ttl::after {
	content: "";
	width: 1px;
	height: 50px;
	background-color: #888;
	position: absolute;
	left: 50%;
}
.year-ttl::before {
	bottom: 100%;
}
.year-ttl::after {
	top: 100%;
	margin-top: 10px;
}
.history-ttl {
	margin-bottom: 20px;
	line-height: 1.7em;
	font-weight: 500;
}
.history-ttl span {
	display: block;
	font-size: 1.4em;
	letter-spacing: 4px;
	font-weight: 600;
	font-family: "Noto Serif JP", serif;
	margin-top: 4px;
}
.sec01 .ph-set,
.sec02 .ph-set {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.sec01 .ph-set li,
.sec02 .ph-set li {
	width: 30%;
	margin: 0 1.66%;
}
.sec01 .txt,
.sec02 .txt {
	padding-bottom: 30px;
	margin-bottom: 30px;
	font-size: .9em;
	border-bottom: #ccc 1px dashed;
}
@media screen and (max-width: 900px) {
	.sec01 .inner,
    .sec02 .inner {
        padding-left: 20%;
    }
}
@media screen and (max-width: 680px) {
	.sec01,
    .sec02 {
        width: 100%;
        margin: 0;
        padding: 60px 0 20px;
        margin: -60px 0 40px;
    }
	.year-ttl {
        font-size: 1.4em;
    }
    .year-ttl span {
        font-size: 7px;
    }
	.history-ttl {
		font-size: .9em;
	}
	.history-ttl span {
        display: block;
        font-size: 1.4em;
        letter-spacing: 2px;
		font-weight: 500;
    }
	.sec01 .txt,
    .sec02 .txt {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
	.sec01 .ph-set,
    .sec02 .ph-set {
        margin-bottom: 20px;
    }
}
/* --------------------------------------------------- */

/* --------------------------------------------------- */

/* --------------------------------------------------- */


