/* IMPORT RESET */
@import url("reset.css");

/* IMPORT 12 COLUMN RESPONSIVE GS */
@import url("responsive.gs.12col.css");



body{
color:#333;
background:#f5d255;
font-size:62.5%;
font-family: " メイリオ",Meiryo,Osaka," ヒラギノ角ゴ ProW3","Hiragino Kaku Gothic Pro"," ＭＳ Ｐゴシック","MSPGothic",sans-serif;
border-top:#4a82dd 5px solid;
display: flex;
flex-direction: column;
min-height: 100vh;
}

.container {
    flex: 1;
    max-width: none;
    width: 85%;
    margin: 0 auto;
}
@media (max-width: 600px) {
    .container {
        width: 100%;
        padding: 0 10px;
        margin: 0 auto;
    }
}

#footer {
flex-shrink: 0;

}

p{
line-height:1.8;
}
#copyright {
    text-align: center;
}
/*================================
HEADER
================================*/
/* ヘッダーを横幅フルにする（左余白を確保して高さを抑える） */
#siteID {
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    padding: 12px 0; /* 縦の高さを抑える */
    background: #5f2c14;
    text-align: left; /* 見出しを左寄せして左余白を有効にする */
    margin-bottom: 20px;
    box-sizing: border-box;
    border-bottom: 3px solid #8c4a1d;
}

#siteID h1 {
    margin: 0;
    padding-left: 7.5vw; /* .container 幅 85% に合わせて左余白を確保 */
    font-size: 1.9rem;
    font-weight: 700;
    font-family: 'Marcellus', 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    color: #fff;
    letter-spacing: 0.04em;
    line-height: 1;
}

#siteID .description {
    margin: 6px 0 0;
    padding-left: 7.5vw;
    font-size: 1rem;
    color: rgba(255,255,255,0.88);
}

@media ( max-width : 768px ) {
    #siteID {
        padding: 10px 0;
    }
    #siteID h1,
    #siteID .description {
        padding-left: 20px; /* モバイルは固定ピクセルで確保 */
        text-align: left;
    }
}
/*================================
画像のサイズを100%にする
================================*/
img{
max-width: 100%;
height: auto;
width /***/:auto;　/*IE8のみ適用*/
}
/*===============================
contents
===============================*/
.box {
background: #fff;
padding:20px;
margin-bottom:20px;
font-size:1.5em;
position:relative;
word-wrap:break-word;
width: 100%;
box-sizing: border-box;
}

.box:after {
display: block;
clear: both;
height: 0;
content:"";
}

.box h1{
font-size:2.0em;
border-bottom:1px dashed #999;
margin-bottom:20px;
padding-left:10px;
color:#c00;
line-height:1.3;
}

.box h2{
font-size:1.8em;
background:#5f2c14;
padding:5px 10px;
margin-bottom:20px;
line-height:1.3;
color: #FFFFFF;    
}

.box h3{
font-size:1.7em;
margin-bottom:20px;
line-height:1.3;
color:#f0645d;
border-bottom:1px dashed #999; 
}
.box p {
	margin-bottom:20px;
}
.textbox {
	margin-bottom:50px;
}
.textbox2 {
	margin-bottom:40px;
}

.t_center {
	text-align:center;
}
strong {
	font-weight:bold;
	background:#FF0;
}
.game {
	border:#F66 1px solid;
	color:#F66;
	padding:10px;
	margin-bottom:20px;
}
.youtube {
	text-align:center;
}
/*===============================
リンクの装飾
===============================*/
/*コンテンツ内の通常リンク*/
.box a{
color:#e4007f;
text-decoration:none;
}

.box a:hover{
color:#090;
text-decoration:underline;
}
/*===============================
写真の装飾
===============================*/
.box img{
padding:5px;
}

.alignleft {
display: block;
float: left;
margin-right: 15px;
margin-bottom:1em;

}
.aligncenter {
display: block;
margin:0 auto;
}
.alignright {
display: block;
float: right;
margin-left: 15px;
margin-bottom:1em;
}
/*================================
詳細ボタン用
================================*/
p.more{
margin:0 150px 10px;
}

p.more a{
position:relative;
display:block;
padding:5px 15px 5px;
color:#fff;
text-align:center;
text-decoration:none;
background:#244386;
border:1px solid #e8e8e8;
/*角丸*/
border-radius: 8px;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
/*ボックスシャドウ*/
box-shadow: 2px 2px 4px #aaa;
-webkit-box-shadow: 2px 2px 4px #aaa;
-moz-box-shadow: 2px 2px 4px #aaa;
/*グラデーション*/
background:#cc0000;
background: -webkit-gradient(#cc0000, #EF6767);
background: -moz-linear-gradient(#cc0000, #EF6767);
background: linear-gradient(#cc0000, #EF6767);
-pie-background: linear-gradient(#cc0000, #EF6767);
behavior: url(PIE.htc);
}

p.more a:hover{
background:#cc0000;
color:#FF0;
background: -webkit-gradient(#cc0000, #EF6767);
background: -moz-linear-gradient(#EF6767,#cc0000);
background: linear-gradient(#EF6767,#cc0000);
-pie-background: linear-gradient(#EF6767,#cc0000);
behavior: url(PIE.htc);
text-decoration:none;
}
/*================================
SIDEBARの装飾
================================*/
#sidebar{
font-size:1.3em;
}

.sideinfo {
background:#fff;
border:1px solid #999;
padding:15px;
margin-bottom:30px;

}

.sideinfo h4,
.ad h4{
font-size:1.6em;
border-bottom:2px solid #999;
margin-bottom:15px;
}

.sideinfo h5{
font-weight:bold;
font-size:1.2em;
}


.newentry img{
float:left;
margin:0 7px 5px 0;
border:1px solid #999;
padding:3px;
}

.newentry dd{
margin-top:10px;
}

.newentry h5 a{
color:#069;
text-decoration:none;
}

.newentry h5 a:hover{
color:#c00;
}

.newentry p{
margin-bottom:15px;
}

.icon-file-text-alt{
font-size:1.1em;
margin:0 5px 0;
}
/*================================
FOOTER
================================*/
#footer{
	margin-top:20px;
	background:#4a82dd;
    padding: 30px 0;

}

#footer p{
	text-align:center;
	color:#fff;
	padding:10px 0;
}

.maru {
    border-radius: 50%;
    padding-top: 0.1em;
    padding-left: 0.35em;
    padding-right: 0.35em;
    border: 1px solid #000000;
}
.square {
    padding-top: 0.1em;
    padding-left: 0.35em;
    padding-right: 0.35em;
    border: 1px solid #000000;
}

@media ( max-width : 768px ) {
/*コンテンツ領域のサイドの余白の設定*/
.span_8,
.span_4{
padding-left:10px;
padding-right:10px;
}
/*詳細ボタンのサイズ設定*/
p.more{
margin:20px 20px 0;
}

p.more a{
	padding:10px 0;
	font-size:1.3em;
}
/*youtube*/
.youtube {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    padding-top: 30px;
    position: relative;
	margin: 0 0 10px;
}
.youtube iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
}

/* モバイル縦幅で見出しを1行に収める */
@media ( max-width: 480px ) {
    #siteID h1 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.4rem; /* もう少し小さくして1行に収めやすくする */
        padding-left: 16px; /* モバイル用の左余白 */
        padding-right: 16px;
    }
    #siteID .description {
        padding-left: 16px;
        padding-right: 16px;
    }
    /* h2 をスマホで1行表示にする（例: "答えと解説（1・2年）" が折り返さないように） */
    #siteID h2 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.2rem;
        padding-left: 16px;
        padding-right: 16px;
        margin: 0;
    }
}

@media (max-width: 480px) {
    .box h2 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.2rem;
    }
}
/* 360px 以下で .box 内の h2 を1行表示にする（折返し防止） 
@media ( max-width: 360px ) {
    .box h2 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.05rem;
        padding-left: 12px;
        padding-right: 12px;
        margin: 0 0 10px 0;
    }
    .box h2 span { /* サブテキストをやや縮小 
        font-size: 0.85em;
    }
}*/

@media print {
  /* 印刷時に不要な要素を隠す */
footer {
    display: none !important;
}
  /* レイアウト調整 */
body {
    width: 100%;
    margin: 0;
    margin: 0;
    padding: 0;
    font-size: 12pt; /* 印刷に適したサイズ */
    color: #000;
    background: #fff;
    /* ページ全体をグレースケールに*/
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    zoom: 60%;
}

  /* リンクのURLを表示する */
a:after {
    content: " ( " attr(href) " )";
    font-size: 100%;
    color: #0066c0;
    background: #fff;
    font-family: 'roboto','メイリオ','Meiryo','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','Osaka','ＭＳ Ｐゴシック',sans-serif;
}
}