@charset "UTF-8";


/* ========BASIC======== */
html {
   overflow-y:scroll;
}

body {
	margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:1px;
   font-family: Verdana, Helvetica, sans-serif;
   font-size:12px;
   color:#333;
   background:#fff;
}

br {
   letter-spacing:normal;
}

a {
   color:#0089a1;
   text-decoration:none;
}

a:hover {
   color:#0089a1;
   text-decoration:underline;
}

img {
   border:0;
   vertical-align:bottom;
   max-width: 100%;
   height: auto;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
}


/* ========TEMPLATE LAYOUT======== */
#top {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  border:1px solid #333;
}

#header {
   width:100%;
}

#menu {
   float:left;
   width:100%;
}

#topicPath {
   display:inline;/* for IE6 */
   float:left;
}

#contents {
   clear:both;
}

#main {
   float:left;
   width:960px;
   padding:10px;
}

#sub {
   float:right;
   width:200px;
   padding:10px;
}

#pageTop {
   clear:both;
}

#footer {
   clear:both;
}


/* ========HEADER CUSTOMIZE======== */
#header h1 {
   margin:0;
   padding:10px;
   font-size:80px;
}

#header h1 a {
   color:#333;
}

#header #pr p {
   margin:0;
   padding:10px;
   font-size:25px;
}


/* ========TOPICPATH CUSTOMIZE======== */
#topicPath {
   width:950px;
   margin:10px;
   padding:5px;
   background:#f1f1f1;
}


/* ========MENU CUSTOMIZE======== */
#menu ul {
   margin:0;
   padding:0;
   font-size:20px;
   border-left:3px solid #fff;
}

#menu li {
   float:left;
   color:#333;
   text-align:center;
   list-style-type:none;
   border-right:1px solid #fff;
   border-top:1px solid #fff;
}

#menu li a {
   display: table-cell;
   vertical-align: middle;
   color:#fff;
   width:194px;
   text-decoration:none;
   background:#0089a1;
   height: 80px;
}

#menu li a.active {
   color:#fff;
   text-decoration:none;
   background:#0F98AD;
   height: 80px;
}

#menu li a:hover {
   color:#fff;
   text-decoration:none;
   background:#0F98AD;
}


/* ========MAIN CONTENTS CUSTOMIZE======== */
#main h2 {
   margin-bottom:5px;
   padding:5px 0;
   font-size:24px;
   border-bottom:3px double #ccc;
}

#main h3 {
   margin-bottom:5px;
   padding:5px;
   font-size:14px;
   border-left:5px solid #0089a1;
   border-bottom:1px dotted #ccc;
}

#main h4 {
   margin-bottom:5px;
   padding:5px;
   font-size:13px;
   color:#fff;
   background:#0089a1;
}

#main h5 {
   margin-bottom:5px;
   font-size:13px;
}

#main h6 {
   margin-bottom:5px;
   font-size:13px;
}


#main p {
   margin:0 0 1em 0;
}

#main dt {
   margin-bottom:3px;
}

#main dd {
   padding:0;
   margin:0 0 0.5em 1em;
   padding:3px;
   background:#eee;
}

/* INFORMATION CUSTOMIZE */
* html body #main dl.information dd div {
   display:inline-block;
}

#main dl.information dh {
   float:left;
   width:8em;
   margin: 0 0 0 12em; /* ← 左に余白 */
   padding:0;
   font-size:18px;
}

#main dl.information dt {
   float:left;
   width:12em;
   margin:0;
   padding:0;
   font-size:18px;
}

#main dl.information dd {
   margin:0 0 0.5em 18em;
   padding:0;
   background:transparent;
   font-size:18px;
}

#main table {
   width:100%;
   border-collapse:collapse;
}

#main table th {
   padding:5px;
   text-align:left;
   border:1px solid #aaa;
   background-color:#f0f7fc;
   white-space: nowrap;
}

#main table td {
   padding:5px;
   text-align:left;
   border:1px solid #aaa;
}


/* ========SUBCONTENTS CUSTOMIZE======== */
#sub .section {
   margin-bottom:10px;
   border:1px solid #333;
}

#sub h3 {
   padding:5px;
   font-size:13px;
   font-weight:bold;
   color:#fff;
   text-align:center;
   border:1px solid #fff;
   border-bottom:none;
   background:#0089a1;
}

#sub ul {
   overflow:hidden;
   margin:0;
   padding:0;
   background:#eee;
}

#sub li {
   width:198px;
   margin-top:-1px;
   line-height:1.4;
   list-style:none;
   border-top:1px solid #666;
}

#sub li a {
   display:block;
   padding:10px 5px;
}


/* ========PAGETOP CUSTOMIZE========= */
#pageTop {
   padding:20px 0 4px 0;
   text-align:right;
}

#pageTop a {
   padding:5px 5px 5px 17px;
   background:url("../images/bg_pagetop.gif") 7px 50% no-repeat;
   font-size:11px;
   outline:none;
}


/* ========FOOTER CUSTOMIZE======== */
.copyright {
   clear:both;
   padding:10px 0;
   font-style:normal;
   font-size:11px;
   text-align:center;
   border-top:1px solid #333;
   background:#ddd;
}


/*-------------------------------------*/
#main .sample_04{
 width: 1160px;
 border-collapse: collapse;
 border-right: 1px solid #999;
 white-space: nowrap;
 table-layout: fixed;
 }
#main .sample_04 th{
 padding: 6px;
 text-align: left;
 vertical-align: top;
 color: #fff;
 font-size: x-small;
 background-color: #555;
 border-left: 5px solid #ff6633;
 border-top: 1px solid #fff;
 width: 80px;
 }
#main .sample_04 th a{
 color: #fff;
 }
#main .sample_04 td{
 padding: 6px;
 color: #000;
 font-size: x-small;
 border-bottom: 1px solid #999;
 border-left: 1px solid #999;
 }
#main .sample_04 tr:nth-child(odd){
 background-color: #f1f6fc;
 }
#main .sample_04 tr:nth-child(even){
 background-color: #ffffff;
 }
#main .sample_04 tr:hover{
 background-color: #bbd4ee;
 }
#main .calendar {
 width: 30%;
 height: 300px;
 float: left;
 }
#main table.calendar + table.calendar {
 margin-left: 20px;
 }
#main table.calendar::after {
 clear: both;
 content: "";
 display: block;
 line-height: 0;
 visibility: hidden;
 }
.sun {
     color: red;
     background-color: #fff0f0;
 }
.sat {
     color: blue;
     background-color: #f0f0ff;
 }
.today {
     background-color: #ffffa0;
 }
.event {
     background-color: #d96067;
 }
div.left {
     text-align: left;
     float: left;
}
div.right {
     text-align: right;
     float: right;
}
#modal-content {
 width: 50% ;
 margin: 0 ;
 padding: 10px 20px ;
 border: 2px solid #aaa ;
 background: #fff ;
 position: fixed ;
 display: none ;
 z-index: 2 ;
}

#modal-content-innar{
 margin:0 auto;
 width:80%;
}

#modal-overlay {
 z-index: 1 ;
 display: none ;
 position: fixed ;
 top: 0 ;
 left: 0 ;
 width: 100% ;
 height: 120% ;
 background-color: rgba( 0,0,0, 0.75 ) ;
}

.button-link {
 color: #00f ;
 text-decoration: underline ;
}

.button-link:hover {
 cursor: pointer ;
 color: #f00 ;
}
.modal {
	width: 50% ;
	margin: 0 ;
	padding: 10px 20px ;
	border: 2px solid #aaa ;
	background: #fff ;
	position: fixed ;
	display: none ;
	z-index: 2 ;
}
.font1 {
	display: table-cell;
	vertical-align: middle;
	color:#fff;
	width:978px;
	text-decoration:none;
	background:#0089a1;
	height: 40px;
}
#main .topics {
   width:100%;
   border-collapse:collapse;
   margin:0 0 0 16em;
}

#main .topics th {
   padding:5px;
   font-size:18px;
   text-align:left;
   border:1px solid #aaa;
   background-color:#f0f7fc;
   white-space: nowrap;
   width:2em;
}

#main .topics td.w2{
   padding:5px;
   font-size:18px;
   text-align:left;
   width:2em;
   border:0px solid #fff;
}

#main .topics td.w{
 border-style: none;
 border:0px;
 vertical-align: top;
 font-size:18px;
}
#main .topics td.w12{
border-style: none; border:0px;width:12em; vertical-align: top;
   font-size:18px;
}
#main .topics td.w7{
border-style: none; border:0px;width:7em; vertical-align: top;
   font-size:18px;
}
#main .topics td.wnone{
border-style: none; border:0px; vertical-align: top;
   font-size:18px;
}
.profile {
  white-space: normal !important;
  word-break: break-all !important;
}
/* ===== スマホ対応（最低限） ===== */
@media screen and (max-width: 768px) {

#top {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  border:1px solid #333;
}
#header #pr p {
   margin:0;
   padding:10px;
   font-size:10px;
}
#main .calendar {
 width: 100%;
 height: 300px;
 float: none;
 }
/* メイン */
#main {
  float: none;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
#menu ul {
  display: none;
  float: none;
  width: 100%;
}

#menu li {
  float: none;
  width: 100%;
}

#menu li a {
  display: block;
  width: 100%;
  height: auto;
  padding: 15px 0;
}
#menu li a.active {
   color:#fff;
   width: 100%;
   text-decoration:none;
   background:#0F98AD;
   height: auto;
}
#hamburger {
  display: none;
  width: 40px;
  height: 30px;
  margin: 10px;
  cursor: pointer;
  position: relative;
  z-index: 9999;
}

#hamburger span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #0089a1;
}

#hamburger span {
  height: 4px;
  min-height: 4px;
}
#hamburger {
  display: block;
}
#menu.open ul {
  display: block;
}
#main dl.information dh {
   float:left;
   width:4em;
   margin: 0 0 0 0; /* ← 左に余白 */
   padding:0;
   font-size:18px;
}

#main dl.information dt {
   float:left;
   width:8em;
   margin:0;
   padding:0;
   font-size:18px;
}

#main dl.information dd {
   margin:0 0 0.5em 12em;
   padding:0;
   background:transparent;
   font-size:18px;
}
#main .topics {
   width:100%;
   border-collapse:collapse;
   margin:0 0 0 0;
}

#main .topics th {
   padding:5px;
   font-size:18px;
   text-align:left;
   border:1px solid #aaa;
   background-color:#f0f7fc;
   white-space: nowrap;
   width:1em;
}

#main .topics td {
   padding:5px;
   font-size:18px;
   text-align:left;
}
#main .topics td.w2{
   padding:5px;
   font-size:12px;
   text-align:left;
   width:2em;
   border:0px solid #fff;
}

#main .topics td.w{
 border-style: none;
 border:0px;
 vertical-align: top;
 font-size:12px;
}
#main .topics td.w12{
border-style: none; border:0px;width:12em; vertical-align: top;
   font-size:12px;
}
#main .topics td.w7{
border-style: none; border:0px;width:7em; vertical-align: top;
   font-size:12px;
}
#main .topics td.wnone{
border-style: none; border:0px; vertical-align: top;
}
#main table {
   width:100%;
   border-collapse:collapse;
   font-size:8px;
}

#main table th {
   padding:5px;
   text-align:left;
   border:1px solid #aaa;
   background-color:#f0f7fc;
   white-space: nowrap;
   font-size:8px;
}

#main table td {
   padding:5px;
   text-align:left;
   border:1px solid #aaa;
   font-size:8px;
}
#main input[type="text"],
#main input[type="email"],
#main textarea,
#main select {
  width: 100%;
  box-sizing: border-box;
}
/*-------------------------------------*/
#main .sample_04{
 border-collapse: collapse;
 border-right: 1px solid #999;
 white-space: nowrap;
 table-layout: fixed;
 }
#main .sample_04 th{
 padding: 6px;
 text-align: left;
 vertical-align: top;
 color: #fff;
 font-size: x-small;
 background-color: #555;
 border-left: 5px solid #ff6633;
 border-top: 1px solid #fff;
 width: 80px;
 }
#main .sample_04 th a{
 color: #fff;
 }
#main .sample_04 td{
 padding: 6px;
 color: #000;
 font-size: x-small;
 border-bottom: 1px solid #999;
 border-left: 1px solid #999;
 }
#main .sample_04 tr:nth-child(odd){
 background-color: #f1f6fc;
 }
#main .sample_04 tr:nth-child(even){
 background-color: #ffffff;
 }
#main .sample_04 tr:hover{
 background-color: #bbd4ee;
 }

}
