@charset "UTF-8";
/* 赤　＝　#e50012　rgb(229,0,18) */
/* 背景　＝　#fbfaf8 */
/* ベージュ　＝　#fbe6d4　rgb(251,230,212) */
/* 黒　＝　#4d4545 */
.red { color: #e50012; }

#side-bar nav > ul > li:nth-child(10) a { background-color: #e50012; color: #fff; }

#side-bar nav > ul > li:nth-child(10):hover a { background-color: #e50012 !important; color: #fff !important; }

/*===================================================================
　↓　#reservation
===================================================================*/
/*----------------------------------------------
　　#first-block
----------------------------------------------*/
#reservation #first-block { text-align: center; max-width: 740px; margin: auto auto 40px; }

#reservation #first-block a { display: inline-block; line-height: 60px; padding: 0 30px; border-radius: 30px; background-color: rgba(229, 0, 18, 0.1); font-size: 2.4rem; font-weight: 700; color: #e50012; letter-spacing: 0.05em; margin: 30px auto 5px; }

#reservation #first-block a img { width: 20px; height: auto; vertical-align: middle; padding-right: 6px; }

#reservation #first-block p.text_01 { font-size: 1.8rem; }

#reservation #first-block p.text_02 { color: #e50012; margin-bottom: 30px; }

#reservation #first-block p.text_03 { text-align: left; line-height: 2.2em; }

#reservation #first-block p.text_03 span.bold { font-weight: 700; }

/*----------------------------------------------
　　.last-block
----------------------------------------------*/
#reservation .last-block { max-width: 740px; margin: auto; margin-bottom: 5em; }

.rese_box { margin: auto; max-width: 860px; width: 100%; padding: 30px; box-sizing: border-box; border: 1px solid #e50012; border-radius: 10px; /*background-image: url(../img/base/rose-pin.png),url(../img/base/rose-pin.png),url(../img/base/rose-pin.png),url(../img/base/rose-pin.png);*/ background-repeat: no-repeat; background-size: 14px; background-position: top 15px left 15px,top 15px right 15px,bottom 15px left 15px,bottom 15px right 15px; }

.rese_box h2 { font-size: 1.6rem; color: #e50012; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #eee; font-weight: 500; }

/* 枠線が赤 スタート　*/
#reservation .last-block .rese_box h2 { text-align: center; }

#reservation .last-block .rese_box h2 span { -webkit-text-emphasis: filled circle #e50012; text-emphasis: filled circle #e50012; }

#reservation .last-block .rese_box div.btn-center { margin-top: 15px; text-align: center; }

#reservation .last-block .rese_box a:not(.normal-btn) { font-weight: bold; border-bottom: 2px dotted #e50012; }

#reservation .last-block .rese_box a.normal-btn { max-width: 260px !important; }

#reservation .last-block .rese_box a.normal-btn img { width: 18px; height: auto; vertical-align: middle; padding-right: 3px; }

/*#reservation .last-block .rese_box ol { margin-left: 20px; margin-top: 20px;
}*/
#reservation .last-block ol { margin-left: 20px; margin-top: 20px; }

/*#reservation .last-block .rese_box p.title01 { margin-top: 30px;
	margin-bottom: 20px; font-size: 1.8rem; background-color: rgba(229,0,18,0.05); color: #e50012; line-height: 36px; padding-left: 15px; border-left: 8px solid #e50012; box-sizing: border-box;
}*/
#reservation .last-block p.title01 { margin-top: 30px; margin-bottom: 20px; font-size: 1.8rem; background-color: rgba(229, 0, 18, 0.05); color: #e50012; line-height: 36px; padding-left: 15px; border-left: 8px solid #e50012; box-sizing: border-box; }

/*#reservation .last-block .rese_box p.title02 { margin-top: 60px;
	margin-bottom: 20px; font-size: 1.8rem; background-color: rgba(229,0,18,0.05); color: #e50012; line-height: 36px; padding-left: 15px; border-left: 8px solid #e50012; box-sizing: border-box;
}
*/
#reservation .last-block p.title02 { margin-top: 60px; margin-bottom: 20px; font-size: 1.8rem; background-color: rgba(229, 0, 18, 0.05); color: #e50012; line-height: 36px; padding-left: 15px; border-left: 8px solid #e50012; box-sizing: border-box; }

#reservation .last-block .rese_box:last-child { margin-bottom: 30px !important; }

#reservation .last-block div.txt_c { text-align: center; }

/*　枠線が赤　終了　*/
　　 #reservation .last-block .white-item-box h2 { text-align: center; }

#reservation .last-block .white-item-box h2 span { -webkit-text-emphasis: filled circle #e50012; text-emphasis: filled circle #e50012; }

#reservation .last-block .white-item-box div.btn-center { margin-top: 15px; text-align: center; }

#reservation .last-block .white-item-box a:not(.normal-btn) { font-weight: bold; border-bottom: 2px dotted #e50012; }

#reservation .last-block .white-item-box a.normal-btn { max-width: 260px !important; }

#reservation .last-block .white-item-box a.normal-btn img { width: 18px; height: auto; vertical-align: middle; padding-right: 3px; }

#reservation .last-block .white-item-box ol { margin-left: 20px; margin-top: 20px; }

#reservation .last-block .white-item-box p.title { margin-top: 40px; font-size: 1.8rem; background-color: rgba(229, 0, 18, 0.05); color: #e50012; line-height: 36px; padding-left: 15px; border-left: 8px solid #e50012; box-sizing: border-box; }

#reservation .last-block .white-item-box:last-child { margin-bottom: 30px !important; }

#reservation .last-block div.txt_c { text-align: center; }

#reservation .last-block .yoyaku { display: inline-block; line-height: 60px; padding: 0 30px; border-radius: 30px; background-color: rgba(229, 0, 18, 0.1); font-size: 2.4rem; font-weight: 700; color: #e50012; /*赤*/ letter-spacing: 0.05em; margin: 30px auto 5px; border-bottom: none !important; }

#reservation .last-block .yoyaku img { width: 20px; height: auto; vertical-align: middle; padding-right: 6px; }

#reservation .last-block p.text_01 { font-size: 1.8rem; }

#reservation .last-block p.text_02 { color: #e50012; /*赤*/ margin-bottom: 30px; text-align: center !important; }

#reservation .last-block a.reservation { display: inline-block; line-height: 60px; padding: 0 30px; border-radius: 30px; background-color: rgba(229, 0, 18, 0.1); font-size: 2.0rem; font-weight: 700; color: #e50012; /*赤*/ letter-spacing: 0.05em; /*margin: 30px auto 5px;*/ margin: 20px 10px; border-bottom: none !important; }

#reservation .last-block a.reservation img { width: 20px; height: auto; vertical-align: middle; padding-right: 6px; }

.anchormagin { marign-top: -10px !important; padding-top: 10px; }

@media screen and (max-width: 768px) { #reservation #first-block { margin: auto auto 30px; }
  #reservation #first-block p.text_01 { font-size: 1.6rem; } }
@media screen and (max-width: 640px) { #reservation #first-block a { margin: 20px auto 5px; }
  /*　枠線が赤　スタート　*/
  　 #reservation .last-block .rese_box a.normal-btn { margin-bottom: 10px; }
  /*#reservation .last-block .rese_box p.title01 { margin-top: 20px; font-size: 1.5rem; line-height: 30px; padding-left: 10px; }	*/
  #reservation .last-block p.title01 { margin-top: 20px; font-size: 1.5rem; line-height: 30px; padding-left: 10px; }
  /*#reservation .last-block .rese_box p.title02 { margin-top: 30px; font-size: 1.5rem; line-height: 30px; padding-left: 10px; }	*/
  #reservation .last-block p.title02 { margin-top: 30px; font-size: 1.5rem; line-height: 30px; padding-left: 10px; }
  #reservation .last-block .yoyaku a { margin: 20px auto 5px; font-size: 0.8em; }
  #reservation .last-block .rese_box:last-child { margin-bottom: 20px !important; }
  　 　 #reservation .last-block .white-item-box a.normal-btn { margin-bottom: 10px; }
  #reservation .last-block .white-item-box p.title { margin-top: 30px; font-size: 1.5rem; line-height: 30px; padding-left: 10px; }
  #reservation .last-block .yoyaku a { margin: 20px auto 5px; }
  #reservation .last-block .white-item-box:last-child { margin-bottom: 20px !important; }
  #reservation .last-block a.reservation { margin: 10px auto 10px; font-size: 2.0em; padding: 0 20px; }
  .anchormagin { marign-top: -50px !important; padding-top: 50px; } }
/*===================================================================
　↓　#counseling
===================================================================*/
#counseling { padding-top: 120px !important; margin-top: -120px !important; }

/*----------------------------------------------
　　#first-text
----------------------------------------------*/
#counseling #first-text { max-width: 740px !important; margin: auto auto 30px; }

#counseling #first-text p { line-height: 2.2em; }

#counseling #first-text ul { margin: 15px auto 15px 15px; font-weight: 700; }

#counseling #first-text ul li { margin-bottom: 8px; line-height: 1.8em; }

#counseling #first-text ul li:last-child { margin-bottom: 0; }

/*----------------------------------------------
　　ul#red-list
----------------------------------------------*/
#counseling ul#red-list { max-width: 740px; margin: auto auto 40px; color: #e50012; /*赤*/ border-left: 2px solid #e50012; padding-left: 40px; box-sizing: border-box; }

#counseling ul#red-list li { line-height: 1.6em; font-size: 1.3rem; margin-bottom: 10px; list-style-type: disc; }

/*----------------------------------------------
　　.white-item-box
----------------------------------------------*/
#counseling .white-item-box { max-width: 740px !important; margin: auto; }

#counseling .white-item-box h2 { text-align: center; }

#counseling .white-item-box table { width: 100%; }

#counseling .white-item-box table th { width: 110px; }

#counseling .white-item-box table th, #counseling .white-item-box table td { vertical-align: text-top; padding-bottom: 10px; line-height: 2.2em; }

#counseling .white-item-box table th span { background-color: #e50012; /*赤*/ color: #fff; text-align: center; display: inline-block; width: 95px; }

#counseling .white-item-box table td a { border-bottom: 2px dotted #e50012; /*赤*/ font-weight: 500; padding: 0 3px; }

@media screen and (max-width: 640px) { #counseling #first-text ul { margin: 10px auto; }
  #counseling ul#red-list { margin: auto auto 30px; padding-left: 30px; }
  #counseling ul#red-list li { font-size: 1.25rem; margin-bottom: 8px; }
  #counseling .white-item-box table, #counseling .white-item-box table th, #counseling .white-item-box table td { display: block; width: 100%; padding: 0; }
  #counseling .white-item-box table th { line-height: 1.8em; }
  #counseling .white-item-box table td { padding: 5px 0 10px; line-height: 1.8em; } }
/*===================================================================
　↓　#reservation
===================================================================*/
#reservation-contact-link a { display: block; text-decoration: none; font-size: 1.6rem; color: #e50012; text-align: center; background-color: rgba(229, 0, 18, 0.05); border-radius: 10px; padding: 10px; -webkit-transition: 0.4s; -moz-transition: 0.4s; -ms-transition: 0.4s; transition: 0.4s; border-bottom: none !important; font-weight: normal !important; margin-top: 20px; }

#reservation-contact-link a:hover { background-color: rgba(229, 0, 18, 0.2); }

#reservation-contact-link a dl { display: flex; justify-content: center; align-items: center; }

#reservation-contact-link a dl dd img { width: 80px; height: auto; background-color: #fff; border-radius: 50%; vertical-align: middle; margin-right: 15px; }

#reservation-contact-link a dl dt { text-align: left; font-size: 1.8rem; }

#reservation-contact-link a dl dt span.bold { font-weight: 700; }

#reservation .white-item-box ul { margin-left: 15px; }

#reservation .white-item-box ul li { list-style-type: disc; }

@media screen and (max-width: 768px) { #reservation-contact-link a dl dd img { width: 60px; }
  #reservation-contact-link a dl dt { font-size: 1.6rem; } }
@media screen and (max-width: 640px) { #reservation-contact-link a dl dd img { width: 40px; } }
/*----------------------------------------------
　　#tab-btn
----------------------------------------------*/
#reservation #tab-btn { margin-top: 70px; margin-bottom: 70px; display: flex; justify-content: space-between; }
#reservation #tab-btn li { width: 20%; width: -webkit-calc(20% - 2px); width: calc(20% - 2px); padding: 0 0 2px; box-sizing: border-box; }
#reservation #tab-btn li:last-of-type { display: none; }
#reservation #tab-btn li a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background-color: rgba(229, 0, 18, 0.1); text-align: center; font-size: 1.6rem; border-radius: 5px; padding: 0.5em; box-sizing: border-box; }
#reservation #tab-btn li a.active { color: #fff; background-color: #e50012; /*赤*/ }
@media screen and (max-width: 1580px) { #reservation #tab-btn { flex-wrap: wrap; }
  #reservation #tab-btn li { width: 33.3333%; width: -webkit-calc(33.3333% - 2px); width: calc(33.3333% - 2px); }
  #reservation #tab-btn li:last-of-type { display: list-item; }
  #reservation #tab-btn li a br { display: none; } }
@media screen and (max-width: 640px) { #reservation #tab-btn { margin-top: 40px; margin-bottom: 40px; }
  #reservation #tab-btn li { width: 50%; width: -webkit-calc(50% - 1px); width: calc(50% - 1px); }
  #reservation #tab-btn li a { font-size: 1.1rem; } }

@-webkit-keyframes modify { 0% { padding-top: 90px; margin-top: -90px; }
  100% { padding-top: 0; margin-top: 0; } }
@keyframes modify { 0% { padding-top: 90px; margin-top: -90px; }
  100% { padding-top: 0; margin-top: 0; } }
.anc_wrap:target { -webkit-animation: modify 0.1s; animation: modify 0.1s; }

/*===================================================================
　↓　#info
===================================================================*/
#info #box-wrap { display: table; margin: auto; }

#info #box-wrap .box-left { display: table-cell; width: 280px; padding-right: 40px; box-sizing: border-box; vertical-align: middle; }

#info #box-wrap .box-left img { height: 114px; width: auto; }

#info #box-wrap .box-right { display: table-cell; }

#info #box-wrap .box-right p { margin-top: 8px; line-height: 1.8em; }

#info #box-wrap .box-right p span { font-size: 1.6rem; font-weight: 500; }

#info #box-wrap .box-right p a { color: #4d4545; border-bottom: 1px dotted #e50012; }

#info #box-wrap .box-right p a:hover { color: #4d4545; border-bottom: 1px solid #e50012; }

#info ul { margin-top: 25px; }

#info ul li { text-align: center; margin-bottom: 8px; font-size: 1.5rem; list-style: none !important; }

#info ul li:last-child { margin-top: 20px; color: #e50012; font-size: 1.6rem !important; font-weight: 500; }

#info ul li a { display: inline-block; line-height: 40px; padding: 0 30px; border-radius: 30px; background-color: #fce5e7; font-size: 1.4rem; font-weight: 700; color: #e50012; letter-spacing: 0.05em; margin-top: 5px; }

#info ul li a img { width: 20px; height: auto; vertical-align: middle; padding-right: 6px; }

#info ul li a img.mail { width: 100%; max-width: 437px; }

@media screen and (max-width: 640px) { #info #box-wrap, #info #box-wrap .box-left, #info #box-wrap .box-right { display: block; width: 100%; padding: 0; }
  #info #box-wrap .box-left { text-align: center; }
  #info #box-wrap .box-left img { height: 50px; }
  #info #box-wrap .box-right p { text-align: center; }
  #info ul li { font-size: 1rem; } }
