@charset "utf-8";
/* CSS Document */


/*-----------------------------------------------
  common
-----------------------------------------------*/

#contents h1 {
width:950px;
margin:20px auto 0 auto;
padding-bottom:15px;
font-size:2em;
color:#163;
text-align:center;
background:url(../img/common/h1_bg.png) left bottom repeat-x;
}
#contents h1 img {
width:60px;
margin-right:10px;
vertical-align:bottom;
}
#contents h2 {
margin:40px 0 15px 0;
padding:10px 0 10px 34px;
font-size:1.25em;
background:#D4F0AC url(../img/common/h2_bg.png) 10px center no-repeat;
border-radius:5px;
}
#contents section {
margin-top:40px;
}
#contents section:first-child {
margin-top:0;
}
#contents section h2:first-child {
margin-top:0;
}
@media screen and (max-width:500px) {
#contents_area h1 {
width:100%;
text-align:left;
}
}

.red {
color:#C00;
}


/*-----------------------------------------------
  news
-----------------------------------------------*/

#news dt {
padding:5px 0;
font-size:1.5em;
line-height:1.2;
color:#163;
border-bottom:1px dotted #CCC;
}
#news dd.date {
font-size:0.9em;
color:#999;
}
#news dd.text {
margin-top:20px;
line-height:1.8;
}
#news dd.text img {
float:right;
width:50%;
margin-left:10px;
}


/*-----------------------------------------------
  facility
-----------------------------------------------*/

#musium ul.photo {
overflow:hidden;
}
#musium ul.photo li {
width:48%;
margin-top:20px;
}
#musium ul.photo li:nth-child(odd) {
float:left;
}
#musium ul.photo li:nth-child(even) {
float:right;
}
#musium ul.photo li img {
width:100%;
}
#santa ul.photo {
overflow:hidden;
}
#santa ul.photo li {
width:48%;
margin-top:20px;
}
#santa ul.photo li:nth-child(odd) {
float:left;
}
#santa ul.photo li:nth-child(even) {
float:right;
}
#santa ul.photo li img {
width:100%;
}
#santa ul.photo li p {
min-height:3em;
margin-top:5px;
font-size:0.85em;
text-align:justify;
}


@media screen and (max-width:500px) {
#musium ul.photo li {
width:100%;
margin-top:20px;
}
#musium ul.photo li:nth-child(odd) {
float:none;
}
#musium ul.photo li:nth-child(even) {
float:none;
}
#santa ul.photo li {
width:100%;
margin-top:20px;
}
#santa ul.photo li:nth-child(odd) {
float:none;
}
#santa ul.photo li:nth-child(even) {
float:none;
}
#santa ul.photo li p {
min-height:0;
}
}


/*-----------------------------------------------
  shop
-----------------------------------------------*/

#shop p {
margin-top:10px;
text-align:justify;
overflow:hidden;
}
#shop p img {
width:100%;
margin-bottom:10px;
border-radius:5px;
}
#shop ul.photo {
overflow:hidden;
}
#shop ul.photo li {
width:48%;
margin-top:20px;
}
#shop ul.photo li:nth-child(odd) {
float:left;
}
#shop ul.photo li:nth-child(even) {
float:right;
}
#shop ul.photo li img {
width:100%;
}
#shop dl.item {
width:100%;
}

#item ul.menu {
margin-top:10px;
overflow:hidden;
}
#item ul.menu li {
float:left;
width:300px;
margin:10px 20px 0 0;
}
#item ul.menu a {
display:block;
padding:8px 0 8px 28px;
color:#FFF;
background:#163 url(../img/common/arw_link.png) 10px center no-repeat;
border-radius:4px;
}
#item ul.menu a:hover {
text-decoration:none;
opacity:0.8;
}
#item > div {
display:none;
}
#item .box {
padding:20px 0;
border-bottom:1px dotted #999;
overflow:hidden;
}
#item .box:last-child {
border-bottom:none;
}
#item h3 {
margin-top:20px;
padding:6px 10px;
text-align:center;
color:#163;
background:#EEE;
}
#item dl {
width:47.5%;
text-align:center;
}
#item dl:nth-child(odd) {
float:left;
}
#item dl:nth-child(even) {
float:right;
}
#item dl img {
width:100%;
}
#item dt {
margin-top:10px;
font-weight:bold;
}
#item dd {
font-size:0.85em;
}
#item dd.price span {
margin-left:0.5em;
font-size:1.5em;
font-weight:bold;
color:#D21;
}

@media screen and (max-width:500px) {
#item ul.menu {
display:none;
}
#item > div {
display:block;
}
#item h3 {
margin-top:0;
padding:6px 10px;
text-align:center;
color:#163;
background:#EEE;
}
#item .box {
padding:0;
border-bottom:none;
}
#item dl {
width:100%;
float:none;
padding:20px 0;
border-bottom:1px dotted #999;
}
#item dl img {
width:80%;
}
}


/*-----------------------------------------------
  guidance
-----------------------------------------------*/

#schedule dl {
margin-top:15px;
overflow:hidden;
}
#schedule dt {
float:left;
width:8em;
margin-right:15px;
padding:6px 15px;
color:#FFF;
text-align:center;
border-radius:5px;
}
#schedule dt.open {
background:#2EA7E0;
}
#schedule dt.close {
background:#E83828;
}
#schedule dt.neither {
background:#F39800;
}
#schedule dd {
float:left;
margin-top:5px;
font-size:1.25em;
}
#schedule dd span {
font-size:0.75em;
}
#schedule p.note {
margin-top:20px;
padding-left:1em;
text-indent:-1em;
}

@media screen and (max-width:500px) {
#schedule dt {
float:none;
}
#schedule dd span {
display:block;
}
}

#hour p {
font-size:1.25em;
}

#price table {
width:100%;
line-height:1.2;
}
#price table th, #price table td {
padding:15px;
border:1px solid #CCC;
}
#price table th, #price table td {
padding:15px;
border:1px solid #CCC;
}
#price table thead th {
text-align:center;
background:#E8875D;
}
#price table thead th span {
font-size:0.8em;
}
#price table tbody th {
width:20%;
text-align:center;
background:#E8B6A0;
}
#price table tbody th span {
font-size:0.8em;
}
#price table tbody td {
width:20%;
text-align:center;
}
#price .image {
width:100%;
}
ul.note {
margin-top:10px;
padding-left:1em;
text-indent:-1em;
}

@media screen and (max-width:500px) {
table.schedule {
width:100%;
}
table.schedule th {
width:30%;
}
#price table {
width:100%;
}
#price table tbody th {
width:30%;
}
}


/*-----------------------------------------------
  access
-----------------------------------------------*/

.googlemap {
width:100%;
height:700px;
border:1px solid #EEE;
}
#access dl {
margin-top:15px;
}
#access dt {
font-size:1.1em;
color:#163;
}
#access .image {
width:100%;
}


@media screen and (max-width:500px) {
#map_canvas {
height:350px;
}
}



/*-----------------------------------------------
  contact
-----------------------------------------------*/

table.form {
width:100%;
margin-top:15px;
}
table.form th {
width:12em;
padding:10px 0 10px 2.5%;
vertical-align:top;
line-height:1.2;
background:#D4F0AC;
border-bottom:2px solid #FFF;
}
table.form th span {
font-size:0.75em;
font-weight:normal;
color:#F00;
}
table.form td {
padding:10px;
border-bottom:2px solid #FFF;
}
table.form td .w25 {
width:25%;
}
table.form td .w50 {
width:50%;
}
table.form td .w90 {
width:90%;
}

ul.error {
margin-top:15px;
}
ul.error li {
color:#F00;
}


@media screen and (max-width:500px) {
table.form th {
display:block;
width:100%;
margin-top:15px;
border-bottom:none;
}
table.form td {
display:block;
width:100%;
margin-top:10px;
padding:0 2.5%;
border-bottom:none;
}
}


/*-----------------------------------------------
  Form
-----------------------------------------------*/

select {
padding:4px;
border:1px solid #CCC;
border-radius:4px;
-webkit-appearance:button;
-moz-appearance:button;
appearance:button;
}
input[type=text], textarea {
padding:4px;
border-radius:4px;
border:1px solid #CCC;
-webkit-transition:all .3s;
transition:all .3s;
}
input[type=text]:focus, textarea:focus {
border:1px solid #163;
box-shadow:0 0 4px #163;
}
input[type=submit] {
float:left;
margin:15px 5% 0 0;
padding:15px 5%;
color:#FFF;
background:#163;
border-radius:6px;
-webkit-appearance:button;
-moz-appearance:button;
appearance:button;
}
input[type=submit].modify {
background:#999;
}
input[type=submit]:hover {
opacity:0.8;
}

@media screen and (max-width:500px) {
input[type=submit] {
float:none;
width:100%;
margin-right:0;
}
}


/*-----------------------------------------------
  coupon
-----------------------------------------------*/

#coupon img {
width:100%;
}
#coupon ul {
margin-top:20px;
}
#coupon li {
padding-left:1em;
text-indent:-1em;
}
#coupon .image {
width:100%;
}

