@charset "euc-jp";

body { background:#39A06E url(../parts/bg_inside.jpg) repeat-x left top;}

/* 内部ページ ---------------------------------------------------- */

/* メイン画像 ----------------- */
#visual #vblock img { float:left; width: 50%; margin:0; padding:0; text-align:left;}
#visual #vblock h2 { float:right; width: 50%; margin:0; padding:0;}
#visual #vblock h2 img {width: 100%;}

@media screen and (max-width:450px){
    #visual #vblock img,
    #visual #vblock h2 { float:none; width: 100%; }
}

/* 見出し・テキスト ----------------- */
#main h3 { clear:both; width:100%; min-height: 40px; margin:0 0 15px 0; padding:13px 10px 5px 25px; text-align:left; color:#FFF; font-size:130%; border-radius:7px;
 background:url(../parts/bg_h3.jpg) no-repeat left bottom; background-size: 100% 100%;}
#main p { margin:0 10px 1em 10px; padding:0; font-size:120%; line-height:150%;}

a.tel { color:#C00; font-weight:bold;}

@media only screen and (min-width: 900px) { 
    a.tel { pointer-events:none; text-decoration: none;}
}

#main p span.name { font-size:150%; padding-bottom:10px; display:block;}
.contact { color:#C00; font-weight:bold; font-style:normal;}
.note { font-size:130%!important; font-weight:bold; color:#C00;}
.note span { font-size:13px;}

/* テーブル ----------------- */
.tb-01 { width:880px; margin:0 auto 25px auto; padding:0; font-size:120%; line-height:140%; border:1px solid #C8C8C8;}
.tb-01 th,
.tb-01 td { margin:0; padding:5px 8px; text-align:left; vertical-align:top; border:1px solid #C8C8C8;}
.tb-01 th { background:#EFECEF;}

.tb-01 th.year{ width: 70px;}
.tb-01 th.era{ width: 135px;}

@media screen and (max-width:900px){
    .tb-01 { width: 100%;}
}

@media screen and (max-width:640px){
    .tb-01 th.year{ width: 65px;}
    .tb-01 th.era{ width: 80px;}
    .tb-01 th,.tb-01 td { padding:5px 4px;}
}

.tb-02 { width:563px; margin:15px 0 15px 10px; padding:0; font-size:120%; line-height:140%; border:1px solid #C8C8C8;}
.tb-02 th,#main .tb-02 td { margin:0; padding:5px 8px; text-align:left; vertical-align:top; border:1px solid #C8C8C8;}
.tb-02 th { background:#EFECEF;}

.tb-03 { width:680px; margin:0 0 0 10px; padding:0; font-size:120%; line-height:140%; border:1px solid #C8C8C8;}
.tb-03 th,#main .tb-03 td { margin:0; padding:7px 3px 7px 5px; text-align:left; vertical-align:top; border:1px solid #C8C8C8;}
.tb-03 th { background:#EFECEF;}

.tb-04 { float:left; width:440px; margin:0 20px 25px 0; padding:0; font-size:120%; line-height:140%; border:1px solid #C8C8C8;}
.tb-04 th,.tb-04 td { margin:0; padding:5px 8px; text-align:left; vertical-align:top; border:1px solid #C8C8C8;}
.tb-04 th { background:#EFECEF;}
.tbR { margin-right:0;}

@media screen and (max-width:900px){
    .tb-02 { width:100%; max-width:563px; margin:15px auto 15px auto; }
    .tb-03 { width: 600px; }
    .tb-04 { float:none; width: 100%; max-width:440px; margin: 0 auto 15px auto;}
}

@media screen and (max-width:700px){
    .tb-03 { margin:0 auto;}
}

.tb-05 { width:880px; margin:0 auto 25px auto; padding:0; font-size:120%; line-height:140%; border:1px solid #C8C8C8;}
.tb-05 th,
.tb-05 td { margin:0; padding:5px 8px; text-align:left; vertical-align:top; border:1px solid #C8C8C8;}
.tb-05 th { background:#EFECEF;}

.tb-05 th.tab-01 { width: 80px;}
.tb-05 th.tab-02 { width: 270px;}

@media screen and (max-width:900px){
    .tb-05 { width: 100%;}
}

@media screen and (max-width:640px){
    .tb-05 th.tab-01{ width: 70px;}
    .tb-05 th.tab-02{ width: 100px;}
    .tb-05 th,.tb-05 td { padding:5px 4px;}
}

/* ページトップ ----------------- */
.ptop { clear:both; width:900px; max-width: 100%; margin:0; padding:0 0 25px 0; text-align:right;}

/* お知らせ ---------------------------------------------------- */
#news { clear:both; width:900px; margin:0; padding:0 0 10px 0; text-align:left; font-size:120%; line-height:135%; background:url(../parts/bg_news.jpg) no-repeat right top; background-size:auto 100%;}
#news ul { clear:both; width:675px; margin:0; padding:0;}
#news li { margin:0 0 8px 10px; padding:0 7px 2px 0; border-bottom:1px dotted #999;}
#news li a { min-height:24px; height:auto !important; height:24px; margin:0 0 5px 0; padding:3px 120px 10px 15px; display: block; text-decoration:none; color:#333; cursor: pointer; background: url("../parts/bt-ndetail.png") no-repeat right bottom 3px; border-left: 3px solid #009966; -webkit-transition: 0.3s; transition: 0.3s;}
#news li a:hover { background: url("../parts/bt-ndetail_ov.png") no-repeat right bottom 3px; }

#news li a span { color:#096; text-decoration:underline;}
#news li a:visited span { color:#006443;}
#news li a:hover span { color:#C90;}

#news li.nodate a { padding-top:13px;}

@media screen and (max-width:900px){
    #news { width:100%; }
    #news ul { width:92%; max-width:675px; }
}

@media screen and (max-width:800px){
    #news { background-position: right -125px top;}
    #news ul { width:96%; }
}

@media screen and (max-width:480px){
    #news { background-position: right -185px top;}
    #news ul { width:98%; }
    #news li { padding-right: 2px;}
}

/* 詳細 ----------------- */
#ndetail { clear:both; width:100%; min-height:120px; height:auto !important; height:120px;
 margin:0 0 20px 0; padding:5px 210px 0 0; text-align:left; background:url(../parts/bg_news.jpg) no-repeat right 5px;}
#ndetail:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#ndetail img { float:left; margin:0 20px 10px 0; padding:2px; border:1px solid #C8C8C8;}
#ndetail p { margin:0; padding:7px 0 10px 0;}
#ndetail p.write { padding-top:30px; text-align:right; color:#999; font-size:100%;}

@media screen and (max-width:900px){
    #ndetail { padding:5px 50px 0 0; background-position: right -70px top 5px;}
}

@media screen and (max-width:640px){
    #ndetail { padding:5px 30px 0 0; background-position: right -130px top 5px;}
    #ndetail p { clear: both;}
}

/* 画像右（画像幅250px） */
#main .boxS { clear:both; float:left; width:620px; margin:0; padding:0 0 20px 0; text-align:left;}
#main .boxS:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxS h3 { clear:none; width:100%; border-radius:8px; background:url(../parts/bg_h3_s.jpg) no-repeat left top;}
#main .boxS p { margin:0; padding:0 10px;}

#main .boxSL { float:left; width:256px; margin:0; padding:0 0 20px 0; text-align:center;}
#main .boxSL:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxSL img { margin:0 0 7px 0; padding:2px; border:1px solid #C8C8C8;}
#main .boxSL p { margin:0 auto; padding:0; font-size:100%;}

#main .boxSR { float:right; width:256px; margin:0; padding:0 0 20px 0; text-align:center;}
#main .boxSR:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxSR img { margin:0 0 7px 0; padding:2px; border:1px solid #C8C8C8;}
#main .boxSR p { margin:0 auto; padding:0; font-size:100%;}

@media screen and (max-width:900px){
    #main .boxS{ width:68.89%; }
    #main .boxSL,
    #main .boxSR{width:28.44%;}
}

@media screen and (max-width:640px){
    #main .boxS{ width:100%; }
    #main .boxSL,
    #main .boxSR{width:100%;}
}

/* 標準BOX ------------- */
#main .box { clear:both; width:575px; margin:0; padding:0 0 25px 0; text-align:left;}
#main .box:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .box h4 { height:35px; margin:0 0 10px 10px; padding:10px 0 5px 25px; text-align:left; color:#341B34; font-size:130%; background:url(../parts/bg_h4.gif) no-repeat left bottom;}
#main .box p { margin:0; padding:0 10px 1em 10px;}

/* 画像右（画像幅300px） */
#main .boxImgR { width:306px; margin:0; padding:0; text-align:center;}
#main .boxImgR:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxImgR img { margin:0 0 7px 0; padding:2px; border:1px solid #C8C8C8;}
#main .boxImgR p { margin:0 auto; padding:0 0 1em 0; font-size:100%;}

/* 画像左（画像幅300px） */
#main .boxImgL { width:306px; margin:0; padding:0; text-align:center;}
#main .boxImgL:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxImgL img.photo { margin:0 0 7px 0; padding:2px; border:1px solid #C8C8C8;}
#main .boxImgL p { margin:0 auto; padding:0 0 1em 0; font-size:100%;}

@media screen and (max-width:900px){
    #main .box {width:64%; max-width:575px;}
    #main .boxImgR,
    #main .boxImgL {width:34%;}
}

@media screen and (max-width:640px){
    #main .box {width:100%;}
    #main .boxImgR,
    #main .boxImgL {width:100%;}
}

/* 3段組 ----- */
#main .box3 { float:left; width:33.22%/*299px*/;}
#main .box3 img { margin:0 0 7px 0; border:1px solid #C8C8C8;}
#main .box3 p { margin:0 auto; padding:0 0 1em 0; font-size:100%; text-align:center;}

#main .box3L img { padding:2px 0 2px 2px; border-right:0;}
#main .box3C { width:33.44%/*301px*/;}
#main .box3C img { padding:2px; border-left:0; border-right:0;}
#main .box3R img { padding:2px 2px 2px 0; border-left:0;}

@media screen and (max-width:640px){
    #main .box3 { float:none; width:100%; max-width: 299px; margin: 0 auto 10px;}
    #main .box3C { width:100%; max-width:301px; margin: 0 auto 10px;}
}

/* 2段組 ----- */
#main .box2 { float:left;}
#main .box2 img { margin:0 0 7px 0; border:1px solid #C8C8C8;}
#main .box2 p { margin:0 auto; padding:0 0 1em 0; font-size:100%; text-align:center;}

#main .box2L img { padding:2px 0 2px 2px; border-right:0;}
#main .box2R img { padding:2px 2px 2px 0; border-left:0;}

@media screen and (max-width:640px){
    #main .box2 { float:none; width:100%; max-width: 222px; margin: 0 auto 10px;}
    #main .box2C { width:100%; max-width:301px; margin: 0 auto 10px;}
}

/* flexbox 2段組み ----- */
#main .flex_2 { display: -webkit-flex; align-items: flex-start;}

@media screen and (max-width:900px){
	#main .flex_2 { flex: 1 1 auto; }
}

@media screen and (max-width:640px){
    #main .flex_2 { display: block; }
}

/* 2段組テキスト ----- */
#main .box2S { clear:both; float:left; width:388px; margin:0; padding:0 0 20px 0; text-align:left;}
#main .box2S:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .box2S h3 { clear:none; width:100%; border-radius:8px; background:url(../parts/bg_h3_s.jpg) no-repeat left top;}
#main .box2S p { margin:0; padding:0 10px;}

@media screen and (max-width:900px){
    #main .box2S{ width:50.9%; }
    #main .box2SL,
    #main .box2SR{width:28.44%;}
}

@media screen and (max-width:640px){
    #main .box2S{ width:100%; }
    #main .box2SL,
    #main .box2SR{width:100%;}
}

/* 由緒 ---------------------------------------------------- */
#main .boxY { width:435px; margin:0; padding:0 0 25px 0; text-align:left;}
#main .boxY:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxY h3 {width: 100%; background:url(../parts/bg_h3.jpg) no-repeat left top;}
#main .boxY p { margin:0 auto; padding:0 10px 1em 10px;}

/* 画像左（画像幅300px） */
#main .boxImgY { width:450px; margin:0; padding:0; text-align:center;}
#main .boxImgY:after { content:"."; display:block; height:0; clear:both; visibility:hidden;}
#main .boxImgY img { margin:0 0 7px 0; padding:2px; border:1px solid #C8C8C8;}
#main .boxImgY p { margin:0 auto; padding:0 0 1em 0; font-size:100%;}

@media screen and (max-width:900px){
    #main .boxY {width:48.33%;}
    #main .boxImgY {width:50%;}
}

@media screen and (max-width:640px){
    #main .boxY {width:100%;}
    #main .boxImgY {width:100%;}
}

/* 宝物 ---------------------------------------------------- */

/* 画像左（画像幅447px） */
#main #treasure .boxLL,
#main #treasure .boxRL{ clear:both; width:100%; min-height:250px; margin:0; padding:0; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between;}
#main #treasure .boxRL { -webkit-flex-direction: row-reverse; flex-direction: row-reverse;}
#main #treasure .photo{ width: 50.33%;}
#main #treasure .txt{width:47.78%; padding-bottom: 3em;} 
#main #treasure h4 { min-height:35px; margin:0 0 10px 0; padding:10px 0 5px 25px; text-align:left; color:#341B34; font-size:130%; background:url(../parts/bg_h4.gif) no-repeat left bottom;}
#main #treasure p { margin:0; padding:0 10px 1em 10px; text-align:left;}
#main #treasure img { padding:2px; border:1px solid #C8C8C8;}

@media screen and (max-width:900px){
    #main #treasure .boxLL,
    #main #treasure .boxRL { width:100%; }
    #main #treasure .txt{padding-bottom: 8em;} 
}

@media screen and (max-width:640px){
    #main #treasure .photo{ width: 100%; margin:0 auto 15px auto; text-align: center;}
    #main #treasure .txt{ width:100%;}
}

/* 貸し教室 ---------------------------------------------------- */

/* 空き情報ボタン */
#main a.bt-info {position: relative; width:100%; max-width:306px; height:60px; margin: 0 auto 5px auto; display: block; overflow: hidden; cursor: pointer;}
#main a.bt-info img { position: absolute; top:50%; left:50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; display: block; -webkit-transition: .2s ease-in-out; transition: .2s ease-in-out;}
#main a.bt-info:hover img:nth-of-type(2) { opacity: 0;}

/* 申込フォームボタン */
#main a.bt-formU {position:relative; width:100%; max-width:306px; height:40px; margin:0 auto; display:block; overflow: hidden; cursor: pointer;}
#main a.bt-formU img { position:absolute; top:50%; left:50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; display: block; -webkit-transition: .2s ease-in-out; transition: .2s ease-in-out;}
#main a.bt-formU:hover img:nth-of-type(2) { opacity: 0;}

#main a.bt-formR {position:relative; width:100%; max-width:306px; height:40px; margin:5px auto 20px auto; display: block; overflow: hidden; cursor: pointer;}
#main a.bt-formR img { position:absolute; top:50%; left:50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; display: block; -webkit-transition: .2s ease-in-out; transition: .2s ease-in-out;}
#main a.bt-formR:hover img:nth-of-type(2) { opacity: 0;}

/* 利用申込書ダウンロード */
#main h4.rental { height:35px; margin:0 0 10px 0; padding:10px 0 5px 25px; text-align:left; color:#341B34; font-size:130%; background:url(../parts/bg_h4.gif) no-repeat left bottom;}
#main .boxD { clear:both; width:888px; margin:0; padding:0 5px; position: relative; border:solid 1px #C8C8C8}
#main .boxDR { float:right; width:180px; margin:0 10px 15px 10px; padding:0px; position: absolute; bottom: 0; right: 0;}
#main .boxDR .need { margin:0 0 5px 0;}
#main .boxDR a.bt-please { width:180px; height:26px; margin:0; padding:0; display:block; text-indent:-10000px; background:url(../parts/bt_please.jpg) no-repeat left top;}
#main .boxDR a:hover.bt-please { background-position:-180px 0;}
#main .boxDL { width:690px; margin:0; padding:0;}
#main .boxDL h5 { font-size:130%; margin:15px 0 10px 10px;}
#main .boxDL h5 .sub{ font-weight:normal; }
#main .boxDL ul { margin:0 10px 15px 10px; padding-left:15px; font-size:120%; line-height:150%; }
#main .boxDL li { list-style:circle; padding-left:0px; margin-bottom:5px; }
#main .bt-rental { float:left; width:320px; height:40px; margin:10px 87px 25px 87px; padding:0; display:block; text-indent:-10000px; background:url(../parts/bt_rental.png) no-repeat left top;}
#main a:hover.bt-rental { background-position:0 -45px;}
#main a.bt-rrental { width:320px; height:40px; margin:10px 86px 25px 0px; padding:0; display:block; text-indent:-10000px; background:url(../parts/bt_rrental.jpg) no-repeat left top;}
#main a:hover.bt-rrental { background-position:0 -45px;}

@media screen and (max-width:900px){
    #main .boxD { width:100%; max-width:888px; margin-bottom: 15px;}
    #main .boxDL { width:100%; margin-bottom: 80px;}
    #main .bt-rental,
    #main a.bt-rrental { float:none; width:320px; margin: 0 auto 15px;} 
}

/* 背景 */
#main .boxbg01 { background:url(../parts/boxbg01.gif) no-repeat right bottom 30px;}
#main .boxbg02 { background:url(../parts/boxbg02.gif) no-repeat right bottom 10px;}
#main .boxbg03 { background:url(../parts/boxbg03.gif) no-repeat right bottom 20px;}
#main .boxbg04 { background:url(../parts/boxbg04.gif) no-repeat right bottom 20px;}
#main .boxbg05 { background:url(../parts/boxbg05.gif) no-repeat right bottom 20px;}

#main .boxbg06 { background:url(../parts/boxbg02.gif) no-repeat right bottom 30px;}
#main .boxbg07 { background:url(../parts/boxbg03.gif) no-repeat right bottom 30px;}
#main .boxbg08 { background:url(../parts/boxbg04.gif) no-repeat right bottom 30px;}

/* 料金改定 */
#main p.price_news { margin:30px auto; text-align:center;}
#main p.price_news a { display:block; width:640px; height:70px; margin:0 auto; background:url(../parts/bt_price.gif) no-repeat 0 0; text-indent:-10000px;}
#main p.price_news a:hover { display:block; width:640px; height:70px; background:url(../parts/bt_price.gif) no-repeat 0 -70px; text-indent:-10000px;}

/* 年間行事 ---------------------------------------------------- */
#schedule { padding:15px 0; background:url(../parts/bg_schedule.jpg) no-repeat right top; }

@media screen and (max-width:900px){
    #schedule {width: 100%; background-position: right -70px top;}
}

@media screen and (max-width:700px){
    #schedule {width: 100%; background:none;}
    #schedule .sch-box { width:100%; padding: 10px; overflow-x: scroll;}
}

/* 拝観案内 ---------------------------------------------------- */
.event { width: 100%;}
.event img{ width: 50%;}

@media screen and (max-width:640px){
    .event img{ width: 100%; max-width: 450px; margin: 0 auto;}
}

/* 交通案内 ---------------------------------------------------- */
.access-tel { color:#C00; font-size:130%; font-weight:bold; font-style:normal;}
.access-tel a { color:#C00; font-weight:bold;}

@media only screen and (min-width: 900px) { 
    .access-tel a { pointer-events:none; text-decoration: none;}
}

dl.access { clear:both; width:100%; padding:6px 10px 0 10px; font-size:120%; text-align:left; border-bottom:1px dotted #CCC; line-height: 1.2;}
dl.access dt { padding:6px 0 5px 47px; clear:left; float:left; width:120px; border-top:1px dotted #CCC; letter-spacing:0.5em; font-weight:bold;}
dl.access dd { padding:6px 0 5px 10px; margin-left:120px; border-top:1px dotted #CCC;}
dl.access:after,dl.access dt:after,dl.access dd:after { content:" "; display:block; clear:both;}

dl.access dt.train { background:url(../parts/ico_train.gif) no-repeat 0 0; border-top:none;}
dl.access dd.train { border-top:none;}
dl.access dt.bus { background:url(../parts/ico_bus.gif) no-repeat 0 3px;}
dl.access dt.car { background:url(../parts/ico_car.gif) no-repeat 0 2px;}

@media only screen and (max-width: 430px) {
	dl.access dt { clear: both; float: none; width: 100%; padding-bottom: 5px;}
	dl.access dd { margin-left:0; border-top:none;}
}

/* 周辺地図 ----------------- */
#map { clear:both; width:800px; margin:0 0 25px 10px; padding:0; text-align:left; border:1px solid #C8C8C8;}

/* CMSナビ ---------------------------------------------------- */

.nxt-prv-list { clear:both; width:900px; max-width: 100%; margin:0; padding:5px 0 10px 0; text-align:right; font-size:120%;}

.cms-navi { clear:both; width:900px; max-width: 100%; margin:0 0 25px 0; padding:10px 0;
 text-align:left; font-size:120%; border-top:1px dotted #999;}
.nxt-list { float:left; margin:0; padding:0;}
.nxt-list a.bt-back {
 width:110px; height:24px; margin:0; padding:0; display:block; text-indent:-10000px;
 background:url(../parts/bt_back.jpg) no-repeat left top;}
.nxt-list a:hover.bt-back { background-position:0 -26px;}
.nxt-prv { float:right; margin:0; padding:2px 0 0 0;}
