/* Common */

#contents { 
	text-align: left;
	}

#contents h2 {
	margin-bottom: 1em;
	padding: 0.5em;
	/*border: 1px solid #e6e6e6;*/
	/*background: url(../../images/header/h2_bg.png) repeat bottom right;*/
	border: 1px solid #cecece; /* 2024.08追加 */
	background: url(../../images/header/h2_bg.png) repeat center right; /* 2024.08追加 */  
	line-height: 1; /* 24px */	
 	font-size: 1.5em; /* 24px */      
	}

#contents h3 {
	margin-bottom: 1em;
	padding: 0.5em;
	border-bottom: 1px solid #cecece;
	line-height: 1.5; /* 24px */
	/*font-size: 1em;*/ /* 24px */
    font-size: 1.25em; /* 2024.08追加 */
	}

#contents .intro {
	margin-bottom: 1.5em;
	padding: 0.5em;
	border-bottom: 1px dashed #e6e6e6;
	}

#contents .section {
	margin-bottom: 1em;
	padding: 0.5em;
	}

#contents p,
#contents ul,
#contents li { 
	margin-bottom: 1.5em;
	}

#contents p.metadata {
	font-size: 80%;
	text-align: right;
	}

#contents p.small-p {
    font-size: 80%;
	}

#contents ul {
	list-style: disc;
	margin-left: 20px;
	}

#contents ol {
	list-style: decimal;
	margin-left: 30px;
	}

#contents a{
	color: #0066cc;	
	}

#contents a:hover{
	color: #92b4dd;
	text-decoration: underline;	
	}
    
#contents p.caption-p {
    margin-bottom: 0;
	font-weight: bold;
	text-align: left;
    font-size: 80%;
	}

#contents table {
	width: 100%;
	border: none;
	border-top:solid 1px #CCC;
	font-size: 80%;
	}

#contents thead tr th,
#contents thead tr td {
	padding: 0.25em;
	border-top: none;
	border-right:solid 1px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: none;
	background: #EFEFEF;
	font-weight: normal;
	color: #666;
	text-align: center;
	}
    
#contents thead tr th {
	border: none;
    border-left: solid 1px #CCC;
    border-right:solid 1px #CCC;
    border-bottom:solid 1px #CCC;
    width: 12em;
	}

#contents th {
	padding: 0.25em;
	border: none;
    border-left: solid 1px #CCC;
    border-right:solid 1px #CCC;
    border-bottom:solid 1px #CCC; 
	background: #FFFFFF;
	text-align: left;
    font-weight: normal; 
    position: sticky;
    top: 0;
    left: 0;
	}

#contents td {
	padding: 0.25em;
	border: none;
    border-right:solid 1px #CCC;
    border-bottom:solid 1px #CCC; 
	text-align: left;
	}

#contents .t_scroll {
    position: relative;
    overflow: auto;
    white-space: nowrap;
    /* -webkit-overflow-scrolling: touch; */
    margin-bottom: 1.5em;
    }

#contents .t_hint {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0.5em;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    font-weight: bold;    
    color: #fff;
    font-size: 85%;
    text-align: center;
    display: none;
    animation: swipe-hint 2s ease infinite;  
    }

    @keyframes swipe-hint {
          0% { transform: translate(-50%, -50%); }
         50% { transform: translate(-40%, -50%); }
        100% { transform: translate(-50%, -50%); }
        }

#contents .t_hint_appear {
    display: block;
    }

#contents .annotation {
    font-size: 80%;
	}

#contents sup { font-size: 50%; }

.red { color: #ff0000; font-weight: bold; }
.orange { color: #ff9900; font-weight: bold; }
.yellow { color: #ffcc33; font-weight: bold; }
.green { color: #009900; font-weight: bold; }
.blue { color: #0000ff; font-weight: bold; }
.black { color: #333333; font-weight: bold; }

/*768px*/
@media screen and (min-width : 768px){

}

/*1024px*/
@media screen and (min-width : 1024px){

#contents h2,
#contents h3,
#contents .intro,
#contents .section {
	margin: 0 2.08333%; /*20/960*/
	margin-bottom: 1em;
	}

#contents .intro {
	margin: 0 2.08333%; /*20/960*/
	margin-bottom: 2.5em;
	}

#contents .section {
	margin: 0 2.08333%; /*20/960*/
	margin-bottom: 2em;
	}

}