
/*
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@400;700&display=swap');s
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@400;700&display=swap');

/* ? これを追加 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 以下、既存のコードに続く */

/*==================================================
基本デザイン
想定端末：iPhone SE の Portrait（縦構え）
==================================================*/


body{
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}


/*ヘッダー
==================================================*/

#main-visual {
background: rgb(3,69,1);
background: linear-gradient(45deg, rgba(3,69,1,0.1) 0%, rgba(4,26,49,0.1) 42%, rgba(18,28,49,0.1) 88%),url("../images/BPEX.jpg");
background-size: cover;
	background-position: bottom 100% center;
	padding: 10px 10px 10px 10px;
	/*box-sizing: border-box;*/
	flex-direction: column;
	justify-content: center;
	height: 330px;
	padding-bottom: 30px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.6); /* ← 白文字の視認性アップ */
}

#main-visual h2{
	font-family: 'Readex Pro', sans-serif;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0px;

}


.title-date{
	font-family: 'Readex Pro', sans-serif;
	color: #fff;
	font-weight: 700;
	font-size: 1.9rem;
}

.title-info{
	font-family: 'Readex Pro', sans-serif;
	color: #fff;
	font-weight: 600;
	font-size: 1.7rem;
}

/*フッター
==================================================*/

footer{
	text-align: right;
	font-size: 1.3rem;
	font-weight: 300;
	padding: 25px;
	box-sizing: border-box;
	color: #797979;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}



/*内容
==================================================*/

h3{
	font-size: 2.5rem;
	border-bottom: double 4px #333;
	font-weight: 700;
	padding-top: 0.5em;
}

h4{
	font-size: 1.8rem;
	padding: 10px 0 0;
	font-weight: 600;
	line-height: 1.4;
	padding-bottom: 2em;
}

h4 span{
	display: block;
	font-size: 80%;
	padding: 1em 0;
	box-sizing: border-box;
	border-top: 1px dotted #CCC;
	margin-top: 1em;
}

h5{
	font-family: "Arial Black", Gadget, "sans-serif";
	font-size: 25px;
	font-weight: 800;
	color: rgba(11,63,140,1.00);
	font-style: italic;
}

.information{
	border: 1px dashed #333;
	border: 1px dashed #333;
	padding: 1em;
	box-sizing: border-box;
}

.info-notice{
	font-size: 2.5rem;
	font-weight: 700;
	color: rgba(23,53,115,1.00);
}

.top-ol{
	font-size: 1.7rem;
	padding-left: 1em;
	box-sizing: border-box;
	color: rgba(23,53,115,1.00);
}

.top-ol li{
	list-style-type: decimal;
	margin: 30px 0;
}

.top-ol li:first-child{
	margin: 10px 0 30px;
}


.top-ol li .list-in{
	padding: 10px;
	box-sizing: border-box;
	background-color: rgba(239,236,231,1.00);
	border: 3px solid rgba(183,160,130,1.00);
	border-radius: 5px;
	margin: 5px 0;
}

.top-ol li .li-title{
	font-size: 1.7rem;
	display: block;
	font-weight: 700;
	border-bottom: 1px dotted;
	margin-bottom: 5px;
}

ul.ul-disc{
	padding-left: 1em;
	box-sizing: border-box;
}

ul.ul-disc li{
	list-style-type: disc;
}

/*what's new*/

.history{
	font-size: 15px;
	margin: 10px 0 40px;
}
.history dl{
	display: flex;
	justify-content: flex-start;
	margin: 4px 0;
	padding: 4px 0;
	box-sizing: border-box;
	border-bottom: 1px solid #555;
}

.history dl dt{
	margin-right: 15px;
	min-width: 100px;
}

.history.past{
	font-size: 13px;
	color: #666;
}

.history.past dl{
	border-bottom: 1px dashed #CCC;
}


section a{
	color: rgba(36,63,201,1.00);
	text-decoration: none;
	border-bottom: 1px solid rgba(36,63,201,1.00);
}


section a:hover{
	opacity: 0.5;
	transition-duration: 500ms;
}

a.a-button{
	background-color: rgba(212,116,6,1.00);
	display: inline-block;
	padding: 8px 1em;
	box-sizing: border-box;
	color: #fff;
	font-weight: 700;
	border-radius: 5px;
	box-shadow: 0 0 10px -3px rgba(10,10,10,0.5);
	border-bottom: none;
	margin: 0 0 5px 0;
}

a.a-button:hover{
	transform: translateY(3px);
}


/*謝辞
==================================================*/


.special-thanks{
	font-size: 1.5rem;
	font-weight: 700;
	padding-left: 300px;
	padding: 25px;
	box-sizing: border-box;
	background-color: rgba(23,46,63,1.00);
	color: #fff;
	margin-top: 3em;
}

.special-thanks a{
	color: yellow;
	text-decoration: none;
	border-bottom: 1px solid;
}


/*フッター
==================================================*/

footer{
	text-align: right;
	font-size: 1.3rem;
	font-weight: 300;
	padding: 25px;
	box-sizing: border-box;
	color: #797979;
}





/*==================================================
900px以下
==================================================*/
@media screen and (max-width:900px) {
.special-thanks{
	padding: 10px;
	font-size: 16px;
	font-weight: 500;
	
}
	
	.main-wrap{
		padding: 10px;
		box-sizing: border-box;
	}
	
	#main-visual{
		height: auto;
		box-sizing: border-box;
		padding-top: 100px;
		margin-bottom: 30px;
	padding-bottom: 130px;
	}
	
	.title-date,.title-info{
		text-align: center;
	}
	
	


}

/* =======================
   2025.11.13 背景画像付きヘッダー改善版
   ======================= */

#main-visual {
  position: relative;
  height: 360px; /* ← 高さを7cm相当（約360px）に固定 */
  background:
    linear-gradient(45deg, rgba(3,69,1,0.10) 0%, rgba(4,26,49,0.10) 42%, rgba(18,28,49,0.10) 88%),
    url("../images/BPEX.jpg");
  background-size: cover;
  background-position: center 70%; /* ← 建物が切れない位置に調整可（60?80%で微調整） */
  text-align: center;
  color: #fff;
  overflow: hidden;
}

/* テキスト全体を中央寄せ・下寄せで配置 */
.main-visual-text {
  position: absolute;
  bottom: 30px; /* ← テキストを画像の下方に配置 */
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-shadow: 0 3px 8px rgba(0,0,0,0.8);
}

/* タイトル・日付・場所の見た目を改善 */
#main-visual h2 {
  font-family: 'Readex Pro', sans-serif;
  font-size: 3.8rem;  /* やや大きめタイトル */
  font-weight: 700;
  margin-bottom: 0.5em;
  background: rgba(0, 0, 0, 0.3); /* 半透明帯 */
  display: inline-block;
  padding: 4px 12px;
  border-radius: 6px;
}

.title-date,
.title-info {
  font-family: 'Readex Pro', sans-serif;
  display: inline-block;
  background: rgba(0, 0, 0, 0.3);
  padding: 4px 10px;
  margin-top: 6px;
  border-radius: 6px;
}

/* フォントサイズ調整 */
.title-date {
  font-size: 1.8rem;
  font-weight: 700;
}

.title-info {
  font-size: 1.6rem;
  font-weight: 600;
}

/* スマホ用調整 */
@media screen and (max-width: 900px) {
  #main-visual {
    height: 260px;
    background-position: center 65%;
  }
  #main-visual h2 {
    font-size: 2.6rem;
  }
  .title-date {
    font-size: 1.4rem;
  }
  .title-info {
    font-size: 1.2rem;
  }
}

/* ===== 背景付きヘッダー・中央3行 ===== */

#main-visual {
  position: relative;
  height: 360px;
  background:
    linear-gradient(45deg, rgba(3,69,1,0.1) 0%, rgba(4,26,49,0.1) 42%, rgba(18,28,49,0.1) 88%),
    url("../images/BPEX.jpg");
  background-size: cover;
  background-position: center 70%;
  color: #fff;
  overflow: hidden;
  text-align: center;
}

/* 中央に配置 */
.main-visual-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  line-height: 1.4;
  text-shadow: 0 3px 8px rgba(0, 0, 0, 0.8);
}

/* 各行のデザイン */
#main-visual h2 {
  font-family: 'Readex Pro', sans-serif;
  font-size: 3.8rem;
  font-weight: 700;
  margin-bottom: 10px;
  background: rgba(0, 0, 0, 0.35);
  display: inline-block;
  padding: 4px 12px;
  border-radius: 6px;
}

.title-line {
  font-family: 'Readex Pro', sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  display: inline-block;
  background: rgba(0, 0, 0, 0.35);
  padding: 4px 10px;
  margin-top: 8px;
  border-radius: 6px;
}

/* スマホ用 */
@media screen and (max-width: 900px) {
  #main-visual {
    height: 260px;
    background-position: center 65%;
  }
  #main-visual h2 {
    font-size: 2.6rem;
  }
  .title-line {
    font-size: 1.3rem;
    padding: 3px 8px;
  }
}
/* 3行を常に縦積み＆中央揃えに */
.main-visual-text{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  display: flex;               /* ← 縦積みレイアウト */
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  width: 100%;
}

/* 各行をブロック化して横並びを禁止 */
#main-visual h2,
#main-visual .title-line{
  display: block;              /* ← ここがポイント */
  margin: 0 auto;
  background: rgba(0,0,0,.35);
  color: #fff;
  padding: 4px 12px;
  border-radius: 6px;
  line-height: 1.35;
  text-shadow: 0 3px 8px rgba(0,0,0,.8);
}

/* お好みで幅を制限（長文の折り返しを安定） */
#main-visual .title-line{ max-width: 1100px; }




