@charset "utf-8";


#gFooter{ position: relative;}
.footerTop{ background: url(/asset/images/footer/footer_bg.png) repeat-x center top; background-size:2500px auto;}


@media(max-width:750px){
.footerTop{ background: url(/asset/images/footer/footer_bg_sp.png) repeat-x center top; background-size:1400px auto;padding-top: 100px; margin-bottom: -30px;}
}

.footerMenu{
    width: 900px; margin: 0 auto;
    padding: 150px 0 50px;
    border-bottom: 1px dashed #fff;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 5px;
    row-gap: 5px;
}


@media(max-width:750px){
.footerMenu{ display: none;}
}


.footerMenu ul{list-style-type: disc;}
.footerMenu ul li{ color: #fff; padding-bottom: 5px;}
.footerMenu ul li a{ color: #fff;}

.footerMenu ul:nth-child(1){padding-left: 20px;}
.footerMenu ul:nth-child(2){padding-left: 50px;padding-right:20px; border-left: 1px solid #f2c4ce;}
.footerMenu ul:nth-child(3){padding-left: 50px;padding-right:0; border-left: 1px solid #f2c4ce;}


.footerUnder{ background: url(/asset/images/footer/ft_bgColor.png) repeat center top;}

.footerUnder >.inner{ width: 800px; margin:0 auto; display: table;padding: 20px 0 50px;}
.footerUnder .copyright{ display: table-cell; width: 20%; vertical-align: bottom;}
.footerUnder .ftTitle{ display: table-cell; width: 60%; text-align: center; vertical-align: bottom;}
.footerUnder .privacy{ display: table-cell; width: 20%; vertical-align: bottom;}
.footerUnder .privacy p{text-align: right; opacity: 0; pointer-events: none;}
.footerUnder .ftTitle img{ width: 70%;}
.footerUnder p{ color: #fff; font-size: 70%; font-weight: normal;}
.footerUnder p a:link{ color: #fff;}
.footerUnder p a:visited{ color: #fff;}
.footerUnder p a:hover{ color: #fff; text-decoration: underline;}


@media(max-width:750px){
.footerUnder{margin-top: 0;padding-top: 100px;}
.footerUnder .ftTitle{ position: relative; top: -20px;}
}

.gototop{ width: 120px; display: block; position: absolute;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
top: -40px;
transition: all  0.3s ease;
}

a.gototop:hover{ top:-36.5px; transform: scale(0.95);}
a.gototop:active{ transform: scale(0.9);}

@media(max-width:750px){

.gototop{ width: 170px; display: block; position: absolute;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
top: -40px;
transition: all  0.3s ease;
}



.footerUnder >.inner{ width: auto; margin:0 auto; display: table;padding: 20px 0 30px;}

.footerUnder .copyright{ display: none; width: 0%; vertical-align: bottom;}
.footerUnder .ftTitle{ display: table-cell; width: 100%; text-align: center; vertical-align: bottom;}
.footerUnder .privacy{ display: none; width: 50%; vertical-align: bottom;}

.footerUnder .ftTitle img{ width: 90%;}

p.spPrivacy{ text-align: center; padding-bottom:20px; font-size: 22px; display: none;}
p.spCopy{ text-align: center;padding-bottom: 50px; font-size: 24px;}

}





/* ---------------------------------------------------------------------------------
footer */

@media(max-width:750px){

}




.underCopy{ 
	padding: 20px;font-size: 70%;
	background: #fff;
	color: #333; 
	width: 100%; text-align: center;
}


@media(max-width:750px){

}


#popupArea01{ display: none;}
#topPage #popupArea01{ display: block;}

#popupArea01{ width: 100%; position: fixed; bottom: 0; height: 110px; z-index: 100;transition: all  0.2s ease;}
#popupArea01.down{bottom: -180px;transition: all  0.5s ease;}
#popupArea01 >.inner{ width: auto;height: 110px;  max-width: 800px;margin: 0 auto; background: #fff1f4;box-sizing: border-box;
	padding: 15px 15px; display: block;position: relative;
border-radius: 15px 15px 0 0;}
#popupArea01 >.inner >.inner2{ position: relative;max-width: 1000px; margin: 0 auto;}

#popupArea01 .icon{ width: 50px; position: absolute; left: 5px;}
#popupArea01 .txtArea{ width: auto;padding: 0 60px; margin: 0 auto; text-align: center;}
#popupArea01 .txtArea .introTxt{ color: #6e3140; font-weight: 500;font-size: 24px; line-height: 1.2em;margin-bottom: 10px;}
#popupArea01 .txtArea .LinkBtn{text-align: center;}
#popupArea01 .txtArea .LinkBtn a{ display: inline-block; padding: 10px;border-radius: 8px; background: #6e3140; color: #fff; font-weight: 900;line-height: 1em; width: 600px;transition: all  0.2s ease;}
#popupArea01 .txtArea .LinkBtn a:hover{background: #93495b; }

#popupArea01 .ppcloseBtn{ position: absolute; right: 0; width: 40px; top: 0; cursor: pointer;}

/*
#popupArea01:hover{bottom: 10px;}
#popupArea01:hover .txtArea .LinkBtn a{padding: 15px;}
*/

@media(max-width:750px){

	#popupArea01{  height: 150px;}
	#popupArea01 >.inner{ height: 150px;  }
	#popupArea01 .icon{ width: 70px; position: absolute; left: 0;}
#popupArea01 .txtArea{ padding: 20px 60px 0; }
	#popupArea01 .txtArea .introTxt{ font-size: 22px; line-height: 1.3em; margin-bottom: 6px;}
	#popupArea01 .txtArea .LinkBtn a{  padding: 14px; width: 500px; font-size: 23px;}
	#popupArea01 .ppcloseBtn{ width: 80px;}

}









.lastBtnBelt{ background: #ffdcde; padding: 40px 0; text-align: center;}
.lastBtnBelt ul li {display: inline-block; margin-left: 20px;}
.lastBtnBelt ul li:first-child{margin-left: 0;}

.lastBtnBelt a{ 
	display: table; 
	background: #b5263f; 
	padding: 0 90px; 
	height: 90px; 
	border-radius: 60px; 
	color: #fff; 
	font-size: 24px; 
	font-weight: 800; 
	position: relative;
	line-height: 1.1em;
	box-sizing: border-box;
}
.lastBtnBelt a span{ 
display: inline-block; height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;}

.lastBtnBelt li.next a,
.lastBtnBelt li.prev a{ width: auto;}

.lastBtnBelt li.prev a{ background:#b5263f url(/asset/images/footer/belt_left.png) no-repeat left 20px center; background-size: 50px;padding: 0 30px 0 90px; }
.lastBtnBelt li.next a{ background:#b5263f url(/asset/images/footer/belt_right.png) no-repeat right 20px center; background-size: 50px;padding: 0 90px 0 30px;}

.lastBtnBelt li.wide a{ width: 600px;}
.lastBtnBelt li.half a{ width: 400px;}

#footerBnrArea{padding-top: 50px; padding-bottom: 50px}
#footerBnrArea ul{ text-align: center;}
#footerBnrArea ul li{width: 290px; display: inline-block;}
#footerBnrArea ul li:first-child{ margin-right: 50px;}


@media(max-width:750px){	
.lastBtnBelt{  padding: 40px 0; text-align: center;}
.lastBtnBelt a{ color: #fff; font-size: 20px;  padding: 0 60px;}
.lastBtnBelt li.prev a{ padding:0 60px 0 80px ;}
.lastBtnBelt li.next a{ padding:0 80px 0 0px ;}
.lastBtnBelt ul li { margin-left: 10px;}
.lastBtnBelt li a{width: 300px;}
.lastBtnBelt li.wide a{ width: 400px;}
.lastBtnBelt li.solo a{ width: 80%;}
.lastBtnBelt li.half a{ width: 300px;}
.lastBtnBelt li.wide.solo a{ width: 500px;}

#footerBnrArea{padding-top: 50px; padding-bottom: 0; margin-bottom: -60px;}	
	
.lastBtnBelt li.next a:before {	right: 10px;}
.lastBtnBelt li.prev a:before {	left: 10px;}

}





#CalendarArea{ background:#fef2e1 url(/asset/images/top/bg_calendar.png) repeat center top; background-size: 100px;}
#CalendarArea >.inner{width: 1000px; margin: 0 auto;padding: 70px 0;}

@media(max-width:750px){
#CalendarArea >.inner{width: auto; margin: 0 50px;padding: 80px 0;}
}

#CalendarArea >.inner >header{ margin-bottom: 30px;}
#CalendarArea >.inner >header h3{ font-size: 240%; margin-bottom: 10px;}
#CalendarArea >.inner >header p{ font-size: 20px;}

.calendars >.inner{ 
    width: auto;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    row-gap: 30px;

}

@media(max-width:750px){
.calendars >.inner{ 
    width: auto;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 30px;
    row-gap: 60px;

}

}

.calendars .oneMonth{ }
.calendars .oneMonth .calBody{background: #fff;padding: 30px; border-radius: 20px;}

.calendars .oneMonth header{text-align: center; margin-bottom: 0;}
.calendars .oneMonth header .calName{ margin-bottom: 10px; font-size:100%;}
.calendars .oneMonth header .calName span{ font-size: 300%;}


.calendars .oneMonth table{width: 100%;}

.calendars .oneMonth table thead{ color: #b9949c; border-bottom:2px solid #d98194 ;}
.calendars .oneMonth table thead th{ text-align: center;}
.calendars thead tr th{ width: 14.28%; font-weight: 900;}
.calendars thead tr th:first-child{ color: #da4465;}
.calendars thead tr th:last-child{ color: #8181d9;}


.calendars .oneMonth table tbody th,
.calendars .oneMonth table tbody td{ text-align: center; border: 1px solid #d98194; border-collapse: collapse; vertical-align: middle; position: relative; width: auto; color: #b9949c;}


.calendars .oneMonth table tbody td >.inner{width:100%;aspect-ratio: 1; position: relative; display: flex;}
.calendars .oneMonth table tbody td .day{ position: absolute; top: 4px; left: 4px; font-size: 12px; line-height: 1em;display: block; font-weight: bold;}
.calendars .oneMonth table tbody td .Mark{   text-align: center; width: 100%; height: auto;padding-top: 0; font-weight: 600; font-size: 100%; line-height: 1em; position: absolute; top: 50%; }

.calendars .oneMonth table tbody td .Mark .close{ color: #dc9ba9;}

@media(max-width:750px){

.calendars .oneMonth table tbody td .day{  top: 4px; left: 4px; font-size: 20px;}
.calendars .oneMonth table tbody td .Mark{font-size: 100%;  }
}


.calendars .oneMonth table tbody td.yasumi{ background: #f3f3f3; color: #666 !important;}

.calendars .oneMonth table tbody td:first-child{ color: #da4465; background: #ffe9ee;}
.calendars .oneMonth table tbody td:nth-child(7){ color: #8181d9; background: #d1e4f3;}

.calendars .oneMonth table tbody td.holiday{ background: #ffe3f0;}
.calendars .oneMonth table tbody td.yasumi.holiday{ background: #ebe2e6;}
.calendars .oneMonth table tbody td:first-child.holiday{ background: #ffd4e4;}
.calendars .oneMonth table tbody td:nth-child(7).holiday{ background: #a6c0f2;}


.calendars.contactPage .calBody{ background: #fcf7f8; border: 1px solid #fcded7;}



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


#snsArea{ padding: 80px 0 0;}

.snsHeader{ font-size: 25px; text-align: center; margin-bottom: 50px; color: #b5263f;}

.snsList{
    width: auto;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    row-gap: 30px;
}
.snsList.count01{
width:400px;
    grid-template-columns: repeat(1, 1fr);}
.snsList.count02{
width:600px;
    grid-template-columns: repeat(2, 1fr);}
.snsList.count03{
width:800px;
    grid-template-columns: repeat(3, 1fr);}



@media(max-width:750px){


.whiteBox.mapArea{max-width: none; margin: 0 auto 50px;}


.snsList.count01{
width:400px;
    grid-template-columns: repeat(1, 1fr);}
.snsList.count02{
width:auto;
    grid-template-columns: repeat(2, 1fr);}
.snsList.count03{
width:auto;
    grid-template-columns: repeat(3, 1fr);}

}






#CHARACTORS{margin-top: 50px; margin-bottom: 100px;text-align: center;}
#CHARACTORS p{ display: inline-block; position: relative;}

#CHARACTORS p img{width: auto; height: 170px; position: relative;transition:all 0.7s ease; top: 0;}
#CHARACTORS p img.start{ opacity: 0; transition:all 0.7s ease; top: -20px;}


@media(max-width:750px){
#CHARACTORS p{ margin-bottom: 30px;margin-right: 15px;}
#CHARACTORS p:nth-child(4n){margin-right: 0;}
}




.privacyBody{}
.privacyBody p{margin-bottom: 2em; font-size: 90%;}
.privacyBody p.intro{margin-bottom: 2em;}

.privacyBody p.ind01{padding-left: 50px;}
.privacyBody p.ind02{padding-left: 100px;}

.privacyBody h3{ margin-bottom: 20px;}

