@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP&family=MonteCarlo&family=Zen+Old+Mincho&display=swap');

/*font-family
▽ 'MonteCarlo',serif
	Regular		400
▽ 'Zen Old Mincho',serif
	Regular		400
	Medium		500
	SemiBold	600
	Bold		700
	Black		900
▽ 'IBM Plex Sans JP',sans-serif
	Thin		100
	ExtraLight	200
	Light		300
	Regular		400
	Medium		500
	SemiBold	600
	Bold		700
*/
:root{/*viewport:320px-1000px*/
	--fontSz24-34:clamp(1.5rem, 1.206rem + 1.47vw, 2.125rem);
	--fontSz30-46:clamp(1.875rem, 1.404rem + 2.35vw, 2.875rem);
	--fontSz18-24:clamp(1.125rem, 0.949rem + 0.88vw, 1.5rem);
	--fontSz16-18:clamp(1rem, 0.941rem + 0.29vw, 1.125rem);
	--fontSz14-16:clamp(0.875rem, 0.816rem + 0.29vw, 1rem);
	--fontSz12-14:clamp(0.75rem, 0.691rem + 0.29vw, 0.875rem);
	--size50-80:clamp(3.125rem, 3.125rem + 0vw, 5rem);
	--size30-50:clamp(1.875rem, 1.287rem + 2.94vw, 3.125rem);
	--size20-40:clamp(1.25rem, 0.662rem + 2.94vw, 2.5rem);
	--clrLgt:#d3daff;
	--clrDrk:#a7abc9;
	--clrBej:#fff;
	--clrBlk:#000;
	--clrWht:#fff;
	--clrPnk:#d00078;
}/*var()*/

/*reset*/
*{margin:0;padding:0;min-width:0;min-height:0;}
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,pre,a,address,em,img,s,small,strong,tt,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,thead,tbody,tfoot,tr,th,td,footer,header,nav,article,summary,article,time,mark{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
html,body{width:100%;height:100%;box-sizing:border-box;}
*,*::before,*::after{box-sizing:inherit;}
footer,header,nav,article{display:block;}
body{line-height:1;}
ul li{list-style-type:none;}
table{border-collapse:collapse;border-spacing:0;}
hr{height:0;margin:0;padding:0;border:0;}
/*---------------------------------------------*/
html{width:100%;height:100%;margin:0;padding:0;font-size:100%;}
body{position:relative;margin:0;padding:0;font-size:var(--fontSz16-18);font-weight:400;font-family:'Zen Old Mincho',serif;line-height:1.6;color:var(--clrBlk);text-align:center;background-color:var(--clrBej);transition:all 0.5s ease 0s;}
a{color:var(--clrDrk);text-decoration:underline;transition:all 0.3s ease 0s;}
a:hover{text-decoration:none;}
a.btn{position:relative;display:inline-block;margin:1rem auto 0 auto;padding:10px 20px;color:var(--clrWht);font-size:var(--fontSz14-16);text-align:center;line-height:1.4;text-decoration:none;border:none;box-sizing:border-box;overflow:hidden;}
a.btn::before{content:"";display:inline-block;position:absolute;top:-180px;left:0;width:30px;height:100%;background:var(--clrWht);animation:shiny 3s ease-in-out infinite;}
a.btn:hover{background:var(--clrBlk);}
a.btn.pnk{background:var(--clrPnk);}
img{max-width:100%;vertical-align:middle;border-style:none;border:none;}
a img{text-decoration:none;}
a.imghover:hover{filter:alpha(opacity=80);opacity:0.8;}
svg:not(:root){overflow:hidden;max-width:100%;}
[hidden]{display:none!important;}
h2{position:relative;overflow:hidden;width:100%;margin:20px 0;padding:0 25px;color:var(--clrBlk);font-size:var(--fontSz18-24);font-weight:700;font-family:'IBM Plex Sans JP',sans-serif;text-align:left;line-height:2;border-bottom:1px solid var(--clrDrk);}
h2 span{display:inline-block;margin:0;padding:0 0 0 30px;color:var(--clrDrk);font-size:10px;font-weight:400;}
p{display:inline-block;width:calc(100% - 30px);margin:1rem 0;padding:0;text-align:left;}
strong{color:var(--clrPnk);font-weight:400;}
small{color:#999;font-size:var(--fontSz14-16);}

/*中央揃え+上下中央*/
.flex_cntmdl{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;}
/*中央揃え+下揃え*/
.flex_cntbtm{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;}
/*両端揃え+上下中央*/
.flex_btwmdl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;}
/*両端1/2&均等+上下中央*/
.flex_ardmdl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;}
/*main---------------------------------------------*/
main{position:relative;width:100%;height:auto;margin:0 auto;padding:60px 0 0 0;}
article{position:relative;width:calc(100% - 2rem);height:auto;margin:0 auto;padding:0;text-align:center;box-sizing:border-box;overflow-x:clip;}
main .container{position:relative;width:100%;max-width:1000px;margin:0 auto;padding:var(--size50-80) 0;text-align:center;}
article:nth-child(odd) .container{background:url("../images/contentsBg_r.png") no-repeat bottom right;}
article:nth-child(even) .container{background:url("../images/contentsBg_l.png") no-repeat bottom left;}
@media(min-width:528px){
	main{padding:150px 0 0 0;}
	main .container{;width:100%;}
}
/*header---------------------------------------------*/
header{position:fixed;top:0;left:0;z-index:10;width:100%;height:60px;margin:0;padding:0;text-align:center;background:linear-gradient(to bottom,var(--clrDrk),var(--clrLgt));}
header .container{position:relative;width:100%;max-width:1000px;height:60px;margin:0 auto;padding:0;text-align:center;}
.logo a{margin:0;padding:0;color:var(--clrWht);font-size:var(--fontSz24-34);font-weight:500;line-height:1.4;text-align:left;text-decoration:none;}
.logo a span{display:block;margin:0;padding:0;font-size:12px;font-weight:400;font-family:'IBM Plex Sans JP',sans-serif;}
header h1.logo{position:absolute;top:5px;bottom:0;left:10px;margin:auto;padding:0;}
.headerNavi{display:none;}
@media(min-width:528px){
	header{height:150px;background:linear-gradient(to bottom,var(--clrDrk),var(--clrLgt));}
	header .container{height:150px;background:url("../images/headerPiano.png") no-repeat right 0 bottom 1px,url("../images/headerWave.png") no-repeat left 165px top 14px,url("../images/headerRose_l.png") no-repeat left 0 top 10px,url("../images/headerRose_r.png") no-repeat right 70px bottom 10px;}
	header h1.logo{top:25px;left:180px;}
	.headerNavi{position:absolute;bottom:0;left:0;right:0;display:flex;margin:auto;}
	.headerNavi li{display:inline-block;width:130px;height:40px;margin:0 1px;padding:7px 0 0 0;text-align:center;line-height:1;background:rgba(167,171,201,0.5);transition:all 0.3s ease 0s;}
	.headerNavi li a{display:block;width:100%;height:100%;color:var(--clrWht);font-weight:400;font-size:var(--fontSz12-14);font-family:'IBM Plex Sans JP',sans-serif;line-height:1.2;text-decoration:none;}
	.headerNavi li a span{display:block;font-size:10px;}
	.headerNavi li:hover{background:rgba(167,171,201,1);}
}
/*drawer---------------------------------------------*/
#drawer{position:absolute;top:0;right:0;width:60px;height:60px;background:var(--clrBej);}
#drawer #hamburger{position:absolute;top:10px;right:15px;width:30px;height:24px;margin:0;padding:0;z-index:3;box-sizing:border-box;cursor:pointer;transition:all 400ms;}
#drawer #hamburger span{position:absolute;left:0;transition:all 400ms;}
#drawer #hamburger span:nth-child(1),#drawer #hamburger span:nth-child(2),#drawer #hamburger span:nth-child(3){height:3px;background:var(--clrDrk);}
#drawer #hamburger span:nth-child(1){top:0;width:100%;}
#drawer #hamburger span:nth-child(2){top:10px;width:80%;}
#drawer #hamburger span:nth-child(3){top:20px;width:60%;}
#drawer #hamburger span:nth-child(4){top:25px;color:var(--clrDrk);font-size:12px;font-weight:500;}
#drawer #hamburger.open span:nth-child(1){background:var(--clrBej);top:6px;transform:rotate(-45deg);}
#drawer #hamburger.open span:nth-child(2),#drawer #hamburger.open span:nth-child(3){top:6px;width:100%;background:var(--clrBej);transform:rotate(45deg);}
#drawer #hamburger.open span:nth-child(4){color:var(--clrBej);}
#gNav{position:fixed;top:0;right:-100%;width:100%;height:100%;margin:0 auto;padding:0;color:var(--clrWht);background:linear-gradient(to bottom,var(--clrDrk),var(--clrLgt));box-sizing:border-box;transition:0.3s;z-index:2;overflow-y:auto;}
#gNav div.logo{position:relative;margin:2rem auto;padding:0;text-align:center;}
#gNav div.logo span{display:inline-block;}
#gNav a{color:var(--clrWht);}
#gNav.open{right:0;}
#gNav ul{margin:2rem auto;padding:0 1rem;display:flex;flex-direction:column;text-align:left;}
#gNav ul > li{display:block;width:100%;height:60px;margin:0;padding:0;border-bottom:1px dotted var(--clrBej);}
#gNav ul > li a{display:block;width:100%;height:100%;margin:0;padding:0;color:var(--clrWht);font-size:18px;font-weight:400;line-height:56px;text-decoration:none;transition:0.5s;}
#gNav ul > li a:hover{color:var(--clrBlk);transition:0.5s;}
#gNav ul > li a span{display:inline-block;margin:0 0 0 2rem;padding:0;color:var(--clrBej);font-size:12px;}
@media all and (min-width:526px){
	#drawer{display:none;}
}
/*contents---------------------------------------------*/
.topArea{display:table;width:100%;height:400px;margin:4px 0;padding:0;background:url("../images/topImage.png?20250206") no-repeat center center;}
.topArea p{display:table-cell;margin:auto;padding:0;font-size:var(--fontSz30-46);font-weight:400;font-family:'MonteCarlo',serif;line-height:1.4;text-align:center;vertical-align:middle;}
.map{width:100%;max-width:460px;aspect-ratio:46/30;margin:1rem auto;padding:0;border:1px solid var(--clrDrk);vertical-align:top;}
.info{display:inline-block;margin:1rem auto;padding:1rem 0;}
.info p:nth-child(1){display:inline-block;width:auto;margin:0;padding:0 1rem;font-size:var(--fontSz18-24);line-height:1.2;text-align:center;white-space:nowrap;}
.info p:nth-child(1) span{font-size:var(--fontSz14-16);}
.info p:nth-child(2),.info address{display:inline-block;width:auto;margin:0;padding:0 1rem;text-align:left;}
.info.pnk{border:1px solid var(--clrPnk);}
.info.pnk p:nth-child(1){color:var(--clrPnk);}
.info.vlt{border:1px solid var(--clrDrk);}
.info.vlt p:nth-child(1){color:var(--clrDrk);}
ul.note{margin:0 0 0 1rem;padding:0;text-align:left;}
ul.note li{margin:0;padding:0;}
ul.note li::before{content:'♪ ';color:var(--clrDrk);}
table{border-collapse:collapse;table-layout:fixed;width:calc(100% - 30px);height:auto;margin:0 auto;padding:0;font-size:100%;border-collapse:collapse;border-spacing:0;border:1px solid var(--clrDrk);}
table th,table td{display:block;width:100%;margin:0;padding:1rem;text-align:left;vertical-align:middle;border-bottom:1px dotted var(--clrDrk);box-sizing:border-box;}
table th{background:var(--clrLgt);}
@media(min-width:680px){
	table th,table td{display:table-cell;}
	table tr th:first-child{width:150px;}
}
/*slider---------------------------------------------*/
ul.topSlide{width:100%;margin:0 auto;}
ul.topSlide li.item{width:100%;max-width:440px;margin:0;padding:20px 10px;text-align:left;}
ul.topSlide li.item img{width:100%;margin:0 auto;padding:0;}
ul.topSlide li.item .caption{width:100%;max-width:400px;height:auto;margin:0 auto;padding:0;font-size:var(--fontSz14-16);}
/*footer---------------------------------------------*/
footer{position:relative;width:100%;height:30px;margin:0;padding:0;text-align:center;color:var(--clrWht);font-size:var(--fontSz12-14);font-weight:400;line-height:30px;background:linear-gradient(to bottom,var(--clrLgt),var(--clrDrk));}
/*err---------------------------------------------*/
.err{font-size:var(--fontSz14-16);border:1px solid var(--clrPnk);text-align:left;margin:20px;padding:20px 30px;text-align:center;color:var(--clrPnk);}
/*Animation--------------------------------------------*/
.slide_up,.slide_left,.slide_right{transition:opacity 0.7s;transition:transform 0.7s;}
@keyframes shiny {
    0%{-webkit-transform:scale(0) rotate(45deg);opacity:0;}
    80%{-webkit-transform:scale(0) rotate(45deg);opacity:0.5;}
    81%{-webkit-transform:scale(4) rotate(45deg);opacity:1;}
    100%{-webkit-transform:scale(50) rotate(45deg);opacity:0;}
}
