/* CSS Document */

/* --- 基本指定 --- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 0 none;
    font-size: 100%;
    margin: 0;
    outline: 0 none;
    padding: 0;
    vertical-align: baseline;
	box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	text-align: center;
	font-size:16px;
	line-height: 1.8;
	background-color: #1a1a2e; /* Dark Navy Blue Background */
	margin-right: auto;
	margin-left: auto;
	color: #e0e0e0; /* Light Gray Text */
}

/* --- 画像・リンク指定 --- */
img{ border: none; max-width: 100%; height: auto; }
a { color: #3498db; text-decoration: none; transition: color 0.3s; }
a:hover { color: #e67e22; text-decoration: underline; }

/* --- 文字装飾 --- */
.red { color: #e74c3c; }
.b, strong { font-weight: bold; }
.yline { background: linear-gradient(transparent 60%, rgba(230, 126, 34, 0.5) 60%); } /* Accent color highlight */

@media screen and (min-width: 641px){

#wrapper{
	width:820px;
	background-color: #1f283e; /* Slightly lighter dark blue */
	margin: 30px auto;
	padding: 0px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.5);
	border-radius: 12px;
	overflow: hidden;
    border: 1px solid #2c3e50;
}

/* --- ヘッダー --- */
#header{ width:100%; margin:0 auto; }
#head_img{
	height: auto;
	margin-bottom:30px;
	border-bottom:5px solid #e67e22; /* Accent Orange */
}
#head_img img { display: block; }

h1{
	font-size:12px;
	font-weight:normal;
	margin: 0;
	padding: 8px 15px;
	background-color: #121212; /* Deep Black */
	text-align: right;
	color: #7f8c8d;
}

/* --- メインコンテンツ --- */
#content{
	width: auto;
	margin: 0px auto;
	padding: 0px 30px;
	text-align: left;
}

.inner{
	margin: 40px 0;
	padding: 20px 0;
}

.inner p{
	margin: 0 0 15px;
	text-align:justify;
    color: #bdc3c7;
}

h2{
	font-size: 26px;
	font-weight:bold;
	color: #ffffff;
    border-left: 5px solid #e67e22; /* Accent Orange */
    padding: 10px 20px;
    margin-bottom: 25px;
    background-color: rgba(44, 62, 80, 0.5);
    border-radius: 0 8px 8px 0;
}

h3{
	font-size: 22px;
	font-weight:bold;
	color: #ecf0f1;
	border-bottom: 2px solid #34495e; /* Darker line */
	margin: 20px 0;
	padding-bottom: 10px;
}

/* --- フッター --- */
#footer{ text-align: center; clear: both; overflow:hidden; background-color: #121212; padding: 20px 0; }
#footer p { margin: 15px 30px; text-align: center; font-size: 11px; line-height: 1.8; }
#footer p a { margin: 0 5px; color: #7f8c8d; }
#footer p a:hover { color: #fff; }

address {
	font-style: normal;
	color: #95a5a6;
	text-align: center;
	display: block;
	background: #1f283e;
	font-size: 12px;
	margin: 0;
	padding: 15px 0px;
}

/* --- フリースペース（キャッチコピー）--- */
#space{
	margin: 30px 0;
	padding: 25px;
	font-size:14px;
	border: 1px dashed #e67e22;
	clear:both;
	text-align: left;
	background: rgba(44, 62, 80, 0.3);
	border-radius: 8px;
    color: #ecf0f1;
}

/* --- ボタン指定 --- */
.bt_c{
	text-align:center;
	clear:both;
	margin: 30px auto;
}
.btn-a {
  display: inline-block;
  padding: 15px 40px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  border: none;
  border-radius: 50px; /* Pill shape */
  text-decoration: none;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease-in-out;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
  cursor: pointer;
}
.btn-a:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
}
.btn-primary {
  background: linear-gradient(45deg, #3498db, #2980b9); /* Electric Blue */
}
.btn-secondary {
  background: linear-gradient(45deg, #f39c12, #e67e22); /* Vibrant Orange */
}

}

@media screen and (max-width: 640px){
body { font-size: 15px; }

#wrapper { margin: 0; border-radius: 0; width: 100%; border: none; }
#content{ padding: 0px 15px; }
h1{ font-size:10px; padding: 5px 8px; }

/*メイン記事指定*/
h2{
	font-size: 20px;
	padding: 10px 15px;
}
h3{ font-size: 18px; }
.inner{ margin: 25px 0; }
.inner p{ margin: 0 0 15px; }

/*ボタン*/
.btn-a { padding: 12px 30px; font-size: 16px; }
#space { margin: 20px 0; padding: 20px; }

/*フッター*/
#footer p { margin: 15px 10px; }
address { padding: 12px 0px; }
}