@charset "utf-8";



.scrollLink {
    z-index: 999!important;
}

.spMenuHamLinkSetWr {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 8px;
}

 .hContLink03{
    height: 105px;
 }

.spMenuHamLinkBox01 {
    display: inline-block;
}

.spMenuHamLinkBox02 {
    max-width: 100%;
    width: 100%;
}

.spMenuHamNavTit {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
    padding-bottom: 24px;
    border-bottom: 1px solid #fff;
    display: block;
}

.spMenuNavLinkTit:hover {
    color: #ccc;
}

.spMenuConte02 {
    display: flex;
    align-items: stretch;
    justify-content: center;
    /* width: 1000px; */
    /* width: 100%; */
}

.spMenuBgImgBox {
    /* max-width: 884px; */
    width: 50%;
    height: 100vh;
    display: none;
    background-image: url(/system_panel/uploads/images/ham_bg.jpg);
}

.spMenuNavWr {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 0;
    height: 100vh;
    overflow-y: scroll;
    -ms-overflow-style: none;
    background-color: #770808;
}

.spMenuNavListBox {
    /* max-width: 350px; */
    width: 96%;
    margin: 0 auto;
    padding: 133px 15px;
    /* display: flex; */
    /* flex-wrap: wrap; */
}

/*--header-------------*/

.hdBtn {
    background-color: #770808;
    display: flex;
    align-items: center;
    color: #fff;
    flex-direction: column;
    height: 60px;
    position: relative;
    width: 100%;
    z-index: 999999999999;
}

.hdBtn.hdTelBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direcrion;
    flex-direction: row;
    font-size: 18px;
}


.hdBtn.hdTelBtn p {
    display: none;
}

.hdBtn.hdTelBtn:hover {
    color: #fff;
}

.hdBtn:before {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    right: 3px;
    left: 3px;
    bottom: 3px;
    border: 1px solid #fff;
}

.hItem01 {
    max-width: 430px;
    width: 55%;
}

.hLogoLink {
    display: block;
    max-width: 269px;
    width: 34.14%;
}

.hBx01 {
    width: 30%;
}

.hBx02 {
    width: 30%;
}

.hBx03 {
    width: 30%;
}

.hItem01 {
    display: flex;
    justify-content: space-between;
}

.hIn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1824px;
    width: 100%;
    margin: 0 auto;
}

.header {
    padding-top: 10px;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 99999;
    padding: 10px 10px 0 10px;
}

.scrollLink {
    position: fixed;
    right: 20px;
    bottom: 85px;
    z-index: 9;
    max-width: 114px;
    width: 10%;
}


/*-- footerまでスクロールしたら消す --*/

.is-hidden {
  visibility: hidden;
  opacity: 0;
  transition:0.5s;
}


/*--------------PCハンバーガーナビ----------------------------*/

.hPcHamBox01 {
    max-width: 40px;
    width: 100% !important;
    height: 15px;
    padding: 0px !important;
    margin: 0 auto;
    color: #fff;
    border-radius: 50%;
    opacity: 1;
    transition: all .5s;
}

.hPcHamBox01:hover {
    opacity: .7;
    transition: all .5s;
}

.hPcHamBox01 .spNavBtnBar {
    max-width: 40px !important;
    height: 15px !important;
}

.hPcHamBox01 .spNavBtnBar .spNavBtnBarItem:nth-of-type(2) {
    top: 8px;
    opacity: 0;
}

.open.hPcHamBox01 .spNavBtnBar .spNavBtnBarItem:nth-of-type(1) {
    transform: translateY(7px) rotate(-45deg);
}

.open.hPcHamBox01 .spNavBtnBar .spNavBtnBarItem:nth-of-type(3) {
    transform: translateY(-7px) rotate(45deg);
}

.hamLogoBx {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 650px;
    width: 60%;
    margin: 20px auto 0 auto;
}


.hdNavFlexBx {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    max-width: 650px;
    width: 100%;
    margin: 30px auto 0 auto;
}
.spMenuNavListSetBox:nth-child(2) {
    margin-top: 25px;
}

.hamLogoBx img {
    margin-right: 30px;
}

.spNavList01 {
    display: block;
    font-weight: 400;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.05em;
    margin-top: 16px;
    padding: 0 10px;
}

.spNavList01:hover {
    color: #ccc;
}

/* ハンバーガーメニュー */

.spNavBlock {
    flex: 1;
    display: flex;
}

.spNav {
    max-width: calc(100% - 70px);
    width: 100%;
    height: 70px;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999999;
}

.spNavArea {
	width: 100%;
	height: 100%;
	display: flex;
	background: #E1F8CC;
	border-top: 1px solid #5B4621;
}

.spNavConte-l {
	border-right: 1px solid #5B4621;
	width: 25%;
	border-right: 1px solid #5B4621;
}


.spNavConte-m {
	width: 33.3%;
	background: #485053;
}

.spNavLink {
	padding: 11px 5px 5px;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.spFa {
	font-size: 23px;
	color: #fff;
}


.spNavBtnBar {
	max-width: 36px;
	height: 20px;
	width: 100%;
	position: relative;
	margin-bottom: 7.2px;
}

.spNavBtnTxt {
	margin: 5px auto 0;
	font-size: 12px;
	color: #fff;
}

.spNavLinkTxt {
	margin: 5px auto 0;
	font-size: 10px;
	font-family: 'EB Garamond', serif;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #5B4621;
	text-align: center;
}

.hPcHamBox01 .spNavBtnBar .spNavBtnBarItem {
    background: #333;
}

.spNavBtn {
	padding: 12px 5px 5px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.spNavBtnBarItem {
	width: 100%;
	height: 1px;
	background: #fff;
	border-radius: 3px;
	position: absolute;
	left: 0;
	transition: ease .5s;
}

.hdHamTxt {
    font-size: 10px;
    line-height: 1em;
}

.spNavMainBtn {
    right: 0;
    bottom: 0;
    position: fixed;
    display: flex;
    z-index: 99999;
    background: #E1F8CC;
    width: 70px;
    height: 70px;
    border-top: 1px solid #5B4621;
}

.spNavBtnBarItem:nth-of-type(1) {
	top: 0px;
}

.spNavBtnBarItem:nth-of-type(2) {
	top: 9px;
}

.spNavBtnBarItem:nth-of-type(3) {
	bottom: 0;
}

.open .spNavBtnBarItem {
	transition: ease .5s;
	width: 90%;
}

.open .spNavBtnBarItem:nth-of-type(1) {
	transform: translateY(8px) rotate(-45deg);
}

.open .spNavBtnBarItem:nth-of-type(2) {
	opacity: 0;
}

.open .spNavBtnBarItem:nth-of-type(3) {
	transform: translateY(-11px) rotate(45deg);
}

.spMenu {
    margin: auto;
    padding: 0;
    max-width: 884px;
    width: 100%;
    position: fixed;
    right: -100%;
    background: #FDFAF2;
    z-index: 9999;
    transition: ease .5s;
    top: 0;
}

.spMenu.open {
	right: 0;
}

.spMenuArea {
	width: 100%;
	height: 100%;
}

.spMenuConte {
    padding: 90px 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -ms-overflow-style: none;
    display: flex;
    align-items: flex-start;
}

.hSpNavBox {
    max-width: 375px;
    width: 100%;
    margin: 0 auto 0 auto;
}

.spMenuConte::-webkit-scrollbar {
	display:none;
}

.spMenuLink {
	padding: 7px 5px;
	text-align: center;
	display: block;
	font-weight: bold;
	color: #485053;
	border-bottom: 1px solid #485053;
}

.spMenuLink:hover {
	color: #FFF;
	background: #485053;
}


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

.ftContHvrBtn:hover {
    background-color: #000;
    color: #fff;
}

.ftContHvrBtn:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(5%) saturate(101%) hue-rotate(249deg) brightness(117%) contrast(100%);
}

.fCalendarRow:first-child .fCalendarBx:first-child {
    color:#9E0202;
}

.fCalendarRow:first-child .fCalendarBx:last-child {
    color:#2258AA;
}

.ftCont {
    padding: 80px 15px;
    background-color: #770808;
    background-image: url(/system_panel/uploads/images/ft_cont_bg.png);
    max-width: 1100px;
    width: 96%;
    margin: 0 auto;
}

.ftContBtn {
    display: flex;
    background-color: #FFFFFF;
    justify-content: center;
    align-items: center;
    color:#770808;
    font-size: 21px;
    padding:25px 5px;
}

.ftContBtn img {
    margin-right:14.8px;
}

.ftContBtnAr {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 60px auto 0 auto;
}

.fContInner {
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
}

.ftContTit {
    text-align: center;
    font-size:25px;
}

.fCalenderCard {
    max-width: 421px;
    width: 100%;
    font-size: 13px;
    color: #333333;
    font-weight: 600;
    background-color: #fff;
    margin-top: 13px;
}

.fCalendarBx {
    width: 14.28%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12.3px;
    border-right: 1px dashed #CBCBCB;
}

.fCalendarRow {
    display: flex;
    border-bottom: 1px dashed #CBCBCB;
    flex-wrap: wrap;
}

.fCalendarRow:first-of-type {
    background-color: #CBCBCB;
}

.fCalendarRow:last-of-type {
    border-bottom: none;
}

.fCalendarRow .fCalendarBx:last-of-type {
    border-right: none;
}

.fCalendarBx.red {
    background-color: #770808;
    color: #fff;
}

.fCalendarNextBx {
    color: rgba(51, 51, 51, 0.30);
}

.fCalenderTit {
    margin: 0;
    padding: 8px;
    border-bottom: 1px solid #fff;
    margin-bottom: 40px;
    letter-spacing: 0.1em;
    font-size: 25px;
}

.fCalendarInner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.fCalendarBx02 {
    max-width: 902px;
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

.fCalenderItem {
    max-width: 423px;
    width: 100%;
    margin: auto;
}

.fCalendar {
    padding: 60px 15px;
}

.fCalendarBx03 {
    max-width: 341px;
    width: 100%;
    margin: 30px auto 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.fCalenderTimeTxt {
    font-size: 15px;
    line-height: 1.6em;
}

.fCalenderTimeFlexBx {
    display: flex;
    flex-wrap: wrap;
}

.fCalenderTime:nth-child(n+2) {
    margin: 20px auto 0 0;
}

.fCalenderTimeRedBx {
    height: 20px;
    width: 100%;
    max-width: 20px;
    background-color: #770808;
    margin: 0 10px 0 0;
}

.fCalenderTimeholidayFlexBx {
    display: flex;
    align-items: center;
    margin: 20px auto 0 auto;
}

.fMain {
    background-color: #0F0F0F;
    padding: 80px 15px;
}


.fNavLink01 {
    color: #FFFFFF;
    display: block;
    padding-bottom: 8.5px;
    border-bottom: 1px solid #fff;
}

.fNavLink02Link {
    display: block;
    color: #fff;
    margin: 12px 0px 0 0;
    padding: 0 0px;
}

.fNavLink02Link:hover {
    color: #770808;
}

.fMainTimeFlexBx {
    display: flex;
    justify-content: center;
}

.fNavLink01:hover {
    color: #770808;
}

.fLogoBx {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fSnsLink {
    margin: 15px auto 0 auto;
}

.fAdTelBx {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fAdtxt {
    text-align: center;
}

.fMainTimeBx {
    text-align: center;
    margin: 20px 0 0 0;
}

.fAdBx {
    margin: 20px 0 0 0;
}

.copy {
    text-align: center;
    font-size: 13px;
    border-top: 1px solid #fff;
    padding: 30.5px 0 0;
    margin: 40px 0 0;
}

.fMainLinkFlexBx {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.fNavLink02Bx {
    display: inline-block;
}

.fMainInner {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
}

.fMainLinkItem:first-of-type {
    max-width: 400px;
    width: 100%;
    margin-right: 20px;
}


.fNavLinkTxtOnly:hover {
    color: #fff;
}  
/*---------------------------*/


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:414px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:544px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.hItem01 {
    max-width: 430px;
    width: 40%;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 544px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.hItem01 {
    max-width: 430px;
    width: 100%;
}


.spMenuHamLinkSetWr {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 8px;
}


.spMenuNavListSetBox:first-child {
    margin-right: 20px;
    max-width: 400px;
    width: 100%;
}

.spMenuHamLinkBox02 {
    max-width: 170px;
    width: 48%;
}

.hdNavFlexBx {
    flex-direction: row;
}
  
/*  */


.hdBtn.hdTelBtn {
    font-size: 20px;
}

.hdBtn.hdTelBtn p {
    display: block;
}

.hBx01 {
    width: 58.13%;
}

.hBx02 {
    width: 18.60%;
}

.hBx03 {
    width: 18.60%;
}

.hdBtn {
    height: 80px;
}

.spMenuNavListSetBox:nth-child(2) {
    margin-top: 0px;
    max-width: 200px;
    width: 100%;
}

.scrollLink {
    width: 7%;
}


/* footer */


.ftContBtnAr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    margin: 60px auto 0 auto;
}

.fCalendarInner {
    max-width: 1520px;
    width: 100%;
    margin: auto;
}

.fCalendarBx02 {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.fCalenderTimeTxt {
    font-size: 15px;
}

.fMainBx02 {
    max-width: 569px;
    width: 100%;
    justify-content: space-between;
    margin: 30px auto 0;
}

.ftContTit {
    font-size:30px;
}

.spNavList01 {
    font-size: 16px;
}

.hdTelBtn img {
    margin: 0 8px 0 0;
}

.spMenuNavListBox {
    padding: 80px 15px;
}

.hdHamTxt {
    font-size: 12px;
}
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

  
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.spMenuNavWr {
    overflow-y: unset;
    -ms-overflow-style: none;
    max-width: 884px;
    width: 100%;
    align-items: center;
}

.spMenuBgImgBox {
    display: block;
}
  
/*  */


.hdBtn.hdTelBtn {
    font-size: 24px;
}

.header {
    padding-top: 34px;
}


/* footer */

.fMainBx02 {
    margin: 0 0 0 auto;
    max-width: 650px;
    width: 62.41%;
}

.fMainLinkItem:nth-of-type(2) {
    max-width: 200px;
    width: 30.72%;
}

.fMainInner {
    display: flex;
    justify-content: space-between;
}
    
.fAdtxt {
    text-align: left;
}

.fAdTelBx {
    justify-content: flex-start;
}

.fMainTimeBx {
    text-align: left;
}

.fMainTimeFlexBx {
    justify-content: flex-start;
}

.fLogoBx {
    flex-direction: row;
}

.fLogoBx img {
    margin-right: 40px;
} 

.fCalendar {
    padding: 100px 15px;
}
  
.fSnsLink {
    margin: 15px auto 0 0;
}
  
.tCoverTxtBx {
    max-width: 290px!important;
    width:15.10%!important;
    margin: 0 0 0 6.2%!important;
    top: 17%!important;
}

.ftContTit {
    font-size:40px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1400px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.fCalendarInner {
    flex-direction: row;
    justify-content: space-between;
}

.fCalenderTit {
    writing-mode: tb-rl;
    border-left: 1px solid #fff;
    border-bottom: 0;
    font-size: 40px;
}

.fCalendarBx02 {
    gap: 60px;
    margin: 0 0 0 130px;
}

.fCalenderTimeTxt {
    font-size: 18px;
}

.fCalenderTimeRedBx {
    max-width: 40px;
    height: 40px;
}

.fMainBx02 {
    width: 52.41%;
}

.ftContTit {
    font-size:50px;
}

.fCalendar {
    padding: 200px 15px;
}

.fCalenderTime:nth-child(n+2) {
    margin: 16px auto 0 0;
}
  
.fCalendarDay {
    font-size: 20px;
}

.fCalendarBx03 {
    margin: 0px 15px 10px auto;
}
  
.fMainTime {
    display: flex;
    justify-content: space-between;
}
  
.fMainBx01 {
    max-width: 520px;
    width: 41.93%;
}

.ftContTit {
    font-size: 50px;
}

.fCalendarBx03 {
    max-width: 372px;
    padding-left:20px;
}
  
.ftContBtn {
    font-size: 24px;
}

.copy {
    margin: 80px 0 0;
}

.hLogoLink {
    width: 14.74%;
    margin-bottom: 20px;
}
  
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1400px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
