@charset "utf-8";
/*CSSフォルダのparts.CSS　トップページ用*/

/* =============================================================

TOP

============================================================= */

/*  topFv
---------------------------------------------*/
.topFv {
  position: relative;
  width: 100%;
}


.topFv__text {
  position: absolute;
  z-index: 2;
  top: 60px;
  left: 0;
  right: 0;
  max-width: 1266px;
  margin: 0 auto;
}

.topFv__slide {
  z-index: 1;
}
/*スライド画像　2枚目が表示されないようにする*/
.topFv__slide li:not(:first-child){
      display: none;
}

.topFv__slide img {
  width: 100%;
}

/*top画像下バナー*/
.annai-banner{
    margin: 30px auto 0 auto;
    text-align: center;
}

/*.annai-banner img{
  width:100%;
}
*/

/* topMovie
-------------------------------------------
*/

.topMovie{
	width:75%;
	margin: 5px auto 0px;

	/*margin: 170px auto;*/

	/*以下追加*/
	position: relative;
height: 0;
padding: 30px 0 534px;
overflow: hidden;
	text-align: center;
}

/*ここまで*/

.topMovie .douga iframe{
	/*position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;*/


	width: 75%;
	height: 534px;
	text-align: center;

}






/*  topConcept
---------------------------------------------*/
.topConcept {
  margin: 120px 0 140px;

}

.topConcept .mainInner {
  z-index: 1;
}

.topConcept__top {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  max-width: 925px;
  margin: 0 auto 130px;
}

.topConcept__text {
  max-width: 460px;
  color: #1a1a1a;
  font-size: 1.8rem;
  line-height: 2.5;
}

.topConcept__img01,.topConcept__img001{
  max-width: 450px;
  margin: 120px 0 0;
}

.topConcept__img01,.topConcept__img001 .imgFrame {
  border-radius: 50px;
  overflow: hidden;
}

.topConcept__copy {
  position: absolute;
  z-index: 2;
  top: 285px;
  left: 0;
  max-width: 840px;
}

.topConcept__bottom {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  max-width: 1120px;
  margin: 0 auto;
}

.topConcept__img02,.topConcept__img002 {
  max-width: 347px;
}

.topConcept__img02 .imgFrame,.topConcept__img002 .imgFrame{
  border-radius: 30px;
  overflow: hidden;
}

.topConcept__img03,.topConcept__img003{
  max-width: 524px;
  margin: 30px 0 0;
}

.topConcept__img03 img,topConcept__img003 img{
  border-radius: 50px;
  overflow: hidden;
}


/*  topCourse
---------------------------------------------*/
br.br-sp{
	display: none;
}

.topCourse {
  margin: 0 0 80px;
  color: #4d4443;
  overflow-x: hidden;
}

.topCourse__title {
  margin: 0 0 55px;
  text-align: center;
}

.topCourse__titleImg {
  max-width: 396px;
  margin: 0 auto 25px;
}

.topCourse__titleEn {
  margin: 0 0 25px;
  font-size: 4.2rem;
}

.topCourse__titleJp {
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 3px;
}

.topCourse__item img {
  width: 100%;
}

.topCourse__item {
  width: 75%;
  margin: 0 0 2% auto;
}

.topCourse__item.-marriage {
  margin: 0 auto 2% 0;
}

.topCourse__item.-silver {
  margin: 0 auto 2% 0;
}

.topCourse__item -baby{
  margin: 0 auto 2% 0;
}


.topCourse__img {
  position: relative;
  z-index: 1;
  width: 100%;
}

.topCourse__img .imgFrame {
  border-radius: 160px 0 0 0;
  overflow: hidden;
}

.topCourse__item.-marriage .imgFrame {
  border-radius: 0 160px 0 0;
}

.topCourse__item.-silver .imgFrame {
  border-radius: 0 160px 0 0;
}

.topCourse__item.-baby .imgFrame{
	border-radius: 0 160px 0 0;
}

.topCourse__panel {
  position: relative;
  z-index: 2;
  max-width: 540px;
  margin: -10% auto 0 0;
  padding: 50px 170px 6% 0;
  border-radius: 0 160px 0 0;
  background: #fff;
}

.topCourse__item.-engage .topCourse__panel {
  padding: 50px 40px 6% 0;
}


.topCourse__item.-marriage .topCourse__panel {
  margin: -10% 0 0 auto;
  padding: 50px 0 6% 170px;
  border-radius: 160px 0 0 0;
}


.topCourse__item.-silver .topCourse__panel {
  margin: -10% 0 0 auto;
  padding: 50px 0 6% 170px;
  border-radius: 160px 0 0 0;
}

.topCourse__item.-baby .topCourse__panel {
  /*padding: 50px 170px 6% 0;*/
	 margin: -10% 0 0 auto;
  padding: 50px 0 6% 170px;
  border-radius: 160px 0 0 0;
}


.topCourse__block {
  position: relative;
  max-width: 375px;
  margin: 0 0 0 auto;
}

.topCourse__item.-marriage .topCourse__block {
  margin: 0 auto 0 0;
}

.topCourse__item.-engage .topCourse__block {
  max-width: 500px;
}

.topCourse__item.-silver .topCourse__block {
  margin: 0 auto 0 0;
}
.topCourse__item.-baby .topCourse__block {
  /*max-width: 500px;*/
	margin: 0 auto 0 0;
}

.topCourse__number {
  position: absolute;
  top: 10px;
  left: -145px;
}

.topCourse__item.-marriage .topCourse__number {
  left: inherit;
  right: -125px;
}

.topCourse__item.-silver .topCourse__number {
  left: inherit;
  right: -125px;
}

.topCourse__item.-baby .topCourse__number {
	 position: absolute;
  top: 10px;
  left: -145px;
/*left: inherit;
  right: -125px;*/
}


.topCourse__numberTxt {
  position: relative;
}

.topCourse__numberTxt::before {
  position: absolute;
  top: 9px;
  left: -160px;
  content: "";
  width: 145px;
  height: 1px;
  background: #4d4443;
}

.topCourse__item.-marriage .topCourse__numberTxt::before {
  left: inherit;
  right: -160px;
}

.topCourse__item.-silver .topCourse__numberTxt::before {
  left: inherit;
  right: -160px;
}

.topCourse__item.-baby .topCourse__numberTxt::before {
	/*position: absolute;
  top: 9px;
  left: -160px;
  content: "";
  width: 145px;
  height: 1px;
  background: #4d4443;*/
	left: inherit;
  right: -160px;
}

.topCourse__nameEn {
  margin: 0 0 35px;
  font-size: 3.6rem;
  text-shadow:0.3px 0.3px 0;
}

.topCourse__nameJp {
  margin: 0 0 35px;
  font-size: 2.4rem;

}

.topCourse__item.-baby
.topCourse__nameJp{
	font-size: 2.4rem;
	line-height: 1.3;
}


.topCourse__btn * {
  max-width: 280px;
}


/*  topGallery
---------------------------------------------*/
.topGallery {
  position: relative;
  z-index: 2;
  padding: 120px 0 180px;
  color: #4d4443;
}

.topGallery::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.topGallery__title {
  margin: 0 0 80px;
  text-align: center;
}

.topGallery__titleImg {
  position: relative;
  z-index: 1;
  max-width: 435px;
  margin: 0 auto -1.7%;
}

.topGallery__titleEn {
  margin: 0 0 25px;
  font-size: 4.0rem;
}

.topGallery__titleJp {
  font-size: 2.4rem;
}

.topGallery__slide .imgFrame {
  border-radius: 30px;
  overflow: hidden;
}

.topGallery__slide .imgFrame img {
  max-width: 100%;
}

.topGallery__slide .bx-pager .bx-pager-item,
.topGallery__slide .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}

.topGallery__slide .bx-wrapper .bx-controls-direction a {
  text-indent: -9999px;
}

.topGallery__slide .bx-wrapper .bx-prev {
  position: absolute;
  left: -20px;
  top: 45%;
  z-index: 99;
  width: 18px;
  height: 34px;
  background-image: url(/img/top/icon-arrow-prev.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.topGallery__slide .bx-wrapper .bx-next {
  position: absolute;
  right: -20px;
  top: 45%;
  z-index: 99;
  width: 18px;
  height: 34px;
  background-image: url(/img/top/icon-arrow-next.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.topGallery__btn {
  margin: 70px auto 0;
}

/*  topAbout
---------------------------------------------*/
.topAbout {
  position: relative;
  z-index: 3;
  padding: 210px 0 185px;
  background: #f3f1ed;
  color: #4d4443;
}

.topAbout::before {
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.topAbout__top {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  max-width: 1072px;
  margin: 0 auto 135px;
  overflow-x: hidden;
}

.topAbout__block {
  max-width: 432px;
}

.topAbout__title {
  margin: 0 0 50px;
  text-align: center;
}

.topAbout__titleImg {
  max-width: 432px;
  margin: 0 auto -7%;
}

.topAbout__titleEn {
  margin: 0 0 20px;
  font-size: 4.2rem;
}

.topAbout__titleJp {
  font-weight: 500;
  font-size: 2.4rem;
}

.topAbout__text {
  margin: 0 0 50px;
  padding: 0 30px 0 10px;
  font-size: 1.8rem;
  line-height: 2.2;
}

.topAbout__btn {
  margin: 0 auto;
}

.topAbout__btn a {

}

.topAbout__slide {
  width: 570px;
}

.topAbout__slide .imgFrame {
  border-radius: 30px;
  overflow: hidden;
}

.topAbout__slide .bx-pager .bx-pager-item,
.topAbout__slide .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}

.topAbout__slide .bx-pager {
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  margin: 30px auto 0;
  z-index: 99;
  text-align: center;
}

.topAbout__slide .bx-pager.bx-default-pager a {
  background: #fff;
  text-indent: -9999px;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  outline: 0;
  -moz-border-radius: 9px;
  -webkit-border-radius: 9px;
  border-radius: 9px;
}

.topAbout__slide .bx-pager.bx-default-pager a:hover,
.topAbout__slide .bx-pager.bx-default-pager a.active {
  background: #dab451;
}

.topAbout__slide .bx-wrapper .bx-controls-direction a {
  text-indent: -9999px;
}

.topAbout__slide .bx-wrapper .bx-prev, .topAbout__slide .bx-wrapper .bx-next {
  display: none;
}

.topAbout__list {
  max-width: 1240px;
  margin: 0 auto;
  overflow-x: hidden;
}

.topAbout__list ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.topAbout__list li {
  position: relative;
  max-width: 380px;
}

.topAbout__list .imgFrame {
  border-radius: 20px;
  overflow: hidden;
}

.topAbout__list .boxTxt {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  margin: 0 auto;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
}

.topAbout__list .boxTxt.-pt {
  padding-top: 30px;
}

.boxTxt__textEn {
  position: relative;
  z-index: 2;
  margin: 0 0 5px;
  font-size: 3.2rem;
}

.boxTxt__textEn::after {
  position: absolute;
  z-index: 1;
  content: "";
  bottom: 4px;
  left: 0;
  right: 0;
  width: 90%;
  height: 1px;
  background: #fff;
  margin: 0 auto;
}

.boxTxt__textJp {
  font-size: 1.8rem;
  line-height: 1.8;
}


/*  topNews
---------------------------------------------*/
.topNews {
  position: relative;
  z-index: 3;
  padding: 180px 0 185px;
  color: #4d4443;
}

.topNews::before {
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.topNews__title {
  margin: 0 0 70px;
  text-align: center;
}

.topNews__titleImg {
  position: relative;
  z-index: 1;
  max-width: 432px;
  margin: 0 auto -2%;
}

.topNews__titleEn {
  position: relative;
  z-index: 2;
  margin: 0 0 20px;
  font-size: 4.2rem;
  letter-spacing: -0.01em;
}

.topNews__titleJp {
  font-weight: 500;
  font-size: 2.4rem;
}

.topNews__list {
  max-width: 1240px;
  margin: 0 auto;
}


.topNews__list ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 0 -10px 70px;
}

.topNews__list ul li {
  position: relative;
  width: 33.333%;
  margin: 0 10px;
  padding: 0 20px;
}

.topNews__list ul li::before {
  position: absolute;
  content: "";
  top: 0;
  left: -10px;
  width: 1px;
  height: 100%;
  border-left: 1px dotted #5e6060;
}

.topNews__list ul li:first-child::before {
  border-left: none;
}

.topNews__img {
  margin: 0 0 25px;
}

.topNews__img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.topNews__detail {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 25px;
}

.topNews__category {
  position: relative;
  width: 195px;
  padding: 8px 0;
  background-image: url(/img/top/news-bg-category.svg);
  background-size: cover;
  color: #fff;
}

.topNews__category span {
  display: block;
  padding-left: 40px;
  font-size: 1.6rem;
  line-height: 1.2;
}

.topNews__date {
  font-size: 1.4rem;
}

.topNews__text {
  color: #1a1a1a;
  line-height: 1.8;
}

.topNews__btn {
  margin: 0 auto;
}

/*  topMessage
---------------------------------------------*/
.topMessage {
  position: relative;
  z-index: 3;
  padding: 180px 30px 185px;
  background: #f3f1ed;
  color: #4d4443;
  margin-bottom: 150px;
}

.topMessage::before {
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.topMessage__title {
  margin: 0 0 70px;
  text-align: center;
}

.topMessage__titleImg {
  position: relative;
  z-index: 1;
  max-width: 432px;
  margin: 0 auto -2%;
}

.topMessage__titleEn {
  position: relative;
  z-index: 2;
  margin: 0 0 20px;
  font-size: 4.2rem;
  letter-spacing: -0.01em;
}

.topMessage__titleJp {
  font-weight: 500;
  font-size: 2.4rem;
}

.topMessageBox {
	max-width: 1072px;
	margin: 0 auto;
	padding: 50px;
	background: #fff;
	border-radius: 5px;
	line-height: 2;
}

.topMessageBox.center {
	text-align: center;
}


/*  topSns
---------------------------------------------*/
.topSns {
  max-width: 1000px;
  margin: 0 auto 170px;
  border-radius: 30px;
  background: #f3f1ed;
  overflow: hidden;
  color: #4d4443;
}

.topSns__inner {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  padding: 70px 60px 45px;
}

.topSns__title {
  width: 350px;
  text-align: center;
}

.topSns__titleImg {
  max-width: 224px;
  margin: 0 auto 35px;
}

.topSns__titleTxt {
  font-weight: 500;
  font-size: 2.4rem;
}

.topSns__block {
  max-width: 435px;
  width: 100%;
}

.topSns__sns {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.topSns__sns .instagram {
  width: 80px;
}

.topSns__sns .facebook {
  width: 83px;
}

.topSns__sns .line {
  width: 84px;
}

.topSns__img {
  max-width: 325px;
  margin: 0 auto;
}

/* =============================================================

  About

============================================================= */
.page-about .pageTitle {
  margin: 0 0 115px;
}

/*  aboutHead
---------------------------------------------*/
.page-about .aboutHead {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  max-width: 1065px;
  margin: 0 auto 135px;
  justify-content: space-between;
  align-items: center;
  line-height: 1.5;
}

.page-about .aboutHead__title {
  width: 550px;
  font-weight: 500;
  font-size: 3.6rem;
}

.page-about .aboutHead__text {
  width: 445px;
  line-height: 2;
  letter-spacing: 0.08em;
}

/*  feature
---------------------------------------------*/
.page-about .feature {
  max-width: 1170px;
  margin: 0 auto 135px;
}

.page-about .feature__item {
  margin: 0 0 140px;
}

.page-about .feature__top {
  position: relative;
  z-index: 2;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin: 0 0 -8%;
}

.page-about .feature__item.-pattern-b .feature__top {
  flex-direction: row-reverse;
}

.page-about .feature__number {
  width: 376px;
  text-align: center;
}

.page-about .feature__numberImg {
  margin: 0 0 -10%;
}

.page-about .feature__numberTxt {
  font-size: 12.5rem;
  transform: scale(0.8, 1);
}

.page-about .feature__img {
  width: 700px;
}

.page-about .feature__img .imgFrame {
  border-radius: 40px;
  overflow: hidden;
}

.page-about .feature__panel {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto 0 0;
  padding: 50px 100px;
  border-radius: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #f3f1ed;
  line-height: 1.5;
}

.page-about .feature__item.-pattern-b .feature__panel {
  margin: 0 0 0 auto;
}

.page-about .feature__title {
  margin: 0 0 40px;
  font-size: 2.4rem;
  line-height: 1.8;
}

.page-about .feature__item.-pattern-b .feature__title {
  padding-left: 400px;
}

.page-about .feature__text {
  line-height: 2;
  letter-spacing: 0.05em;
}

.page-about .feature__link {
  margin: 30px 0 0;
}

.page-about .feature__link a {
  position: relative;
  display: block;
  margin: 0 0 10px;
  padding: 0 0 0 25px;
  color: #dab451;
  font-size: 1.8rem;
}

.page-about .feature__link span {
  display: inline-block;
  border-bottom: 1px solid #dab451;
}

.page-about .feature__link span:hover {
  border-bottom: 1px solid #f3f1ed;
}

.page-about .feature__link a::before {
  position: absolute;
  top: 30%;
  left: 0;
  width: 10px;
  height: 10px;
  content: "";
  margin: 0 auto;
  border-top: 2px solid #dab451;
  border-right: 2px solid #dab451;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all 0.2s ease;
}

/*  access
---------------------------------------------*/
.page-about .access {
  position: relative;
  padding: 150px 0 80px;
  text-align: center;
}

.page-about .access::before {
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.page-about .access__title {
  margin: 0 0 10px;
  font-size: 4.2rem;
}

.page-about .access__titleJp {
  display: inline-block;
  margin: 0 0 80px;
  font-size: 2.4rem;
}

.page-about .access__map {
  margin: 0 0 70px;
}

.page-about .access__detail {
  margin: 0 0 50px;
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.page-about .access__name {
  margin: 0 0 5px;
  font-weight: 500;
  font-size: 2.4rem;
}
.page-about .access__map iframe {
  width: 100%;
  height: 450px;
}

.page-about .access__tel {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  line-height: 1;
  margin: 10px 0 0;
}

.page-about .access__number {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 0 0 0 5px;
  padding: 0 0 0 5px;
  border-bottom: 1px solid #4d4443;
}

.page-about .access__number:hover {
  border-bottom: 1px solid #fff;
}

.page-about .access__number .icon {
  margin-right: 5px;
  padding-top: 2px;
}

.page-about .access__btn {
  margin: 0 auto;
}






/*  staff
---------------------------------------------*/
.page-about .staff {
  position: relative;
  padding: 150px 0 80px;
  text-align: center;
  max-width: 1170px;
  margin: 0 auto;
}

.page-about .staff::before {
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.page-about .staff__title {
  margin: 0 0 10px;
  font-size: 4.2rem;
}

.page-about .staff__titleJp {
  display: inline-block;
  margin: 0 0 80px;
  font-size: 2.4rem;
}

.page-about .staffList {
	display: flex;
	width: 100%;
}

.page-about .staffList li {
	display: block;
	width: 48%;
	margin-bottom: 30px;
	background: #f3f1ed;
	border-radius: 20px;
	overflow: hidden;
}

.page-about .staffList li:nth-child(odd){
	margin-right: 2%;
}

.page-about .staffList li:nth-child(even){
	margin-left: 2%;
}

.page-about .staffList li .bg {
	width: 100%;
	height: 300px;
	background: center center no-repeat;
	background-size: cover;
}

.page-about .staffList li .info {
	width: 100%;
	display: table;
	padding: 0 15px;
}

.page-about .staffList li .face {
	width: 150px;
	height: 150px;
	display: table-cell;
	vertical-align: middle;
}

.page-about .staffList li .face img {
	width: 150px;
	height: 150px;
	overflow: hidden;
	border-radius: 1000px;
	border: 10px solid  #f3f1ed;
	margin-top: -30px;
}

.page-about .staffList li .name {
	display: table-cell;
	padding-top: 40px;
	padding-left: 10px;
	text-align: left;
}

.page-about .staffList li .subTitle {
	font-size: 1.5rem;
	margin-bottom: 10px;
}

.page-about .staffList li .mainTitle {
	font-size: 2.2rem;
}

.page-about .staffList li .text {
	background: #fff;
	border-radius: 15px;
	padding: 15px;
	text-align: left;
	line-height: 1.5;
	font-size: 1.6rem;
	margin: 0 15px 15px;
}

/*  vision
---------------------------------------------*/
.page-about .vision {
  position: relative;
  padding: 150px 0 80px;
  text-align: center;
}

.page-about .vision::before {
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.page-about .vision__title {
  margin: 0 0 10px;
  font-size: 4.2rem;
}

.page-about .vision__titleJp {
  display: inline-block;
  margin: 0 0 80px;
  font-size: 2.4rem;
}

.page-about .vision .thumbnail {
	width: 100%;
}

.page-about .vision .thumbnail img {
	width: 800px;
	border-radius: 20px;
	height: auto;
}

.page-about .vision .info {
	background: #f3f1ed;
	border-radius: 20px;
	padding: 80px 40px 40px;
	margin: -40px auto 0;
	text-align: left;
	line-height: 1.5;
	max-width: 1000px;
}

.page-about .vision .catch {
  font-size: 2.8rem;
  margin-bottom: 30px;
 	text-align: center;
}

.page-about .vision .text {
	margin-bottom: 20px;
}

.page-about .vision .sign {
  font-size: 1.4rem;
	text-align: right;
}

/* =============================================================

  Access

============================================================= */
.page-access .pageTitle {
  margin: 0 0 60px;
}


/*  map
---------------------------------------------*/
.page-access .access {
  position: relative;
  margin: 0 0 130px;
  text-align: center;
}

.page-access .access__map {
  margin: 0 0 70px;
}

.page-access .access__detail {
  margin: 0 0 50px;
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.page-access .access__name {
  margin: 0 0 5px;
  font-weight: 500;
  font-size: 2.4rem;
}
.page-access .access__map iframe {
  width: 100%;
  height: 450px;
}

.page-access .access__tel {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  line-height: 1;
  margin: 10px 0 0;
}

.page-access .access__number {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 0 0 0 5px;
  padding: 0 0 0 5px;
  border-bottom: 1px solid #4d4443;
}

.page-access .access__number:hover {
  border-bottom: 1px solid #fff;
}

.page-access .access__number .icon {
  margin-right: 5px;
  padding-top: 2px;
}

.page-access .access__btn {
  margin: 0 auto;
}

/*  詳細
---------------------------------------------*/
.page-access .detail {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  max-width: 1115px;
  margin: 0 auto 130px;
  overflow: hidden;
}

.page-access .detail__block {
  position: relative;
  width: 553px;
}

.page-access .detail__img01 .imgFrame {
  border-radius: 40px;
  overflow: hidden;
}

.page-access .detail__img02 {
  margin: 80px 0 0;
}

.page-access .detail__img02 .imgFrame {
  border-radius: 30px;
  overflow: hidden;
}

.page-access .detail__text {
  width: 400px;
  font-size: 1.8rem;
  line-height: 2;
}


/*  道順
---------------------------------------------*/
.page-access .route {
  max-width: 960px;
  margin: 0 auto 120px;
}

.page-access .route__item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin: 0 0 70px;
}

.page-access .route__icon {
  width: 318px;
}

.page-access .route__text {
  width: 565px;
  padding: 30px 0 0;
  line-height: 2;
}

.page-access .route__text.-box02 {
  padding: 2px 0 0;
}

.page-access .route__text.-box03 {
  padding: 15px 0 0;
}

.page-access .route__text p {
  margin: 0 0 30px;
}

.page-access .route__text p:last-child {
  margin: 0;
}

/* =============================================================

  ニュース&コラム

============================================================= */

/*  一覧
---------------------------------------------*/
.newsArticle table{
margin-bottom:30px;
}

.page-news .newsList {
  position: relative;
  max-width: 1165px;
  margin: 0 auto 130px;
  padding: 0 0 140px;
}

.page-news .newsList::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.page-news .newsList__list ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2.8% 70px;
}

.page-news .newsList__list ul li {
  width: 33.333%;
  margin: 0 0 40px;
  padding: 0 2.8%;
}

.page-news .newsList__item {
}

.page-news .newsList__item a {
  color: #4d4443;
}

.page-news .newsList__img {
  margin: 0 0 20px;
}

.page-news .newsList__img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.page-news .newsList__category {
  margin: 0 0 20px;
}

.page-news .newsList__title {
  margin: 0 0 15px;
  font-size: 2.4rem;
  line-height: 1.5;
}

.page-news .newsList__text {
  margin: 0 0 20px;
  font-size: 1.8rem;
  line-height: 1.8;
}

.page-news .newsList__date {
  font-size: 1.4rem;
  text-align: right;
}


/* セレクトボックス */
.page-news .newsList__select {
  overflow: hidden;
  width: 340px;
  margin: 0 0 60px;
  text-align: center;
}
.page-news .newsList__select select {
  width: 100%;
  height: 50px;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  font-size: 1.8rem;
}
.page-news .newsList__select select::-ms-expand {
  display: none;
}
.page-news .newsList__select {
  position: relative;
  border-radius: 5px;
  border: 1px solid #a19999;
}
.page-news .newsList__select::before {
  position: absolute;
  content: "";
  top: 20px;
  right: 15px;
  width: 12px;
  height: 8px;
  background-image: url(/img/common/icon-select.svg);
  background-size: cover;
}
.page-news .newsList__select select {
  padding: 10px 38px 10px 20px;
  color: #4d4443;
}

/*  記事ページ
---------------------------------------------*/
.page-news .newsArticle {
  position: relative;
  max-width: 760px;
  margin: 0 auto 130px;
  padding: 160px 0 100px;
}

.page-news .newsArticle::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.page-news .newsArticle__head {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  max-width: 100%;
  justify-content: space-between;
  margin: 0 0 20px;
}

.page-news .newsArticle__date {
  font-size: 1.4rem;
}

.page-news .newsArticle__share ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.page-news .newsArticle__share ul li {
  padding-left: 20px;
}

.page-news .newsArticle__mainImg {
  margin: 0 0 30px;
}

.page-news .newsArticle__mainImg img {
  width: 100%;
  max-width: 100%;
  height: 540px;
}

.page-news .newsArticle__category {
  margin: 0 0 20px;
}

.page-news .newsArticle__title {
  margin: 0 0 40px;
  font-weight: 500;
  font-size: 4.2rem;
  line-height: 1.4;
}

.page-news .newsArticle__content {
  letter-spacing: 0.05em;
}



.page-news .newsArticle__content h1, 
.page-news .newsArticle__content h2, 
.page-news .newsArticle__content h3, 
.page-news .newsArticle__content h4 {
  font-family: "Shippori Mincho B1", serif;
} 

.page-news .newsArticle__content h2 {
  margin: 80px 0 20px;
  font-weight: 600;
  font-size: 22px;
  line-height: 1.3;
  padding-left: 16px;
  border-left: 5px solid #9F7F52;
  padding-bottom: 8px;
  border-bottom: solid 1px #DED9D5;
}

.page-news .newsArticle__content h3 {
  margin: 40px 0 20px;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.2;
  position: relative;
  padding-bottom: 8px;
}

.page-news .newsArticle__content h3::before {
  content: '';
  background-size: 8px 8px;
  background-color: #e1eef5;
  background-image: repeating-linear-gradient(-45deg, #CAAF8A 0, #CAAF8A 1px, #fff 2px, #fff 50%);
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: -4px;
  left: 0;
}

.page-news .newsArticle__content h4 {
  margin: 0 0 8px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.8;
  color: #9F7F52;
  padding-left: 16px;
  position: relative;
}

.page-news .newsArticle__content h4::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color: #9F7F52;
}

.page-news .newsArticle__content p {
  margin: 0 0 40px;
  line-height: 1.8;
}

.page-news .newsArticle__content em, .page-news .newsArticle__content b, .page-news .newsArticle__content strong {
  font-weight: bold;
}

.page-news .newsArticle__content a {
  text-decoration: underline;
  color: #4d4443;
}

.page-news .newsArticle__content p a {
  color: #199BFF;
}

.page-news .newsArticle__content a:hover {
  text-decoration: none;
}

.page-news .newsArticle__content img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  margin: 0 0 40px;
}

.page-news .newsArticle__content ul {
  margin: 0 0 40px;
  line-height: 1.8;
}

.page-news .newsArticle__content ul li {
  margin: 0 0 0 20px;
  list-style-type: disc;
}

.page-news .newsArticle__content ol {
  margin: 0 0 40px;
  line-height: 1.8;
}

.page-news .newsArticle__content ol li {
  margin: 0 0 0 20px;
  list-style-type:decimal;
}

.newsArticle .fontEnM {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
}

.newsArticle .btnMore  {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 70%;
    margin: 0 auto;
    padding: 12px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

.newsArticle .btnMore a{
    color: #dab451 !important;
    font-size: 2.2rem;
text-decoration:none !important;
margin:20px 0 0 0;
}
.newsArticle .btnMore a:hover{
    color: #fff !important;
    font-size: 2.2rem;
text-decoration:none !important;
margin:20px 0 0 0;
}


/*  関連する記事
---------------------------------------------*/
.page-news .newsRelated {
  max-width: 760px;
  margin: 0 auto 100px;
}

.page-news .newsRelated__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}

.page-news .newsRelated__titleEn {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
}

.page-news .newsRelated__titleJp {
  padding-left: 25px;
  font-size: 2.4rem;
}

.page-news .newsRelated__list {
  margin: 70px 0 0;
}

.page-news .newsRelated__list li {
  margin: 0 0 40px;
}

.page-news .newsRelated__item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.page-news .newsRelated__img {
  width: 150px;
}

.page-news .newsRelated__block {
  width: 590px;
  padding-left: 20px;
}


.page-news .newsRelated__blockTitle {
  margin: 20px 0 0;
  font-size: 1.8rem;
  line-height: 1.5;
}


/*  ランキング
---------------------------------------------*/
.page-news .newsRnking {
  max-width: 1165px;
  margin: 0 auto 130px;
}

.page-news .newsRnking.-single {
  max-width: 760px;
}

.page-news .newsRnking__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}

.page-news .newsRnking__titleEn {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
}

.page-news .newsRnking__titleJp {
  padding-left: 25px;
  font-size: 2.4rem;
}

.page-news .newsRnking__list a:hover img {
  opacity: 1;
}

.page-news .newsRnking__list {
  margin: 50px 0 0;
}

.page-news .newsRnking__list ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2% 70px;
}

.page-news .newsRnking.-single .newsRnking__list ul {
  margin: 0 -2% 70px;
}

.page-news .newsRnking__list ul li {
  width: 33.333%;
  margin: 0 0 50px;
  padding: 0 2%;
}

.page-news .newsRnking.-single .newsRnking__list ul li {
  width: 50%;
}

.page-news .newsRnking__list .newsRnking__img {
  position: relative;
  display: block;
}

.page-news .newsRnking__list .newsRnking__img::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  margin: 0;
  background: #dab451;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.0rem;
  text-align: center;
  line-height: 1.2;
}

.page-news .newsRnking__list li:nth-child(1) .newsRnking__img::before {
  content: "1";
}

.page-news .newsRnking__list li:nth-child(2) .newsRnking__img::before {
  content: "2";
}

.page-news .newsRnking__list li:nth-child(3) .newsRnking__img::before {
  content: "3";
}

.page-news .newsRnking__list li:nth-child(4) .newsRnking__img::before {
  content: "4";
}

.page-news .newsRnking__list li:nth-child(5) .newsRnking__img::before {
  content: "5";
}

.page-news .newsRnking__list li:nth-child(6) .newsRnking__img::before {
  content: "6";
}

.page-news .newsRnking__item {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}


.page-news .newsRnking__img {
  width: 100px;
}

.page-news .newsRnking__block {
  width: 255px;
  padding-left: 4%;
}


.page-news .newsRnking__blockTitle {
  margin: 10px 0 0;
  font-size: 1.8rem;
  line-height: 1.5;
}

.page-news .newsRnking__block .iconCategory a {
  color: #fff;
  font-size: 1.4rem;
}

/* 戻るボタン */
.page-news .btnNewsTop {
  max-width: 400px;
  margin: -60px auto 130px;
  text-align: center;
}

.page-news .btnNewsTop a {
  display: block;
  padding: 20px 0;
  background: #dab451;
  color: #fff;
  font-size: 2.2rem;
}


/* =============================================================

  よくある質問

============================================================= */
.page-faq {
  max-width: 865px;
  margin: 0 auto 160px;
}

.page-faq .headTxt {
  margin: 0 0 100px;
  line-height: 1.8;
}

/*  検索
---------------------------------------------*/
.page-faq .faqSearch {
  width: 100%;
  margin: 0 0 90px;
}

.page-faq .faqSearch .searchform {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 100%;
  height: 50px;
  line-height: 50px;
  margin: 0 auto;
  border-radius: 5px;
  border: 2px solid #c4c4c4;
  background: #fff;
  overflow: hidden;
}

.page-faq .faqSearch .searchform input[type="submit"] {
  width: 50px;
  height: 50px;
  border: none;
  background-color: #fff;
  background-image: url(/img/faq/icon-search.svg);
  background-repeat: no-repeat;
  background-size: 25px 25px;
  background-position: 15px 10px;
  cursor: pointer;
}

.page-faq .faqSearch .searchform input[type="text"] {
  width: 800px;
  padding-left: 10px;
  border: none;
  font-size: 1.8rem;
  line-height: 1;
}

.page-faq .faqSearch .searchform input::placeholder {
  color: #a19999;
}

.page-faq .faqSearch .searchform input:focus {
  outline: none;
}


.page-faq .faqList .result-non a {
  display: inline-block!important;
  padding: 0!important;
}

/*  Pick Up
---------------------------------------------*/
.page-faq .faqPickup__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin: 0 0 40px;
}

.page-faq .faqPickup__titleEn {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
}

.page-faq .faqPickup__titleJp {
  padding-left: 25px;
  font-size: 2.4rem;
}

/*  よくある質問検索結果
---------------------------------------------*/
.page-faq .faqResult__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin: 0 0 40px;
}

.page-faq .faqResult__titleEn {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
}

.page-faq .faqResult__titleJp {
  padding-left: 25px;
  font-size: 2.4rem;
  line-height: 1.5;
}

.page-faq .faqResult .faqList {
  margin: 0 0 120px;
}

/*  よくある質問カテゴリーリスト
---------------------------------------------*/
.page-faq .faqSearchCat {
  margin: 70px 0 140px;
}

.page-faq .faqSearchCat__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin: 0 0 40px;
}

.page-faq .faqSearchCat__titleEn {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
}

.page-faq .faqSearchCat__titleJp {
  padding-left: 25px;
  font-size: 2.4rem;
}

.faqSearchCat__list ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 -17px;
}

.faqSearchCat__list li {
  position: relative;
  width: 33.333%;
  margin: 0 0 20px;
  padding: 0 17px;
}


.faqSearchCat__list li a {
  position: relative;
  display: block;
  width: 266px;
  min-height: 62px;
  height: 100%;
  padding: 20px 30px 20px 35px;
  background-image: url(/img/faq/bg-categorylist.svg);
  background-size: cover;
  font-size: 1.65rem;
  line-height: 1.5;
}

.faqSearchCat__list li a::after {
  position: absolute;
  top: 45%;
  right: 15px;
  width: 8px;
  height: 8px;
  content: "";
  margin: 0 auto;
  border-top: 2px solid #4d4443;
  border-right: 2px solid #4d4443;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all 0.2s ease;
}


/*  よくある質問リスト
---------------------------------------------*/
.faqList li {
  position: relative;
}

.related-faq-title::before {
  content: "Q.";
  font-weight: 600;
  font-size: 18px;
  font-family: "Shippori Mincho B1", serif;
  position: absolute;
  left: 0;
}

.related-faq-title::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  background: url(../assets/img/tp/ico-arrow-thin.svg) no-repeat center center/cover;
  width: 9px;
  height: 16px;
}

.faqList a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  display: block;
  padding: 40px 0 40px 30px;
  border-bottom: none;
  width: 100%;
  margin-bottom: 0;
  font-weight: bold;
  line-height: 2em;
}

.faqList li {
  margin: 0;
  border-bottom: 1px solid #c4c4c4;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}

/*  よくある質問記事
---------------------------------------------*/
.page-faq .faqArticle__category {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 0 0 20px;
}

.page-faq .faqArticle .iconCategory {
  position: relative;
  z-index: 3;
  width: auto;
  height: 34px;
  padding: 8px 0 0;
  background: none;
  color: #fff;
}

.page-faq .faqArticle .iconCategory span::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  content: "";
  width: 27px;
  height: 34px;
  background-image: url(/img/faq/icon-category-arrow.svg);
  background-size: cover;
}

.page-faq .faqArticle .iconCategory span::after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 27px;
  content: "";
  width: calc(100% - 27px);
  height: 34px;
  background: #4d4443;
}

.page-faq .faqArticle .iconCategory span {
  display: block;
  padding-left: 35px;
  padding-right: 20px;
  font-size: 1.3rem;
}

.page-faq .faqArticle__category a {
  display: block;
  color: #fff;
}

.single-faq-content {
  position: relative;
  margin: 0 0 130px;
  padding: 0 0 120px;
}

.single-faq-content::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  width: 328px;
  height: 16px;
  margin: 0 auto;
  background-image: url(/img/common/parts-section.png);
  background-size: cover;
}

.page-faq .faqArticle__category .iconCategory {
  margin:0 20px 10px 0;
}

.page-faq .faqArticle__title {
  position: relative;
  margin: 0 0 50px;
  padding: 0 0 0 60px;
  font-size: 3.2rem;
  line-height: 1.8;
}

.page-faq .faqArticle__title::before {
  position: absolute;
  top: 8px;
  left: 0;
  content: "Q.";
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 3.6rem;
  font-style: normal;
  line-height: 1;
}

.page-faq .faqArticle__content p {
  margin: 0 0 40px;
  line-height: 1.8;
}

.page-faq .faqArticle__content em,.page-faq .faqArticle__content b {
  font-weight: bold;
}

.page-faq .faqArticle__content a {
  text-decoration: underline;
  color: #4d4443;
}

.page-faq .faqArticle__content a:hover {
  text-decoration: none;
}


/*  関連するよくある質問
---------------------------------------------*/
.page-faq .faqRelated__title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: baseline;
  margin: 0 0 40px;
}

.page-faq .faqRelated__titleEn {
  font-size: 4.2rem;
  letter-spacing: 0.02em;
}

.page-faq .faqRelated__titleJp {
  padding-left: 25px;
  font-size: 2.4rem;
  line-height: 1.5;
}

/*  よくある質問お問い合わせ
---------------------------------------------*/
.page-faq .faqContact {
  width: 100%;
  margin: 0;
  padding: 50px 20px 60px;
  background: #f3f1ed;
  text-align: center;
}

.page-faq .faqContact__title {
  margin: 0 0 20px;
  font-size: 2.4rem;
  line-height: 1.8;
}

.page-faq .faqContact__text {
  margin: 0 0 40px;
  line-height: 1.8;
}

.page-faq .faqContact__name {
  margin: 0 0 20px;
  font-size: 2.4rem;
}

.page-faq .faqContact__tel {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 20px;
}

.page-faq .faqContact__telIcon {
  width: 53px;
}

.page-faq .faqContact__telNumber {
  padding-left: 10px;
  font-size: 4.8rem;
  letter-spacing: 0.02em;
}

.page-faq .faqContact__telNumber a {
  color: #4d4443;
}

.page-faq .faqContact__time {
  margin: 0 0 40px;
}

.page-faq .faqContact__btn {
  max-width: 400px;
  margin: 0 auto;
}

.page-faq .faqContact__btn a {
  display: block;
  width: 100%;
  padding: 25px 0;
  background: #dab451;
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
}


/*  よくある質問戻るボタン
---------------------------------------------*/
.faq__btnTop {
  max-width: 400px;
  margin: 80px auto 0;
}

.faq__btnTop a {
  display: block;
  width: 100%;
  padding: 25px 0;
  background: #dab451;
  color: #fff;
  font-size: 22px;
  text-align: center;
}

/* =============================================================

  アフターケア

============================================================= */
.page-after {
  padding: 0 0 150px;
  background: #f3f1ed;
}
.page-after .after {
  max-width: 1170px;
  margin: 110px auto 0;
}

.page-after .after__headline {
  margin: 0 0 100px;
  padding-right: 100px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 2;
}

.page-after .after__content {
  margin: 0 0 130px;
}

.page-after .after__item {
  position: relative;
  z-index: 2;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.page-after .after__item.-box02 {
  margin: -120px 0 0;
}

.page-after .after__img {
  position: absolute;
  width: 700px;
}

.page-after .after__item.-box02  .after__img {
  z-index: 4;
  bottom: 0;
  right: 0;
}

.page-after .after__item.-box03  .after__img {
  top: 70px;
  left: 0;
}

.page-after .after__img .imgFrame {
  border-radius: 40px;
  overflow: hidden;
}

.page-after .after__panel {
  position: relative;
  width: 540px;
  padding: 60px;
  border-radius: 40px;
  background: #fff;
}

.page-after .after__item.-box01 .after__panel {
  margin: 60px 0 0 auto;
}

.page-after .after__item.-box02 .after__panel {
  margin: 0 auto 130px 0;
}

.page-after .after__item.-box03 .after__panel {
  margin: 190px 0 0 auto;
}

.page-after .after__title {
  margin: 0 0 20px;
  font-size: 2.4rem;
  line-height: 1.8;
}

.page-after .after__item.-box02 .after__text {
  padding-right: 70px;
}

.page-after .after__text p {
  margin: 0 0 40px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.page-after .after__text p:last-child {
  margin: 0;
}

.page-after .after__notes {
  display: block;
  margin: 0 0 10px;
  line-height: 1.8;
  font-size: 1.4rem;
}

.page-after .after__btn {
  max-width: 400px;
  margin: 0 auto;
}

.page-after .after__btn a {
  display: block;
  width: 100%;
  padding: 20px 0;
  background: #dab451;
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
}

@media screen and (max-width: 1130px){
  .page-after {
    padding: 55px 0 90px;
    background: #f3f1ed;
  }
  .page-after .after {
    max-width: 100%;
    margin: 40px auto 0;
  }

  .page-after .after__headline {
    margin: 0 0 80px;
    padding: 0 18%;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: left;
  }

  .page-after .after__content {
    margin: 0 0 70px;
  }

  .page-after .after__item {
    position: relative;
    z-index: 2;
    display: block;
    margin: 0 0 70px;
  }

  .page-after .after__item.-box02 {
    margin: 0 0 70px;
  }

  .page-after .after__item.-box03 {
    margin: 0;
  }

  .page-after .after__img {
    position: relative;
    width: 90%;
  }

  .page-after .after__img img {
    width: 100%;
  }

  .page-after .after__item.-box02 .after__img {
    z-index: 4;
    bottom: 0;
    right: 0;
    margin: 0 0 0 auto;
  }

  .page-after .after__item.-box03  .after__img {
    top: inherit;
    left: inherit;
  }

  .page-after .after__img .imgFrame {
    border-radius: 0;
    overflow: hidden;
  }

  .page-after .after__item.-box01 .after__img .imgFrame {
    border-radius: 0 20px 20px 0;
  }

  .page-after .after__item.-box02 .after__img .imgFrame {
    border-radius: 20px 0 0 20px;
  }

  .page-after .after__item.-box03 .after__img .imgFrame {
    border-radius: 0 20px 20px 0;
  }

  .page-after .after__panel {
    position: relative;
    width: 90%;
    padding: 25px 10% 25px 6%;
    border-radius: 20px 0 0 20px;
    background: #fff;
  }

  .page-after .after__item.-box01 .after__panel {
    margin: -8% 0 0 auto;
  }

  .page-after .after__item.-box02 .after__panel {
    margin: -3% auto 0 0;
    padding: 60px 6% 25px 10%;
    border-radius: 0 20px 20px 0;
  }

  .page-after .after__item.-box03 .after__panel {
    margin: -8% 0 0 auto;
  }

  .page-after .after__title {
    margin: 0 0 20px;
    line-height: 1.8;
  }

  .page-after .after__item.-box02 .after__text {
    padding-right: 0;
  }

  .page-after .after__text p {
    margin: 0 0 40px;

    line-height: 2;
    letter-spacing: 0.05em;
  }

  .page-after .after__text p:last-child {
    margin: 0;
  }

  .page-after .after__notes {
    display: block;
    margin: 0 0 10px;
    line-height: 1.8;
    font-size: 1.4rem;
  }

}

/*0215*/
.newsArticle td, th {
    border: solid 1px;
    padding: 10px;
    line-height: 1.5;
}

.newsArticle th {
    background-color: #998976;
    color: #fff;
    text-align: center;
}

/* =============================================================

  SERVICE

============================================================= */

.service{
  width: 90%;
  max-width: 1170px;
  margin: 50px auto 0;
}
.service .course__list__page {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service .course__list__page li {
  display: flex;
  flex-wrap: wrap;
  width: 48.5%;
  text-align: center;
  background: #f6f5f3;
}
.service .course__list__page li:nth-child(n+3) {
  margin-top: 30px;
}
.service .course__list__page li .image {
  width: 100%;
}
.service .course__list__page li .inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 30px;
}
.service .course__list__page li .inner h2 {
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  color: #aa823a;
}
.service .course__list__page li .inner h2 span {
  display: block;
  font-size: 34px;
  line-height: 1.0;
  letter-spacing: 0;
  margin-bottom: 15px;
font-family: 'Montserrat', sans-serif;font-weight: 600;}
.service .course__list__page li .inner .txt {
  width: 100%;
  margin: 20px 0;
  letter-spacing: normal !important;
  line-height: 1.6em;font-size: 16px;
}
.service .course__list__page li .inner .btn {
  width: 100%;
  max-width: 220px;
  margin: auto;
  background-color: transparent;
  line-height: inherit;
  height: auto;
}
.service .course__list__page li .inner .btn a {
  display: block;
  font-weight: 400;
  color: #aa823a;
  padding: 20px 10px;
  background: #fff;
}
.service .course__list__page li .inner .btn a:hover {
  color: #fff;
  background: #aa823a;
}


/* =============================================================

  Privacy

============================================================= */
.page-privacy .pageTitle {
  margin: 0 0 60px;
}

.page-privacy .privacy {
  position: relative;
  margin: 0 auto 80px;
  text-align: left;
  width: 820px;
}

.page-privacy .privacy h2{
  background-color: #A19999;
  font-size: 24px;
  padding: 20px;
  color: #fff;
  margin-bottom: 40px;
}
.page-privacy .privacy p{
  font-size: 17px;
  line-height: 1.7em;
  margin-bottom: 60px;
}
.page-privacy .privacy p:last-of-type{
  margin-bottom: 0;
}

.topVoice__titleImg {
	position: relative;
	z-index: 1;
	max-width: 432px;
	margin: 0 auto -5%;
}

@media screen and (max-width: 768px) {
	.topVoice__titleImg {
		position: relative;
		z-index: 1;
		max-width: 267px;
		margin: 0 auto -8%;
	}
}

.btnRequest {
    position: fixed;
    z-index: 100;
    right: 0;
    bottom: calc(10% + 150px);
    width: 100px;
}
.btnReserve {
    width: 100px;
}
.btnReserve img {
    width: 100%;
}
@media screen and (max-width: 768px) {
    .btnRequest {
        position: fixed;
        z-index: 100;
        right: 0;
        bottom: calc(5% + 100px);
        width: 70px;   
    }
    .btnReserve {
        width: 70px;   
    }
}

/* =============================================================

  20221007

============================================================= */

.cen {
    text-align: center!important;
}

.red {
    color: #c00;
}
/* =============================================================== */

.shopname {
    display: inline-block;
    background: #dab451;
    color: #fff;
    line-height: 1.5;
    font-size: 80%;
    padding: 0 3px 2px;
    font-weight: normal;
    border-radius: 5px;
}

.topCourse__op {
    display: inline-block;
    background: #dab451;
    color: #fff;
    line-height: 1.5;
    font-size: 1.4rem;
    padding: 0 3px 2px;
    font-weight: normal;
    border-radius: 5px;
    margin-top: 5px;
}

.ls {
    letter-spacing: -1px;
}

.courseAbout__infoBox {
    display: table;
    width: 100%;
    margin-bottom: 20px;
}

.courseAbout__name {
    display: table-cell;
    white-space: nowrap;
    line-height: 1.5!important;
}

.courseAbout__price {
    display: table-cell;
    text-align: right;
}

.nml {
    font-size: 0.9em;
}

.sml {
    font-size: 0.8em;
}

.no:before {
    display: none;
}

.footerRenew {
    padding-top: 100px;
}

.footerRenew .footer__inner {
    display: block;
    margin-bottom: 50px;
}

.footerRenew .footer__navColumnL {
    font-size: 0.8em;
    width: auto;
}

.footerRenew .footer__navColumnR {
    font-size: 0.8em;
    width: auto;
}

.footerRenew .footer__navItem ul {
    padding-left: 20px;
}

.footerRenew .footer__navItem ul li {
    list-style: disc;
    margin: 0;
}

.footerRenew .footer__navItem ul li a {
	display: inline;
}

.footerRenew .footer__nav {
     width: auto;   
}

.footerRenew .footer__information {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #666;
    padding-bottom: 50px;
    margin-bottom: 60px;
}

.footerRenew .footer__block {
     width: 50%;   
}

.footerRenew .footer__address {
    font-size: 1.4rem;
}

.footerRenew .footer__contact {
        float: left;
}

.footerRenew .footer__logo span {
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
}

.footerRenew .footer__shoplogo {
    margin-bottom: 20px;
}

.footerRenew .footer__message {
    font-size: 1.6rem;
    margin-bottom: 30px;
}

.footerRenew .footer__nav {
    border-bottom: 1px solid #666;
    padding-bottom: 50px;
    width: 100%;
    display: table;
}

.footerRenew .footer__section {
    display: table-cell;
    padding-left: 20px;
}

.footerRenew .footer__section:first-child {
    padding-left: 0;
}

.footerRenew .footer__section a {
    color: #fff;
    font-size: 1.6rem;
}

.header__logo {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.5;
}

.top-p {
    text-align: center;
}

.access_area {
    display: flex;
    max-width: 1110px;
    width: 100%;
    margin: 0 auto;
}

.accsess_box {
    width: 50%;
}

.linebox .linebox-ttl,
.telbox .telbox-ttl {
    font-size: 2rem!important;
    margin-bottom: 30px;
}

.telbox-tel.ico-free .tel::before {
  top: 5px;
  left: 3px;
  width: 34px;
  height: 22px;
  background-size: 34px 22px!important;
}
.telbox-tel.ico-tel .tel::before {
  top: 5px;
  left: 7px;
  width: 34px;
  height: 22px;
  background: url('/img/common/icon-tel.svg') no-repeat;
  background-size: auto;
  background-size: 34px 22px!important;
}

.cntPg .telbox-tel.ico-tel .tel::before { 
  top: 8px;
  left: 7px;
  width: 38px;
  height: 24px;
  background: url('/img/common/icon-tel.svg') no-repeat;
  background-size: auto;
  background-size: 38px 24px!important;	
}

.telbox .telbox-open {
    font-size: 1.4rem;
    line-height: 1.3;
}
.linebox-name {
    text-align: center;
    margin-top: 30px;
}
.linebox-name p {
    display: block;
    text-align: center!important;
}
@media screen and (max-width: 768px) {
    .before-contact  .ico-free .tel:before {
        top: 3px;
        left: -6px;  
    }
    .before-contact  .ico-tel .tel:before {
        top: 3px;
        left: -3px;  
    }
	.cntPg .telbox-tel.ico-tel .tel::before { 
		top: 2px;
		left: -5px;
	}   
}

.telbox-tel.ico-tel .tel::before {
  top: 5px;
  left: -7px;
  width: 62px;
  height: 40px;
background: url('/img/common/icon-tel.svg') no-repeat;
  background-size: auto;
  background-size: 62px 40px!important;
}


@media screen and (min-width: 769px) {
	.sp {
		display: none;	
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none;	
	}
    .topCourse__op {
        margin-top: 5px!important;   
    }
    
    .top-p {
        margin-top: 5px!important;    
    }

	.footerRenew {
		padding-top: 75px;
	}

	.footerRenew .footer__inner {
		display: block;
		margin-bottom: 50px;
	}

	.footerRenew .footer__navColumnL {
		font-size: 0.8em;
		width: auto;
	}

	.footerRenew .footer__navColumnR {
		font-size: 0.8em;
		width: auto;
	}
	
	.footerRenew .footer__navItem {
		margin: 0;
	}	

	.footerRenew .footer__navItem ul {
		padding-left: 20px;
		margin-bottom: 10px;
	}

	.footerRenew .footer__navItem ul li {
		list-style: disc;
		margin: 0;
	}

	.footerRenew .footer__nav {
		 width: auto;   
	}

	.footerRenew .footer__information {
		width: 100%;
		display: block;
		padding-bottom: 0px;
		margin-bottom: 30px;
	}

	.footerRenew .footer__block {
		width: 100%;
		display: block;
		padding-bottom: 30px;
	}

	.footerRenew .footer__address {
		font-size: 1.4rem;
	}

	.footerRenew .footer__contact {
			float: none;
	}

	.footerRenew .footer__logo {
		margin: 0 0 20px;	
	}

	.footerRenew .footer__logo span {
		margin: 0;
		padding: 0;
		font-size: 1.6rem;
	}

	.footerRenew .footer__shoplogo {
		margin-bottom: 20px;
	}
	
	.footerRenew .footer__shoplogo img {
		width: 200px;
		height: auto;	
	}	
	
	.footerRenew .footer__message {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}

	.footerRenew .footer__nav {
		border-bottom: none;
		padding-bottom: 0;
		width: 100%;
		display: block;
	}

	.footerRenew .footer__section {
		width: 100%;
		display: block;
		padding-left: 0;		
		border-bottom: 1px solid #666;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.footerRenew .footer__section:last-child {
		padding-bottom: 30px;
		margin-bottom: -20px;
	}

	.footerRenew .footer__section a {
		color: #fff;
		font-size: 1.6rem;
	}

    .telbox-tel.ico-tel .tel::before {
        top: 4px;
        left: -5px;
        width: 31px;
        height: 20px;
        background: url('/img/common/icon-tel.svg') no-repeat;
        background-size: 31px 20px!important;
    }
    .telbox .telbox-name {
        font-size: 1.6rem;
        margin-bottom: 5px;
    }
    .telbox div,
    .telbox .telbox-tel .tel {
        margin-bottom: 0px;
    }
    .telbox .telbox-tel .tel {
        margin-bottom: 5px;
    }
    .telbox .telbox-tel .tel span {
        font-size: 2.6rem;
    }
  
}

/* =============================================================

  2022.11.11

============================================================= */

.courseOutline__link a::before {
    border-color: #f06464!important;
}
.courseOutline__link a {
    color: #f06464!important;
}
.courseOutline__link span {
    border-color: #f06464!important;
}
.spMenu .spBtn.-tel * {
  background:#ab9e8e;
  color: #fff;
}
.spMenu .spBtn.-tel ::before {
  position: absolute;
  top: 50%;
  left: 7%;
  margin-top: -15px;
  content: "";
  width: 30px;
  height: 30px;
  background-image: url(/img/common/nav-icon-tel.png);
  background-size: cover;
}

.announce {
    font-size: 2rem;
    color: #c00;
    padding: 15px;
    margin-bottom: 30px;
    border: 1px solid #c00;
}

.announce p {
    text-align: center!important;
}

.topCourse__op.sapporo {
    background: #756858;
}

.shopname.sapporo {
    background: #756858;
}
.btnTop {
    z-index: 100;
    right: 20px;
    bottom: 5%;
    width: 50px;   
    position: fixed;
}
.btnTop img {
    width: 50px;
}
.btnHp {
    position: fixed;
    z-index: 100;
    right: 0;
    bottom: 15%;
    width: 200px;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);

    font-size: 14px;
    border-radius: 5px 0 0 5px;
    vertical-align: middle;
}
.btnHp img {
    width: 100%;
    height: auto;
}
.btnHp span {
    position: relative;
    display: block;
    padding-left: 20px;
    text-align: center;
}
.btnHp span:before {
    content: "";
    display: block;
    background: url(/img/common/icon_hp.png) no-repeat bottom center;
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
    position: absolute;
    top: -1px;
    left: 16px;
}




.newsList__item {
    position: relative;
}

.topNews__detail {
    position: relative;
}

.newsList__item a,
.topNews__list a {
    display: block;
}



.vcat {
    position: relative;
    font-size: 12px;
}

.vcat a {
    font-size: 12px;
    display: inline-block;
    /*background: #4d4443;*/
    background: #d2ab4f;
    margin-right: 5px;
    padding: 5px;
    color: #fff!important;
    border-radius: 5px;
}

.newsList__item .vcat {
    bottom: 17px;
    right: 0;
}

@media screen and (min-width: 769px) {
    .fixedBanner {
        display: none;   
    }
}

/* =============================================================

  Voice

============================================================= */

.page-news .voiceArticle .newsArticle__title {
    margin-bottom: 30px;
}
.newsArticle.voiceArticle {
    padding-top: 0!important;
}
 .voiceArticle .newsArticle__mainImg {
    margin-bottom: 30px!important;
}
 .voiceArticle .newsArticle__mainImg img {
    width: auto!important;
    max-width: auto!important;
    height: auto!important;
    object-fit: auto!important;
    border-radius: 25px;
}



@media screen and (max-width: 768px) {
    .voiceArticle {
        padding: 0 20px!important;
    }
    .enqueteImage {
        padding-bottom: 50px;   
    }
}
 .voiceArticle .newsArticle__label {
    width: 100%;
}

.voiceArticle .newsArticle__label .newsArticle__date {
    float: left;
    padding: 10px 0 0 20px;
    display: block;
}

.voiceArticle .newsArticle__label .topNews__category {
    float: left;
}

@media screen and (max-width: 768px) {
    .voiceArticle .newsArticle__label .newsArticle__date {
        float: left;
        padding: 5px 0 0 10px;
        display: block;
    }
    .voiceArticle .newsArticle__head {
        padding: 0!important;
    }
}

.enqueteImage li {
    width: 35%;
    display: inline-block;
    text-align: center;
    margin: 0;
    padding: 0 2%;
}

.ringWrap {
	padding: 20px;
	border: 1px solid #ccc;
	border-radius: 10px;
}

.ringCaution {
	margin-bottom: 20px!important;
}

.ringImage {
    text-align: center;
}

.ringImage li {
    width: calc(50% - 5px);
    display: inline-block;
    text-align: center;
    margin: 10px 10px 0 0;
    padding: 0;
}

.ringImage li:nth-child(1),
.ringImage li:nth-child(2){
	margin-top: 0!important;
}

.ringImage li:nth-child(2n){
    margin-right: 0;
}

.ringImage img {
    max-width: 100%;
    height: auto;
    border-radius: 25px;
}

.enqueteImage li {
	width: 89%;
}
.enqueteImage img {
    border-radius: 25px;
	border: 1px solid #eee;        
}

.voice__ttl {
	padding-top: 20px;
	text-align: left;
}

.staffWrap {
	padding: 30px;
	background: #f5f3f1;
	border-radius: 10px;
	margin-top: 30px;
}

.staffTitle {
	font-size: 20px!important;
	margin-bottom:20px!important;
}

.staffText {
	margin-bottom:0!important;
	line-height: 1.5;
}

.customerWrap {
	padding: 30px;
	background: #f5f3f1;
	border-radius: 10px;
	margin-top: 30px;
}

.customerTitle {
	font-size: 20px!important;
	margin-bottom:20px!important;
}

.customerText {
	margin-bottom:0!important;
	line-height: 1.5;
}

.paperImage {
	margin: 20px 0 0!important;
}
.paperImage li {
	margin-top: 30px;
}
.paperImage li:first-child {
	margin-top: 0!important;
}
@media screen and (max-width: 767px) {
	.entry-contents.padding-top {
		padding-top: 0!important;	
	}
	.thumbnail {
		margin-bottom:20px!important;
	}
	.ringWrap {
	padding: 20px 15px;	
	}
	.ringCaution {
		margin-bottom: 20px!important;
		font-size: 13px!important;
	}
	
	.staffWrap {
		padding: 15px;
		margin-top: 20px;
	}

	.staffTitle {
		font-size: 14px!important;
		margin-bottom: 15px!important;
	}

	.customerWrap {
		padding: 15px;
		margin-top: 20px;
	}

	.customerTitle {
	font-size: 14px!important;
		margin-bottom: 15px!important;
	}

	.paperImage {
		margin: 20px 0 0!important;
	}
	.paperImage li {
		margin-top: 20px;
	}
	
	.page-news .newsArticle::after {
	        bottom: -50px;
	   }
	   
	   .page-news .btnNewsTop {
	        margin: 100px auto 0;
	      }
	
}

/* =============================================================

  Voice/renewal

============================================================= */

.topVoiceSlick {
    margin-bottom: 50px;
    background: #f3f1ed;
    padding: 30px 0;
    
}
.topVoiceSlick .slider .slick-track{
	padding-top: 20px;	
}

.topVoiceSlick .slide {
    display: inline-block;
    margin: 0 0 0 40px;
    padding-left: 20px;
}   

.topVoiceSlick .slide .slideInner {

    border: 10px solid #fff;
    background: #ccc;
    text-align: center;
    width: 100%;
    height: 400px;
    max-width: 900px;
    box-sizing: border-box;
}   

.topVoiceSlick .slide a {
    display: table;
    width: calc(100% + 20px);
    height: 400px;
    position: relative;
    background: #fff;
    box-sizing: border-box;    
    padding: 20px;
    margin-left: -30px;
    margin-top: -30px;
}
.topVoiceSlick .slide a:hover  .image {
    opacity: 0.7;
}
.topVoiceSlick .slide a .image {
    display: table-cell;
    width: 430px;
}
.topVoiceSlick .slide a .text {
    display: table-cell;
    vertical-align: middle;
    padding: 0 30px 0 60px;
}
.topVoiceSlick .slide a .text .ttl {
    text-align: left;
    line-height: 1.5;
    margin-bottom: 15px;
    font-size: 20px;
}
.topVoiceSlick .slide a .text .nme {
    text-align: right;
    font-size: 14px;
    width: auto;
    background: url(/img/common/icon-category.svg) left center no-repeat;
    background-size: auto 100%;
    color: #fff;
    display: inline-block;
    float: right;
    padding-left: 30px;
}
.topVoiceSlick .slide a .text .nme span {
    display: block;
    background: #4d4443;
    padding: 5px 10px 5px 0;
}
@media screen and (max-width: 768px) {
	.topVoiceSlick {
		margin-bottom: 30px;
		padding: 20px 0;
	}
	.topVoiceSlick .slide {
		margin: 0 0 0 30px;
        width: 100%;
        max-width: 340px;
	}   	
	@media screen and (max-width: 360px) {
		.topVoiceSlick .slide {
    	    max-width: 320px;
		}   
	}		
	@media screen and (max-width: 340px) {
		.topVoiceSlick .slide {
    	    max-width: 300px;
		}   
	}	
	@media screen and (max-width: 320px) {
		.topVoiceSlick .slide {
    	    max-width: 280px;
		}   
	}
	
	.topVoiceSlick .slide a {
		display: block;
	    width: calc(100% + 20px);
        box-sizing: border-box;
	    margin-left: -30px;
    	margin-top: -30px;      
	}
	.topVoiceSlick .slide a .image {
		display: block;
		width: 100%;
        box-sizing: border-box;
	}
	.topVoiceSlick .slide a .image img {
	    width: 100%;
	    height: auto;   
	 }
	.topVoiceSlick .slide a .text {
		display: block;
		width:  100%;
		height: auto;
		padding: 10px;
        box-sizing: border-box;
	}
	.topVoiceSlick .slide a .text .ttl {
		text-align: left;
		line-height: 1.5;
		margin-bottom: 15px;
		font-size: 18px;
	}
	.topVoiceSlick .slide a .text .nme {
		text-align: right;
		font-size: 12px;
		width: auto;
		background: url(/img/common/icon-category.svg) left center no-repeat;
		background-size: auto 100%;
		color: #fff;
		display: inline-block;
		float: right;
		padding-left: 30px;
	}
	.topVoiceSlick .slide a .text .nme span {
		display: block;
		background: #4d4443;
		padding: 5px 10px 5px 0;
	}
	.topVoiceSlick .slick-next,	
	.topVoiceSlick .slick-prev	{
		margin-top: -40px;	
	}
}

/* =============================================================

  サイドバナー改修

============================================================= */

	.btnSideFix {
		position: fixed;
		right: 0;
		bottom: 100px;	
		z-index: 200;
	}
	.btnSideFix a {
		width: 90px;
		display: block;
		border-radius: 10px 0 0 10px;
		padding: 20px 0 20px;
		font-size: 13px;	
		margin: 5px 0;	
	}
	.btnSideFix a:hover {
		opacity: 0.9;	
	}
	.btnSideFix a img {
		width: auto;
		height: 30px;	
		margin-bottom: 5px;
	}	

	.btnReserveSml a {
		background: #dab451;
		color: #fff;
	}		
	.btnTelSml a {
		background: #817362;
		color: #fff;
	}
	.btnRequestSml a {
		background: #a09484;
		color: #fff;
	}
	@media screen and (max-width: 768px) {
		.btnSideFix a {
			width: 70px;
			display: block;
			border-radius: 10px 0 0 10px;
			padding: 15px 0 15px;
			font-size: 12px;	
			margin: 5px 0;	
		}		
		.btnSideFix a img {
			width: auto;
			height: 20px;	
			margin-bottom: 5px;
		}	
	}
	.spMenu .spBtn.-line {
		background: #cec6bd;
		border-radius: 5px;
		position: relative;
	}	
	.spMenu .spBtn.-line a {
		color: #fff!important;
	}
	.spMenu .spBtn.-line:before {
  		position: absolute;
  		top: 10px;
  		left: 7%;
 		content: "";
  		width: 30px;
  		height: 29px;
 		background-image: url(/img/common/icon_line.svg);
  		background-size: cover;
	}

/* =============================================================

  staff

============================================================= */	

  .staffList {
      flex-wrap: wrap;
    }
    .staffAll {
        padding: 0 30px;
        max-width: 1170px;
        text-align: center;   
        display: block;
        margin: 0 auto 100px;
    }
    .staffAll img {
        width: 100%;
        height: auto;   
        border-radius: 20px;
        overflow: hidden;
    }
    @media screen and (max-width: 768px) {
        .staffAll {
            padding: 0 15px;
            margin: 0 auto 75px;
        }     
    }	
    
/* =============================================================

  cta

============================================================= */	

.ctaWrp {
    padding: 50px 0 50px; 
    text-align: center;
    background: #f3f1ed;
    max-width: 1072px;
    margin: 50px auto 100px;
    border-radius: 10px;
}
.crsRsvBtn a{
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 25px 20px 25px 50px;
    border-radius: 10px;
    background: #dab451 url(/img/common/nav-icon-reserve.svg) left 15px center no-repeat;
    background-size: 30px auto;
}
.crsRsvBtn a:hover {
    opacity: 0.7;
}
.crsRsvTxt {
    margin-top: 20px;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .ctaWrp {
        padding: 25px; 
        margin: 25px 25px 50px;
    }
    .crsRsvBtn a{
        padding: 20px 15px 20px 40px;
        background: #dab451 url(/img/common/nav-icon-reserve.svg) left 10px center no-repeat;
        background-size: 20px auto;
    }
}

/* =============================================================

  top course

============================================================= */	

    .topCourseNav {
        max-width: 1072px;
        margin: 0 auto 135px;        
    }
    .topCourseNav ul {
        width: 100%;
        height: auto;
        display: flex;   
        margin: 0 auto;
        flex-wrap: wrap;
    }
    .topCourseNav ul li {
        width: 32%;
        margin-right: 2%;
        margin-bottom: 20px;
        display:table;
        border: 1px solid #dab451;
        border-radius: 7px;
    }
    .topCourseNav ul li:nth-child(3n) {
        margin-right: 0;   
    }
    .topCourseNav ul li a {
        display: table-cell;
        vertical-align: top;
        background: #dab451;
        color: #fff;
        text-align: center;
        border-radius: 7px;
        font-size: 16px;
        padding: 5px 10px 30px;
        position: relative;
        line-height: 1.3;
        border: 1px solid #fff;
    }
    .topCourseNav ul li a span.cname {
        display: block;
        background: #fff;
        color: #dab451;
        font-size: 12px;
        border-radius: 3px;
        margin-bottom: 10px;
    }    
    .topCourseNav ul li a:before {
        content: "";   
        position: absolute;
        bottom: 5px;
        left: 50%;
        line-height: 1;
        margin-left: -8px;
        font-weight: bold;
        width: 16px;
        height: 16px;
        background: url(/img/common/bt_arrow.png);
        background-size: cover;
    }
    .topCourseNav ul li a:hover {
        opacity: 0.7;   
    }
    @media screen and (min-width: 769px){
        .sp {
            display: none;   
        }
    }    
        
    @media screen and (max-width: 768px){
        .pc {
            display: none;   
        }
        .topCourseNav {        
            padding: 0 15px;
        }
        .topCourseNav ul {
            width: 100%;
        }        
        .topCourseNav ul li {
            width: 49%;
            margin-right: 2%;
            margin-bottom: 10px;
        }
        .topCourseNav ul li a {
            font-size: 12px;
        }
        .topCourseNav ul li:nth-child(2n) {
            margin-right: 0;   
        }        
        .topCourseNav ul li:nth-child(3n) {
            margin-right: auto;   
        }        
        .topCourseNav ul li a:before {
            margin-top: -3px;
            font-size: 6px;
        }
    }
    

@media screen and (min-width: 769px){
	.btnFixSP {
		display: none;	
	}
}
@media screen and (max-width: 768px){
	.footerRenew {
		padding-bottom: 100px;	
	}
	.btnFixPC {
		display: none;	
	}
	.btnFixSP {
		padding: 3px;	
		background: rgba(255,255,255,1);
	}
	.btnBtmFix {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 20;
	}
	.btnBtmFix .inner {
		border-radius: 5px;
		overflow: hidden;	
		display: flex;
		width: 100%;
	}
	.btnBtmFix a {
		margin: 0 auto;
		text-align: center;
		color: #fff;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		
	}	
	.btnBtmFix a .l {
		text-align: center;
	}
	.btnBtmFix a .l img {
		width: 16px;
		height: 16px;
		margin-top: 4px;
	}	
	.btnBtmFix a .r {
	}
	.btnBtmFix a .t01{
		font-size: 11px;
	}
	.btnBtmFix a .t02 {
		font-size: 13px;
		padding: 3px 0 4px;
	}
	.btnTelSp {
		width: 33.3%;
	}
	.btnReserveSp {
		width: 33.4%;
	}
	.btnRequestSp {
		width: 33.3%;	
	}	

	.btnReserveSp a {
		background: #dab451;
		color: #fff;
	}
	.btnReserveSp .t01 {
		background: #c99418;
		padding: 3px 0;
	}	
	
	.btnTelSp .t01 {
		background: #5d4f3f;
		padding: 3px 0;
	}	
	.btnTelSp a {
		background: #817362;
		color: #fff;
	}
	.btnRequestSp .t01 {
		background: #84796b;
		padding: 3px 0;
	}	
	.btnRequestSp a {
		background: #a09484;
		color: #fff;
	}
}    

.post-image {
    border-radius: 0!important;
}
.post-ringtype {
    background: #dab451;
    color: #fff;
    display: inline-block;
    padding: 8px;
    margin-bottom: 15px;
    font-size: 85%;
}
.post-ringtype:after {
    content: "";
    display: block;
}
.post-ringtype span {
    font-size: 75%;
}
.post-hashtag-list {
    font-size: 80%;
    line-height: 1.3;
}
.post-hashtag-list li {
    margin-top: 7px;
}
.post-hashtag-list li:before {
    content: "◆";
}
.post-design-list {
    margin-bottom: 15px;
    line-height: 1.6;
    font-size: 100%;
}








/* =============================================================

 about shop

============================================================= */	

.thumBox {
    padding: 5px 20px;
}
.thumBox li {
  padding: 5px;
}
.thumBox .slick-current img {
  border: 3px solid #4d4443
}
.thumBox li:hover {
    cursor: pointer;
    opacity: 0.7;
}
.thumBox .slick-track {
  transform: unset !important;
}
.shopBox .slick-arrow {
    display: block;
    width: 36px;
    height: 36px;
    background: #4d4443 center center no-repeat;
    text-indent: -9999px;
    border:none;    
    position: absolute;
        border-radius: 100px;
}
.shopBox .slick-arrow:hover {
    opacity: 0.7;
    cursor: pointer;
}
.shopBox .slick-prev {
    background-image: url(/img/top/slick-arrow-prev.png);
    background-size: 18px 18px;
    top: 50%;
    left: 3%;
    margin-top: -18px;
    z-index: 200;
}
.shopBox .slick-next {
    background-image: url(/img/top/slick-arrow-next.png);
    background-size: 18px 18px;
    top: 50%;
    right: 3%;
    margin-top: -18px;
    z-index: 200;
}
.shopDetail {
    margin-bottom: 80px;
}
.shopDetail:last-child {
    margin-bottom: 0px;
}
.shopTitle {
    margin: 0 0 40px;
    font-size: 2.8rem;
    text-align: left;
    background: #f3f1ed;
    padding: 10px 20px 14px;
    border-radius: 5px;
    width: 100%;
}
.shopTitle .ttl {
    display: inline-block;
}
.shopTitle a {
    display: inline-block;
    background: #fff;
    padding: 7px 24px 10px 10px;
    font-size: 1.6rem;
    border-radius: 5px;
    position: relative;
    top: -4px;
    margin-left: 10px;
    margin-bottom: -7px;
}
.shopTitle a::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 8px;
  height: 8px;
  content: "";
  margin-top: -4px;
  border-top: 2px solid #4d4443;
  border-right: 2px solid #4d4443;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all 0.2s ease;
}
.shopTitle a:hover {
    opacity: 0.7;
}

.shopInfo {
    text-align: left;
    margin-bottom: 40px;
}
.shopInfo a:hover {
    text-decoration: underline;
}
.shopBox {
    display: flex;
    widt: 100%;
    margin-bottom: 30px;
}
.shopImage {
    width: 45%;
}
.shopText {
    width: 55%;
    padding-left: 50px;
}
.shopText table {
    border: none;
    border-top: 1px solid #4d4443;
    width: 100%;
    font-size: 16px;
}
.shopText table th {
    border: none;
    border-bottom: 1px solid #4d4443;
    text-align: left;
    padding: 10px 0 10px 0;
    white-space: nowrap
}
.shopText table td {
    border: none;
    border-bottom: 1px solid #4d4443;
    text-align: left;
    padding: 10px 0 10px 20px;
    line-height: 1.5;
}
.shopText table td a {
    display: inline-block;
    background: #fff;
    padding: 3px 24px 6px 7px;
    font-size: 1.4rem;
    border-radius: 5px;
    position: relative;
    border: 1px solid #4d4443;
    margin-top: 10px;
}
.shopText table td a:hover {
    opacity: 0.7;
}
.shopText table td a::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 8px;
  height: 8px;
  content: "";
  margin-top: -5px;
  border-top: 2px solid #4d4443;
  border-right: 2px solid #4d4443;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all 0.2s ease;
}
.shopMap iframe{
    width: 100%;
    height: 350px;
}
@media screen and (max-width: 768px) {



	.shopBox .slick-prev {
		background-image: url(/img/top/slick-arrow-prev.png);
		background-size: 20px 20px;
		top: 50%;
		left: 5%;
		margin-top: -20px;
		z-index: 200;
	}
	.shopBox .slick-next {
		background-image: url(/img/top/slick-arrow-next.png);
		background-size: 20px 20px;
		top: 50%;
		right: 5%;
		margin-top: -20px;
		z-index: 200;
	}
	.shopDetail {
		margin-bottom: 40px;
	}
	.shopDetail:last-child {
		margin-bottom: 0px;
	}
	.shopTitle {
		margin: 0 0 20px;
		font-size: 2rem;
	}
	.shopTitle a {
		font-size: 1.2rem;
		top: -2px;
		padding: 8px 24px 9px 10px;
	}
    .shopTitle a::after {
        position: absolute;
        top: 50%;
        right: 6px;
        width: 6px;
        height: 6px;
        content: "";
        margin-top: -4px;
    }	
	
    .shopDetail {
		padding: 0 20px;        
    }
	.shopInfo {
		margin-bottom: 20px;
		font-size: 1.4rem;
	}
	.shopBox {
		display: block;
		width: 100%;
		margin-bottom: 30px;
	}
	.shopImage {
		display: block;
		width: 100%;
	}
	.shopText {
		display: block;
		width: 100%;
		padding: 0;
	}
	.shopText table {
		border: none;
		border-top: 1px solid #4d4443;
		width: 100%;
		font-size: 16px;
	}
	.shopText table th {
		display: block;
		width: 100%;
		    font-size: 1.4rem;
		    padding: 5px 0;
		    font-weight: bold;
	}
	.shopText table td {
		display: block;
		width: 100%;
		    font-size: 1.4rem;
		    padding: 5px 0;
	}
	.shopMap iframe{
		width: 100%;
		height: 250px;
	}
    .shopBox .slick-arrow {
        width: 29px;
        height: 29px;
        border-radius: 100px;
    }
    .shopBox .slick-prev {
        background-image: url(/img/top/slick-arrow-prev.png);
        background-size: 15px 15px;
        top: 50%;
        left: 2%;
        margin-top: -20px;
        z-index: 200;
    }
    .shopBox .slick-next {
        background-image: url(/img/top/slick-arrow-next.png);
        background-size: 15px 15px;
        top: 50%;
        right: 2%;
        margin-top: -20px;
        z-index: 200;
    }    
    .shopImage .slider img {
        width: 100%!important;   
        height: auto!important;   
    }
}

.snsOpen:hover {
	opacity: 0.7;
	cursor: pointer;
}

.topCt {
	text-align: left;
	clear: both;
	padding-top: 15px!important;
	line-height: 1.5;
}

.topCtMore {
	text-align: right;
	padding-top: 10px;
	color: #dab451;
	text-decoration: underline;
}

a:hover .topCtMore {
	text-decoration: none;
}

/* =============================================================

  instagram

============================================================= */

		.snsClose {
		    position: absolute;
		    top: 15px;
		    right: 15px;
		    z-index: 1000!important;
		    cursor: pointer;
		}
		.snsClose:hover {
		    opacity: 0.7;    
		}		
		.snsClose img {
		    width: 30px;
		    height: auto;    
		}
		.snsHead {
		    text-align: center;
            padding: 100px 0 30px;
		    width: 100%;
		}
        .snsLogo {
            margin-bottom: 5px;
        }		
		.snsLogo img {
		    width: 150px;
		    height: auto;
		 }
		 .snsInstagram {
		 	padding: 40px 0 5px;
		 }
		 .snsInstagram img {
		 	width: 36px;
		 	height: auto;
		 }		 
		 .snsTitle {
		    color: #968e8e;
		    letter-spacing: 2px;
		   }		
		.snsModal {
		    display: table;
		    position: fixed;
		    width: 100%;
		    height: 100%;
            background: #f3f1ed;
		    top: 0;
		    left: 0;
		    z-index: 1000!important;
		}		 
		.front-modal {
		    z-index: 1000000!important;
		  }
		.snsModal .inner {
		    display: table-cell;
		    vertical-align: top;
        text-align: center;
		 }		
		 .snsList  {
		     display: inline-block;
		  }		 
		 .snsList li {
		    font-size: 15px;
		    padding: 5px 0;
		    text-align: center;
		  }		 
		 .snsList li a {
		    display: table;  
		    margin: 0 auto;
		    padding: 5px;
		    border: 1px solid #ccc;
		    border-radius: 1000px;
		    background: #fff;
		    width: 100%;
		  }		   
		 .snsList li a .txt {
		    display: table-cell;
		    vertical-align: middle;  
		    line-height: 1.3;
		    text-align: left;		    
		    padding:0 20px 0 10px;
		  }	
		 .snsList li a .img {
		    display: table-cell;
		    width: 60px;  
		  }				  	  
		 .snsList .img img {
		    border-radius: 1000px;
		    width: 60px;
		    height: 60px;
		    border: 4px solid #fff;
		    filter:drop-shadow(0px 1px 1px #4e4e4e);
		 }
		@media screen and (min-width: 769px) {
			.snsList li a .txt br {
		    	display: none;
			}
			.gcLink {
				display: none;
			}
		}
		
		.gcLink {
			font-size: 12px;
			text-align: right;	
			margin-top: 15px;
			line-height: 1.3;
		}
		.gcLink a {
			text-decoration: underline;	
		}		
		.gcLink a:hover {
			text-decoration: none;	
		}	

		@media screen and (min-width: 769px) {
			.gcLink {
			}
			.imgFrameL {
				border-radius: 0 250px 0 0!important;
			}
		}			
	
		@media screen and (max-width: 768px) {
			.imgFrameR {
				border-radius: 0 50px 0 0!important;
			}
		}	
		
/* =============================================================

  ACCESS

============================================================= */

.accBtn {
    display: inline-block;
    margin: 0 auto 30px;
    text-align: center;
}
@media screen and (min-width: 769px) {
    .accBtn ul {
        display: none;   
    }
}
.accTable tr,
.accTable th,
.accTable td,
.accTable {
    border: none!important;
}
.accTable {
    width: 100%;
    margin-bottom: 30px;
}
.accTable th {
    border-bottom: 2px solid #ccc!important;
    padding: 10px 20px 10px 0;
    font-size: 18px;
    font-weight: bold;
}

.accTable td {
    border-bottom: 2px solid #ccc!important;
    padding: 10px 0;
    text-align: left;
    font-size: 16px;
    line-height: 1.4;
}
.accTable th h2 {
    font-size: 24px;
    color: #817362;
}
.accName {
    position: relative;
}
.accName a {
    display: inline-block;
    border: 2px solid #dab451;
    padding: 5px 10px;
    color: #dab451;
    position: absolute;
    right: 0;
    top: 12px;
    font-size: 14px;
    line-height: 1;
    font-weight: normal;
}
.accName a:hover {
    opacity: 0.7!important;
}
.accL {
    width: 48%;
    padding-right: 2%;
}
.accR {
    width: 48%;
    padding-left: 2%;
}
.accContact {
    background: #eee;
    padding: 20px;
}
.accContact h3 {
    margin-bottom: 10px;
    font-size: 16px;
}  
.accReserve a {
    color: #fff;
    display: block;
    padding: 22px 15px;
    background: #dab451;
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 1;
    position: relative;
}
.accReserve a:after {
    content: "＞";
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 14px;
    margin-top: -7px;
}
.accTel a {
    letter-spacing: 5px;
    color: #fff;
    display: block;
    padding: 20px 15px;
    background: #dab451;
    font-size: 24px;
    line-height: 1;
}
.accTel a:before {
    content: "";
    background: url(/img/common/nav-icon-tel.png) center bottom no-repeat;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    background-size: 24px 24px;
    margin-bottom: -2px;
}
.accReserve:hover,
.accTel:hover {
    opacity: 0.7;
}

#sapporo .accTel a:before {
     background: url(/img/about/icon-feedial_w.svg) center center no-repeat;
    display: inline-block;
    width: 24px;
    height: 24px;       
}

.mlink {
    margin-top: 10px;
}

.mlink a:before {
    content: "";
    display: inline-block;
    margin-right: 3px;
    width: 16px;
    height: 16px;
    background: url(/img/about/icon_pin_w.svg) center center no-repeat;
    background-size: cover;
    margin-bottom: -5px;
}

.mlink a {
    display: inline-block;
    background: #a09484;
    font-size: 11px;
    color: #fff;
    padding: 3px 6px 5px 3px;
    /*
    border: 1px solid #dab451;
    border-radius: 3px;
    padding: 2px 5px 4px 2px;
    color: #dab451;
    */
}

.mlink a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 1120px) {
    .access {
        margin-bottom: 0px!important;   
    }

    .accBtn {
        width: 100%;
        margin: 0 auto 30px;
        text-align: center;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .page-access .pageTitle {
        margin-bottom: 20px; 
    }
    .accBtn ul {
        display: flex;
        margin-bottom: 0px;
        width: 100%;
    }
    .accBtn li {
        width: 100%;
        display: block;
        box-sizing: border-box;
    }
    .accBtn li:nth-child(1){
        padding-right: 5px;
    }
    .accBtn li:nth-child(2){
        padding-left: 5px;
    }
    .accBtn li a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: 2px solid #dab451;
        padding: 10px 5px 20px;
        color: #dab451;
        position: relative;
    }
    .accBtn li a:hover {
        opacity: 0.7;
    }

    .accBtn li a:before {
        content: "∨";
        font-weight: bold;
        position: absolute;
        color: #dab451;
        bottom: 7px;
        left: 50%;
        margin-left: -5px;
        font-size: 10px;
    }
    .accL {
        width: 100%;
        padding-right: 0;
        margin-bottom: 60px;
    }
    .accR {
        width: 100%;
        padding-left: 0;
    }
    .access_area {
        display: block;
        padding: 0 20px;   
    }



	.accTable {
		width: 100%;
	}
	.accTable th {
		font-size: 14px;
	}

	.accTable td {
		font-size: 14px;
	}
	.accTable th h2 {
		font-size: 20px;
	}
	.accName a {
		top: 12px;
		font-size: 12px;
	}
	.accContact {
		padding: 15px;
	}
	.accContact h3 {
		margin-bottom: 10px;
		font-size: 16px;
	}  
	.accReserve a {
		padding: 20px 10px;
		margin-bottom: 30px;
		font-size: 16px;
	}
	.accReserve a:after {
		font-size: 12px;
		margin-top: -6px;
	}
	.accTel a {
		padding: 18px 5px;
		font-size: 20px;
	}
	.accTel a:before {
		content: "";
		background: url(/img/common/nav-icon-tel.png) center bottom no-repeat;
		display: inline-block;
		width: 20px;
		height: 20px;
		margin-right: 8px;
		background-size: 20px 20px;
		margin-bottom: -2px;
	}
    #sapporo .accTel a:before {
         background: url(/img/about/icon-feedial_w.svg) center center no-repeat;
        display: inline-block;
        width: 20px;
        height: 20px;       
		margin-bottom: -3px;
    }

}

/* =============================================================

  404

============================================================= */
.notfound{
  position: relative;
  margin: 0 auto;
  text-align: center;
min-height: 500px;display: flex;flex-wrap: wrap;justify-content: center;align-content: center;}
.notfound div.text{
  font-family: 'Montserrat', sans-serif;
width: 100%;}
.notfound div.text h1{font-size: 90px;}
.notfound div.text h2{font-size: 46px;}
.notfound p{width: 100%;margin: 40px 0px;line-height: 1.8em;}
.notfound div.link{margin: 0 auto;width: 400px;max-width: unset;}
.notfound div.link a{}
