@charset "UTF-8";
/* 赤　＝　#e50012　rgb(229,0,18) */
/* 背景　＝　#fbfaf8 */
/* ベージュ　＝　#fbe6d4　rgb(251,230,212) */
/* 黒　＝　#4d4545 */
#side-bar nav > ul > li:nth-child(7) a { background-color: #e50012; color: #fff; }

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

/*===================================================================
　↓　#introduction
===================================================================*/
#introduction .text-box { max-width: 740px; margin: auto; }

#introduction .text-box p { line-height: 2.4em; margin-bottom: 15px; }

#introduction .text-box p:last-child { margin-bottom: 0; }

#introduction .text-box p span.bold { font-weight: 700; padding: 0 3px; }

#introduction .text-box p span.under { border-bottom: 1px solid #4d4545; padding: 0 3px 2px; }

@media screen and (max-width: 640px) { #introduction .text-box p { line-height: 2.2em; } }
/*===================================================================
　↓　#about
===================================================================*/
/*----------------------------------------------
　　#about ul（フロー）
----------------------------------------------*/
#about .first-block { margin-bottom: 50px; text-align: center; }

#about .first-block p.first { text-align: left; margin-bottom: 20px; }

#about .first-block p { line-height: 2.4em; max-width: 740px; margin: auto; }

#about .first-block ol { margin: 10px auto 20px 16px; display: inline-block; text-align: left; }

#about .first-block ol li { margin-bottom: 10px; font-size: 1.6rem; list-style-type: none; }

#about .first-block ol li:last-child { margin-bottom: 0; }

#about ul { max-width: 740px; margin: auto; }

#about ul li { padding-bottom: 70px; background-image: url(../img/base/caret-down.png); background-repeat: no-repeat; background-size: 17px 9px; background-position: bottom 30px center; }

#about ul li:last-child { padding-bottom: 0; background-image: none; }

#about ul li .group-left { width: calc(50% - 10px); float: left; background-color: #fff; padding: 20px 0; text-align: center; border-radius: 10px; margin-right: 10px; }

#about ul li .group-left img { width: 160px; height: auto; }

#about ul li .group-left p { font-size: 1.2rem; font-weight: 500; }

#about ul li .group-right { width: 50%; float: right; padding-left: 10px; box-sizing: border-box; }

#about ul li .group-right h3 { margin-bottom: 15px; font-size: 1.6rem; color: #e50012; /*赤*/ font-weight: 500; }

#about ul li .group-right p { line-height: 2.2em; }

@media screen and (max-width: 640px) { #about .first-block { margin-bottom: 40px; }
  #about .first-block p { line-height: 2.2em; }
  #about .first-block ol li { margin-bottom: 5px; font-size: 1.4rem; }
  #about ul li .group-left { width: 100%; float: none; margin: auto; }
  #about ul li .group-right { width: 100%; float: none; padding: 0; margin-bottom: 10px; }
  #about ul li .group-right h3 { margin-bottom: 5px; text-align: center; } }
/*----------------------------------------------
　　#effectiveness
----------------------------------------------*/
#effectiveness { position: relative; margin-top: 80px; background-color: rgba(229, 0, 18, 0.03); padding: 30px; box-sizing: border-box; border-radius: 10px; }

#effectiveness h3 { font-size: 1.8rem; color: #e50012; font-weight: 500; position: absolute; top: -14px; left: 0; text-align: center; width: 100%; }

#effectiveness .box-wrap { display: table; max-width: 900px; margin: auto; }

#effectiveness .box-wrap .box-img { display: table-cell; width: 140px; vertical-align: middle; }

#effectiveness .box-wrap .box-img img { width: 100%; height: auto; border-radius: 50%; }

#effectiveness .box-wrap .box-text { display: table-cell; vertical-align: middle; padding-left: 25px; box-sizing: border-box; }

#effectiveness .box-wrap .box-text p { line-height: 2.2em; }

#effectiveness .box-wrap .box-text p span.under { border-bottom: 1px solid #4d4545; padding-bottom: 2px; }

@media screen and (max-width: 640px) { #effectiveness .box-wrap, #effectiveness .box-wrap .box-img, #effectiveness .box-wrap .box-text { display: block; padding: 0; }
  #effectiveness .box-wrap .box-img { width: 100px; margin: auto auto 10px; }
  #effectiveness { margin-top: 60px; padding: 30px 20px 20px; } }
/*----------------------------------------------
　　#finish
----------------------------------------------*/
#finish { max-width: 740px; margin: 60px auto 0; }

#finish p { line-height: 2.4em; margin-bottom: 15px; }

#finish p:last-child { margin: auto auto 0; }

@media screen and (max-width: 640px) { #finish { margin: 40px auto 0; }
  #finish p { line-height: 2.2em; } }
/*===================================================================
　↓　#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; } }
