/* -------------------------------------------- */
/* ------------------Reset--------------------- */
a,abbr,acronym,address,applet,article,aside,audio,b,blockquote,big,body,center,canvas,caption,cite,code,command,datalist,dd,del,details,dfn,dl,div,dt,em,embed,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,keygen,label,legend,li,meter,nav,object,ol,output,p,pre,progress,q,s,samp,section,small,span,source,strike,strong,sub,sup,table,tbody,tfoot,thead,th,tr,tdvideo,tt,u,ul,var{background:transparent;border:0 none;font-size:100%;margin:0;padding:0;border:0;outline:0;vertical-align:top;}ol, ul {list-style:none;}blockquote, q {quotes:none;}table, table td {padding:0;border:none;border-collapse:collapse;}img {vertical-align:top;}embed {vertical-align:top;}
article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, meter, nav, output, progress, section, source, video {display:block;}
mark, rp, rt, ruby, summary, time {display:inline;}
input, textarea {border:0; padding:0; margin:0; outline: 0;}
iframe {border:0; margin:0; padding:0;}
input, textarea, select {margin:0; padding:0px;}

/* -------------------------------------------- */
/* ------------------Style--------------------- */
html, body {width:100%; padding:0; margin:0;}
body {background: #ffffff;color: #333333;font: 14px/25px Arial, Helvetica, sans-serif;}

a{color: #4169E1;text-decoration: none;}
a:hover {color: #0000CD; text-decoration: underline;}

a.button{cursor: pointer;color: #ffffff;line-height: 14px;font-family: Arial, Helvetica, sans-serif;font-size: 14px;font-weight: bold;	background: #4169E1;border:1px solid #0000CD; border-radius: 4px;}
a.button {	display: inline-block;	text-decoration: none;	padding: 6px 12px 6px 12px;}
a.button:hover{background: #0000CD;}

/* -------------------------------------------- */
/* ------------------Header-------------------- */
header {margin-bottom: 15px; margin-top: 50px;}
header .wrap-header{height: 150px; background:#4682B4;}


/* -------------------------------------------- */
/* ------------------Navigation---------------- */
nav {margin:15px 0px;}
nav .wrap-nav{height: 80px; background: #4682B4;}

.menu ul {list-style: none;margin: 0;padding: 0;}
.menu  ul li {position: relative;float: left;padding: 6px 5px 0px 5px; margin: 17px;}
.menu  ul li:hover {background: #5A9BD5;}
.menu  ul li a {font-size: 16px; line-height:20px;color:#ffffff;display: block;padding: 6px 10px;margin-bottom: 5px;z-index: 6;position: relative; text-transform:uppercase; }
.menu .current{background: #5A9BD5;}

/* -------------------------------------------- */
/* ------------------Featured---------------- */
.featured{margin:15px 0px;}
.featured .wrap-featured{background:#4169E1;}
.featured .wrap-featured .slider{padding: 20px;}

/* -------------------------------------------- */
/* ------------------Content------------------- */
#content {margin:15px 0px;}
#content .wrap-content{background: #4169E1;}

.block01 {padding: 10px;}
.block01 .box{background: #4169E1; padding: 20px 10px;}
.block01 h2{font-size:23px; line-height:30px; font-weight:normal; color: #ffffff;}
.block01 p{font-size:16px; color: #ffffff;}
.block01 .more{text-align: right; color: #ffffff;}


.block02 { margin:10px; color: #959595;}
.block02 article{ clear: both; margin:10px 0px;background: #040404;}
.block02 article h2{font-size:20px; line-height:25px; font-weight:normal;}
.block02 article .info{font-style:italic; background: #131313; padding: 5px 10px;}
.block02 article img{margin:5px;}
.block02 .box{margin-bottom:20px;}
.block02 .heading{padding:5px 0px; border-bottom:3px solid #ED145B;}
.block02 .heading h2{font-size:24px; font-weight:normal; display:inline; color: #ffffff;}
.block02 .content{ margin: 15px 0px ;padding:15px; background: #040404;}
.block02 .content .list{background: #1E1E1E; padding: 10px;}
.block02 .content ul{ font-size:14px; list-style-type:circle; margin-left:20px;}
.block02 .content ul li{padding:5px;}

.block03 { margin:10px; color: #959595;}
.block03 article{ clear: both; margin:20px 0px;background: #040404; padding: 20px;}
.block03 article h2{font-size:25px; line-height:30px; font-weight:normal;}
.block03 article .info{font-style:italic; padding: 10px 0px;}
.block03 article img{ margin-bottom:10px; width: 100%;}
.block03 .box{margin-bottom:20px;}
.block03 .heading{padding:5px 0px; border-bottom:3px solid #ED145B;}
.block03 .heading h2{font-size:24px; font-weight:normal; display:inline; color: #ffffff;}
.block03 .content{ margin: 15px 0px ;padding:15px; background: #040404;}
.block03 .content .list{background: #1E1E1E; padding: 10px;}
.block03 .content ul{ font-size:14px; list-style-type:circle; margin-left:20px;}
.block03 .content ul li{padding:5px;}

/* -------------------------------------------- */
/* ------------------Footer-------------------- */
footer {margin-top: 15px;}
.wrap-footer{background: #141414; border-top:5px solid #ED145B;}

.block09 {padding: 10px;}
.block09 .box{margin-bottom:20px; color: #959595;}
.block09 .heading{padding:5px 0px;}
.block09 .heading h2{font-size:18px; font-weight:normal; display:inline; color: #ffffff; text-transform: uppercase;}
.block09 .content{ margin: 15px 0px ;}
.block09 .content ul{ font-size:14px;}
.block09 .content ul li{padding:5px 0; border-bottom: 1px dotted #333333;}
.block09 .content .tag a{padding: 10px; background: #ED145B; margin: 0px 5px 5px 0px; float: left;}
.block09 .content .tag a:hover{color: #ffffff; background: #F36A97;}
.block09 .content p{margin-bottom:10px; }

.copyright{text-align:center; background:#040404; padding:10px 0px;}
.copyright a{text-decoration:underline;}


/* -------------------------------------------- */
/* ------------------Components-------------------- */
.photos{}
.photos:after{content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
.photos a{display: block; float:left; margin: 0px 4px 10px 4px;position: relative;}
.photos a img{display:block; border:1px solid #CCC;}
 a {color: #4169E1;}
#pagi{margin: 50px auto; padding: 20px 0px;list-style: none;width: 450px;}
#pagi li {float: left;margin-right: 10px;}
#pagi li a {display: block;	text-decoration: none; color: #717171;font: bold 16px Arial, sans-serif;padding: 7px; background: #ffffff;}
#pagi li a.current, #pagi li a:hover {color: #ffffff;	background: #ED145B;}

.comment {
    font-weight: bold;
    margin: 50px 0px;
    width: auto;
}

.comment div {
    margin-bottom: 20px;
    vertical-align: middle;
}

/* テキストフィールドのスタイル */
.comment input[type="text"] {
    border: 2px solid #999999;
    padding: 8px 10px;
    width: 40%;
}

/* テキストエリアのスタイル */
.comment textarea {
    border: 2px solid #999999;
    padding: 8px 10px;
    width: 50%;
}

/* セレクトボックスのスタイル */
.comment select {
    border: 2px solid #999999;
    padding: 8px 10px;
    width: 80%;
}

/* サブミットボタンのスタイル */
.comment input[type="submit"] {
    cursor: pointer;
    width: 100px;
    float: left;
    background: -webkit-linear-gradient(top, #efefef, #ddd);
    background: -moz-linear-gradient(top, #efefef, #ddd);
    background: -ms-linear-gradient(top, #efefef, #ddd);
    background: -o-linear-gradient(top, #efefef, #ddd);
    background: linear-gradient(top, #efefef, #ddd);
    color: #333;
    text-shadow: 0px 1px 1px rgba(255, 255, 255, 1);
    border: 2px solid #999999;
}

.comment input[type="submit"]:hover {
    background: -webkit-linear-gradient(top, #eee, #ccc);
    background: -moz-linear-gradient(top, #eee, #ccc);
    background: -ms-linear-gradient(top, #eee, #ccc);
    background: -o-linear-gradient(top, #eee, #ccc);
    background: linear-gradient(top, #eee, #ccc);
    border: 2px solid #bbb;
}

.comment input[type="submit"]:active {
    background: -webkit-linear-gradient(top, #ddd, #aaa);
    background: -moz-linear-gradient(top, #ddd, #aaa);
    background: -ms-linear-gradient(top, #ddd, #aaa);
    background: -o-linear-gradient(top, #ddd, #aaa);
    background: linear-gradient(top, #ddd, #aaa);
    border: 2px solid #999;
}

/* チェックボックスとラジオボタンに干渉しないように調整し、チェックボックスの間隔を設定 */
.comment input[type="radio"],
.comment input[type="checkbox"] {
    width: auto;
    padding: 0;
    border: none;
    margin-right: 5px; /* チェックボックスと隣の要素との間隔を設定 */
}


#main-content article h1 span {font-size: 22px;
  background-image: -webkit-linear-gradient(315deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  background-image: linear-gradient(135deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#main-content article h2 {
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'Hiragino Mincho ProN', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
  padding: 1rem 2rem;
  color: #fff;
  background: #000;
}

#main-content article h2 span {font-size: 22px;
  background-image: -webkit-linear-gradient(315deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  background-image: linear-gradient(135deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#main-content article h3 {
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'Hiragino Mincho ProN', 'HGS明朝E', 'ＭＳ Ｐ明朝', serif;
  padding: 1rem 2rem;
  color: #fff;
  background: #000;
}

#main-content article h3 span {font-size: 22px;
  background-image: -webkit-linear-gradient(315deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  background-image: linear-gradient(135deg, #b8751e 0%, #ffce08 37%, #fefeb2 47%, #fafad6 50%, #fefeb2 53%, #e1ce08 63%, #b8751e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#sidebar{}
#sidebar .box{margin-bottom:20px;}
#sidebar .heading{ padding:8px 20px; border:1px solid #CCC; background-color:#FFFFFF;}
#sidebar .heading h2{font-size:22px; font-weight:normal; display:inline;}
#sidebar .content{padding:20px; border-left:1px solid #CCC; border-right:1px solid #CCC; border-bottom:1px solid #CCC;  background-color:#1C1C1C;}
#sidebar .comment:after{content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; }
#sidebar .comment div{margin-bottom: 20px; vertical-align:middle; }
#sidebar .comment input{border: 2px solid #999999;padding: 8px 10px;}
#sidebar .comment input[type="submit"] {cursor: pointer; float:left;}

.styled-textbox {
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: 2px solid #4169E1;
    border-radius: 5px;
    font-size: 16px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: border-color 0.3s, box-shadow 0.3s;
}

.styled-textbox:focus {
    border-color: #0000CD;
    box-shadow: 0 0 8px rgba(65, 105, 225, 0.5);
    outline: none;
}
table{
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
    border:1px solid #ccc;
    padding:0;
    margin:0;
}

table tr{
    border:1px solid #ddd;
    padding:5px;
}

table th, table td{
    padding:10px;
    text-align:left;
}

table th{
    font-size:14px;
    letter-spacing:1px;
}

@media screen and (max-width: 600px) {

    table{
        border:1;
    }

    table thead{
        display:none;
    }

    table tr{
        margin-bottom:10px;
        display:block;
        border-bottom:2px solid #ddd;
    }

    table td{
        display:block;
        text-align:right;
        font-size:13px;
        border-bottom:1px dotted #ccc;
    }

    table td:last-child{
        border-bottom:0;
    }

    table td:before {
        content:attr(data-label);
        float:left;
        font-weight: bold;
    }
}
blockquote{
    position:relative;
    border:1px solid #8BC0B8;
    border-radius:10px;
    padding:20px;
}
blockquote:before{
    position:absolute;
    font-family:'FontAwesome';
    content:'\f10d';
    font-size: 20px;
    color:#8BC0B8;
    top:10px;
    left:10px;
}
blockquote:after{
    position:absolute;
    font-family:'FontAwesome';
    content:'\f10e';
    font-size: 20px;
    color:#8BC0B8;
    right:10px;
    bottom:10px;
}
blockquote cite {
    display: block;
    font-size: 0.8rem;
    text-align: right;
    color: #D4DED7;
    padding-right:20px;
}

/* Responsive Design remains unchanged */
@media screen and (max-width: 600px) {
    #calenderTable, #calenderTable th, #calenderTable td {
        padding: 10px;
    }
}
/* Calendar Table Button Styling */
#calenderTable .reservBtnWrap input[type="button"],
#calenderTable .reservBtnWrap input[type="submit"] {
    background: #3498db; /* Primary button color */
    color: white;
    border: none;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.3s, transform 0.2s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Back Button Styling */
#sidebar .submit-button {
    background: #3498db; /* Primary button color */
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.3s, transform 0.2s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 20px auto;
}

#sidebar .submit-button:hover {
    background: #2980b9; /* Hover effect */
    transform: translateY(-2px); /* Slight lift on hover */
}

#sidebar .submit-button:active {
    background: #1c5d88;
    transform: translateY(0); /* Return to normal on click */
}

#calenderTable .calenderHeader a:active {
    background: #1c5d88;
    transform: translateY(0); /* Return to normal on click */
}
/* Calendar Table */
#calenderTable {
    width: 100%;
    margin: 20px auto;
    border-collapse: collapse;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #dcdcdc; /* ラインの色 */
}

#calenderTable th {
    background: #0056b3; /* ヘッダー背景色を濃い青 */
    color: white; /* ヘッダー文字色を白 */
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#calenderTable td {
    background: #f9f9f9; /* セル背景を薄いグレー */
    color: #333; /* 通常文字色 */
    transition: background-color 0.3s;
    border: 1px solid #e0e0e0; /* セルのライン */
}

#calenderTable td.today {
    background: #ffeb3b; /* 今日の日付背景を明るい黄色 */
    color: #000; /* 文字色を黒に */
    font-weight: bold;
}

#calenderTable td.holiday,
#calenderTable td.closed {
    background: #d2b48c; /* 黄土色 (tan) */
    color: #333; /* 文字色を濃いグレー */
    font-weight: bold;
}

#calenderTable td:hover {
    background: #d3e5ff; /* ホバー時の背景色 */
    color: #0056b3; /* ホバー時の文字色 */
}

/* Link Styling */
#calenderTable .calenderHeader a {
    display: inline-block;
    padding: 8px 12px;
    background: #0056b3; /* ボタン色を濃い青 */
    color: white;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s, transform 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#calenderTable .calenderHeader a:hover {
    background: #0073e6; /* ホバー時の明るい青 */
    transform: translateY(-2px);
}

#calenderTable .reservBtnWrap input[type="button"],
#calenderTable .reservBtnWrap input[type="submit"] {
    background: #0056b3; /* 予約ボタンの色を濃い青 */
    color: white;
    border: none;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.3s, transform 0.2s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#calenderTable .reservBtnWrap input[type="button"]:hover,
#calenderTable .reservBtnWrap input[type="submit"]:hover {
    background: #003f7f; /* ホバー時の濃い青 */
    transform: translateY(-2px);
}