@charset "utf-8";


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body{
color:#333;
font:16px verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
//background:#f7a025;
background:#f8f8f8;
border-top:5px solid #000;
-webkit-text-size-adjust: none;
}

html{background:#000;}

table, td, th {
	border: 1px #808080 solid;
	padding: 5px;
}

/* リンク設定
------------------------------------------------------------*/
a{color:#000;text-decoration:none;}
a:hover{color:#555;}
a:active, a:focus{outline:0;}


/* 全体
------------------------------------------------------------*/
#wrapper{
margin:0 auto;
padding:0px 1%;
width:98%;
position:relative;
}

.inner{
margin:0 auto;
width:100%;
}

.size12{
font-size: 12px;
}

.size16{
font-size: 16px;
}

.size20{
font-size: 20px;
}

.size24{
font-size: 24px;
}

.size28{
font-size: 28px;
}

.size32{
font-size: 32px;
}

/*************
/* ヘッダー
*************/
h1{
padding-left:10px;
font-size:12px;
line-height:1.6;
font-weight:normal;
}

#header{
overflow:hidden;
padding:5px 0 0;
color:#fff;
background:#000;
}

* html #header{height:1%;}


/*************
/* ロゴ
*************/
#header .logo{
float:left;
padding:20px 10px;
}

.logo a{
font-size:20px;
font-weight:bold;
line-height:1;
color:#fff;
//font-family:"Palatino Linotype", "Book Antiqua", Palatino,"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.logo span{
font-size:12px;
font-weight:normal;
}

.info{
float:right;
padding:20px 10px;
}

.tel strong{
font-size:20px;
font-weight:bold;
}

/**************************
/* トップナビゲーション
**************************/


/**************************
/* メイン画像（トップページ+サブページ）
**************************/

position:absolute;
max-width:100%;
height:auto;
bottom:10px;
left:10px;
padding:5px 10px;
line-height:1.4;
z-index:100;
background:#f7a025;
}

.subImg .slogan{
left:auto;
right:10px;
}

.slogan h2{
padding-bottom:5px;
font-size:20px;
}

.slogan h3{
font-size:14px;
}


/**************************
/* グリッド
**************************/

/* フッター内のグリッド(3カラム) */

#footer .col3 li{
padding:0 7px 0 5px;
margin-bottom:3px;
list-style:none;
border-bottom:0;
display:inline-block;
border-right:1px solid #fff;
}


/*************
メイン コンテンツ
*************/
section.content{
margin-bottom:20px;
font-size:14px;
overflow:hidden;
}

* html section.content{height:1%;}

section.content p{margin-bottom:5px;}

padding:5px 10px;
margin-bottom:10px;
font-size:16px;
color:#fff;
background:#000;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 1px;
}

.alignright{
float:right;
clear:right;
margin:3px 1px 10px 10px;
}

img.frame,#gallery img{
border:4px solid #fff;
box-shadow:0 0 2px rgba(0, 0, 0, 0.5);
-webkit-box-shadow:0 0 2px rgba(0, 0, 0, 0.5);
}


/*************
テーブル
*************/
table.table{
border-collapse:collapse;
width:100%;
margin:10px auto;
}

table.table th,table.table td{
padding:5px;
border:1px solid #f7a025;
}

table.table tr:first-child th,table.table tr:first-child td{
border-top:#f7a025 4px solid
}

table.table th{
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
color:#fff;
background:#000;
}


/*************
/* フッター
*************/
#footer{
clear:both;
padding:20px 0;
overflow:hidden;
background:#000;
}

* html #footer{height:1%;}

#footer a{color:#fff;}
#footer a:hover{color:#f7a025;}

#footer .copyright{font-size:11px;}


/* PC用 */
@media only screen and (min-width:960px){
	#wrapper,.inner,ul#topnav{
	width:940px;
	padding:0;
	}
	
table {
    width: 70vw;
}
	#wrapper{padding:20px 0;}
	
	#main{
	float:right;
	width:690px;
	}
	
	
}


/* モニター幅960px以下 */
@media only screen and (max-width:960px){
	h1 p.inner{padding:0 2%;width:96%}
	#header .logo{padding-left:10px;}
	#header .info{padding-right:10px;}
	
	border-bottom:1px solid #f7a025;
	box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
	}

	ul#topnav li:nth-child(3n){border-right:0;width:34%;}

	ul#topnav li a{
	width:100%;
	border:0;
	}

	ul#topnav li:first-child a,ul#topnav li:last-child a{width:100%;}
	
	width:31%;
	margin:0 1%;
	padding:0;
	}
	
	
	section.content{padding:0 10px;}
	
	section.content img{
  max-width:90%;
	height:auto;
	}
	
	
	#footer{padding:0;}
	
	text-align:center;
	}
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
	float:none;
	margin:20px auto 10px;
	}
	
table {
    width: 99vw;
}
	.grid p{text-align:left;}
	
	img.frame,#gallery img{border-width:2px;}

  .alignleft,.alignright{
	float:none;
	display:block;
	margin:0 auto 10px;
	}
	
	#footer .grid p{text-align:center;}
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
	#header .logo{padding-top:10px;}
  .info{padding:10px 0 0;}
	
}


/* ===== entry ページ用レイアウト ===== */

.entry-layout {
  padding: 16px 0 32px;
}

/* 共通カード */
.card,
.city-head,
.faq-section {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  padding: 16px 18px;
  margin-bottom: 20px;
}

.city-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.city-title {
  font-size: 1.4rem;
  margin: 0 0 4px;
}

.city-updated,
.city-coord,
.city-today-summary {
  margin: 4px 0;
  line-height: 1.6;
}

.city-head-actions {
  border-top: 1px solid #eee;
  padding-top: 10px;
}

/* お気に入りボタン */
.btn-fav {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  border: none;
  background: #ffca28;
  color: #333;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.btn-fav:hover {
  opacity: 0.9;
}
.fav-note {
  font-size: 0.8rem;
  color: #666;
  margin-top: 4px;
}

/* 今日＋グラフの2カラム */
.today-and-graph {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.card-title {
  margin: 0 0 8px;
  font-size: 1.1rem;
}
.card-sub {
  margin: 0 0 8px;
  font-size: 0.9rem;
  color: #666;
}

/* 詳細テーブル */
.sun-detail-table,
.sun-list-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.sun-detail-table th,
.sun-detail-table td,
.sun-list-table th,
.sun-list-table td {
  border: 1px solid #e5e5e5;
  padding: 6px 8px;
}
.sun-detail-table thead th,
.sun-list-table thead th {
  background: #f5f5f5;
}
.sun-list-table tbody tr:nth-child(odd) {
  background: #fafafa;
}

/* FAQ */
.section-title {
  margin: 0 0 8px;
  font-size: 1.1rem;
}
.faq-item {
  margin: 6px 0;
}
.faq-item summary {
  cursor: pointer;
  font-weight: 600;
}
.faq-body {
  margin-top: 4px;
  padding-left: 12px;
  color: #555;
}

/* グラフ説明 */
.graph-note {
  margin-top: 6px;
  font-size: 0.8rem;
  color: #777;
}

/* スマホ用 */
.hide-sp {
  display: none;
}

@media screen and (min-width: 768px) {
  .today-and-graph {
    flex-direction: row;
    align-items: stretch;
  }
  .today-card,
  .graph-card {
    flex: 0 0 50%;   /* ← 幅を常に 50% / 50% に */
    max-width: 50%;
  }
  .city-head {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  .hide-sp {
    display: table-cell;
  }
}

/* entry-v3 layout overrides: force single-column #main */
body.entry-v3 #main {
  float: none;
  width: 100%;
}

@media only screen and (min-width:960px){
  body.entry-v3 #main {
    float: none;
    width: 100%;
  }
}


.graph-card {
  /* 全体の余白はお好みで */
  padding: 16px;
}

.sun-chart-block {
  margin-top: 12px;
}

.sun-chart-block .chart-title {
  font-size: 0.95rem;
  margin: 0 0 4px;
}

/* PCでも縦に伸びすぎないようにする */
.sun-chart-block canvas {
  max-height: 200px;
}

.page-title-bar {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 20px;
  padding-left: 12px;
  border-left: 4px solid #ffcc00; /* アクセント色 */
}

/* Header title link */
.page-title-bar .title-link {
  color: inherit;         /* 元の色をそのまま */
  text-decoration: none;  /* 下線なし */
  display: inline-block;  /* クリックしやすく */
  padding: 2px 0;
}

.page-title-bar .title-link:hover {
  opacity: 0.8;           /* ほんの少しだけ反応を出す（任意） */
}

/* ===== 今日の時刻強調（本文） ===== */
.sunrise-time {
  font-weight: 700;
  color: #ff9900;            /* 明るいオレンジ：日の出 */
  background: #fff5e5;       /* 薄いオレンジ背景 */
  padding: 2px 5px;
  border-radius: 4px;
}

.sunset-time {
  font-weight: 700;
  color: #0077cc;            /* 濃い青：日の入り */
  background: #e8f3ff;       /* 薄いブルー背景 */
  padding: 2px 5px;
  border-radius: 4px;
}

/* 今日の詳細テーブル：時刻セルの枠と色 */
.sun-detail-table td.time-cell {
  background: #f9fbff;        /* 薄い水色背景 */
  border: 2px solid #dce9ff;  /* 青系の枠線 */
  border-radius: 6px;
  padding: 6px 10px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

/* 日の出／日の入りをさらに色で区別 */
.sun-detail-table td.sunrise-time {
  color: #ff9900;             /* オレンジ */
  background: #fff5e5;        /* 薄いオレンジ背景 */
  border-color: #ffd699;
}

.sun-detail-table td.sunset-time {
  color: #0077cc;             /* 青 */
  background: #e8f3ff;        /* 薄い青背景 */
  border-color: #b7d4ff;
}

/* ============================================================
   ▼ 追加CSS（完全版・最小構成）
   目的：リンクであることを明確化（色＋下線）
   対象：サイト全体の <a>、ただし既存デザインを壊さない最小限
   ============================================================ */

/* 基本：すべてのリンクを“リンクらしく” */
.entry-v3 a {
  color: #0066cc;             /* 標準的なリンクブルー */
  text-decoration: underline; /* 下線でリンクと分かるように */
}

/* ホバー時：少し濃く */
.entry-v3 a:hover {
  color: #004c99;
  text-decoration: underline;
}

/* テーブル内（sun-list-table）に特化した上書き（スマホ表示と相性良し）*/
.sun-list-table td a {
  color: #0066cc;
  text-decoration: underline;
}

.sun-list-table td a:hover {
  color: #004c99;
  text-decoration: underline;
}

/* 戻るリンクの最小スタイル（インライン style を削減したい場合の補助）
   ※使用する場合は HTML の inline-style を消してOK */
.back-link a {
  color: #0066cc;
  text-decoration: underline;
  font-size: 14px;
}
.back-link a:hover {
  color: #004c99;
}

