/* 下層ページ */
.pankuzu {
	background: #e5e6e2;
	padding: 8px 0;
	font-size: 1.3rem;
	color: #333;
  margin-bottom: 80px;
}
.pankuzu_02 {
	background: #e5e6e2;
	padding: 8px 0;
	font-size: 1.3rem;
	color: #333;
}
.wrapper {
  margin-top: 80px;
}
.page_top_view {
  background: #fff;
}
.page_top_view img.page_top {
	margin: 0 auto;
  width: 100%;
  height: auto;
  max-height: 550px;
  object-fit: cover;
}
.page_top_view img.page_top_single {
	margin: 0 auto;
  width: 100%;
  height: 320px;
  max-height: 550px;
  object-fit: cover;
}

.ttl_area {
	text-align: center;
}
.ttl_area h2 {
	padding: 32px 0 24px;
}
.ttl_area .en {
	color: #3971b5;
}
.ttl_area p.msg {
	margin-top: 50px;
	font-size: 1.6rem;
}

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
.wrapper {
  margin-top:0;
}
.page_top_view {
  padding-bottom: 0;
}
.page_top_view img.page_top {
  height: 320px;
}
.page_top_view img.page_top_single {
  height: 240px;
}

}/*END*/


/*ニュース新着一覧-----archive.php*/
.news_list li {
  padding: 30px 15px;
  border-bottom: #999 1px dotted;
  display: flex;
}
.news_list li:first-child {
  border-top: #999 1px solid;
}
.news_list li:last-child {
  border-bottom: #999 1px solid;
  margin-bottom: 60px;
}
.news_list li .cate {
  margin: 0 20px;
}

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
	.news_list li .cate {
	  width: 180px;
		margin: 0 0 0 20px;
	}
}/*END*/


/*ニュースカテゴリ一覧-----taxonomy.php*/
.news_list li p.date {
  width: 100px;
}
/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
}/*END*/


/*ニュースシングルページ*/
.news_bk {
  background: #f8f8f7;
  padding: 60px 0;
}
.news_bk img {
  width: 100%;
  height: auto;
  }
.news_bk h2 {padding: 20px;}
.news_bk p.date {padding-top: 20px;}
.news_news_list {text-align: center;}
/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
.article_content {padding: 0 0 30px;}
}/*END*/


/*グループ施設・関連施設一覧-----archive-resort_glamping.php*/
.resort_glamping_back {
  background: #f8f8f7;
  padding-top: 40px;
  padding-bottom: 60px;
}
.resort_glamping_list {
  display: flex;
  justify-content: center;
}
.resort_glamping_list li {
  margin-right: 1px;
  margin: 60px 0.5px 40px;
  background: #3971b5;
  width: 300px;
  text-align: center;
}
.resort_glamping_list li a {
  color: #fff;
  display: block;
  padding: 10px 0;
}
.resort_glamping_list li a:hover {
  color: #222;
  background: #dbdcd7;
}
.resort_glamping_list li:last-child {
  margin-right: 0;
}
.resort_glamping_content > ul > li{
  background: #fff;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
.resort_glamping_content .slider--box .rg-group {
  position: relative;
}
.resort_glamping_content .slider--box .rg-group img {
  width: 140px;
  height: auto;
  position: absolute;
  bottom: 30px;
  right: 0;
  padding: 5px;
  background-color: #fff;
}
.slider--box li img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}
.resort_glamping_content__ttl h3 {
  font-size: 18px;
  font-weight: bold;
}
.resort_glamping_content__ttl p.rg_name_en {
  font-size: 12px;
  color: #3971b5;
  padding-top: 12px;
}
.resort_glamping_content__ttl p.rg_text {
  padding: 10px 0;
  font-size: 14px;
}
.resort_glamping_content__grey {
  background: #f8f8f7;
}
.resort_glamping_content__grey dl {
  padding: 10px;
  display:flex;
  flex-wrap: wrap;
}
.resort_glamping_content__grey dt {
 font-weight: bold;
  width: 20%;
  box-sizing: border-box;
  margin-bottom: 16px;
}
.resort_glamping_content__grey dd {
  width: 80%;
  box-sizing: border-box;
  margin-bottom: 16px;
}
.resort_glamping_content__grey dt:last-child {
  margin-bottom: 0;
}
.resort_glamping_content__grey dd:last-child {
  margin-bottom: 0;
}
.rg_btn {
  text-align: center;
  padding: 10px 0;
  max-width: 260px;
  border: 1px #ccc solid;
  margin-top: 5px;
  background: #fff;
}
.rg_tag p {
  padding: 14px 0 0;
  font-weight: bold;
}
.rg_tag a.conma:last-of-type {
  display: none;
}
.rg_tag p a {
  color: #4a6255;
}
.rg_cat p {
  padding: 14px 0 0;
}
.rg_cat p a {
  color: #fff;
  padding: 5px 10px;
  background: #4a6255;
  margin: 10px;
  border-radius: 20px;
}
.rg_cat p a:first-child {
  margin-left: 0;
}
.rg-bnr {
  width: 100%;
  margin: 40px auto;
  position: relative;
}
.rg-bnr img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.bk_black {
  width: 100%;
  height: 200px;
  margin: 0 auto;
  background: rgba(53,55,47,0.6);
  position: absolute;
  top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.rg-bnr-logo {width: 100%;}
.rg-bnr img.rg-bnr-logo {
  width: 300px;
  height: auto;
  position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.rg-text {
  min-width: 300px;
  position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  color: #fff;
  line-height: 1.2;
  font-size: 14px;
}


/*PC*/
@media screen and (min-width: 897px) {
  .resort_glamping_back {
    padding-bottom: 60px;
  }
  .slider--box li img {
    height: 400px;
  }
  .resort_glamping_content .slider--box .rg-group img {
    right: 54%;
  }
  .resort_glamping_content__ttl {
    width: 45%;
    float: right;
    margin-top: -430px;
  }
  .resort_glamping_content__ttl h3 {
    font-size: 22px;
    padding: 30px 0 0;
  }
  .resort_glamping_content__grey {
    line-height: 1;
}
  .resort_glamping_content > ul > li {
    padding: 0;
    margin: 0;
  }
  .rg_btn {
    margin-top: 0;
  }
  .rg-bnr {
    width: 100%;
    margin: 80px auto;
  }
  .rg-bnr img {
    width: 100%;
    height: 300px;
    object-fit: cover;
  }
  .bk_black {
    height: 300px;
  }
  .rg-bnr img.rg-bnr-logo {
    width: 800px;
      top: 40%;
  }
  .rg-text {
    width: 800px;
    font-size: 16px;
    line-height: normal;
  }

}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
}/*END*/




/*アクティビティコンテンツ一覧*/
.pickup_list {
  background: #f8f8f7;
  padding: 80px 0;
}
.pickup_list h2 {
  margin-bottom: 30px;
}
.pickup_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 30px 0;
}
.pickup_list ul li {
  width: 31%;
  height: auto;
  margin: 30px 1.1%;
  text-align: left;
  background: #f8f8f7;
}
.pickup_list ul li .p-plan__desc {
  padding: 10px 20px 20px;
}
.pickup_list ul li h3 {
  padding: 20px 20px 10px;
  text-align: left;
  font-size: 18px;
  font-weight: bold;
}
.pickup_list p.pickup_img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.pickup_list p.pickup_text {
  padding: 0 20px 30px;
}

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
  .pickup_list {margin-top: 30px;}
   .pickup_list ul {
    padding: 0 0;
  }
  .pickup_list ul li {
  width: 100%;
}
}/*END*/

/*PC幅広*/
@media screen and (min-width:1800px) {
  .pickup_list ul li {
  margin: 30px 20px;
}
.pickup_list p.pickup_img img {
  width: 100%;
  height: 370px;
  object-fit: cover;
}
}


/*アクティビティコンテンツ　シングル*/
.pickup_bk {
  background: #f8f8f7;
  padding: 60px 0;
}
.content_box {
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  padding: 0 50px 100px!important;
}
.content_box h2 {
  padding: 60px 20px 50px;
}
.content_box img {
  max-width: 100%;
  width: 80%;
  height: auto;
  object-fit: cover;
  padding-top: 20px;
  margin: 0 auto;
}
.content_width {
 padding: 0 50px;
}
.content_width p {
 padding-bottom: 60px;
}
.table-dot {
	font-size: 1.5rem;
	border-bottom: #999 1px dotted;
	padding: 1em;
}
.table-dot:first-of-type {
	border-top: #999 1px solid;
}
.table-dot:last-of-type {
	border-bottom: #999 1px solid;
  margin-bottom: 60px;
}
.table-dot dt {
	width: 190px;
}

.table-dot dd {
	width: calc(100% - 190px);
  margin-left: 190px;
  margin-top: -15px;
}

.googlemap iframe {width: 100%;}
.pickup_list h2.pickup_single {margin-bottom: 0;}

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width: 896px) {
  .content_box {
    padding: 3% 3%!important;
    /*margin: 3%;*/
  }
  .content_box h2 {
    padding: 30px 10px 20px;
  }
  .content_box img {
    max-width: 100%;
    width: 100%;
  }
  .content_width {
    padding: 0;
  }
	.table-dot {
		font-size: 1.3rem;
		padding: 20px 4%;
	}
  .table-dot:last-of-type {
    margin-bottom: 20px;
}
	.table-dot dt {
		width: 100px;
	}
	.table-dot dd {
		margin-left: 100px;
    width: 70%;
	}
 
  .googlemap iframe {height: 260px;}
}/*END*/
@media screen and (min-width:1800px) {
  .content_box {
    max-width: 1640px;
  }
}


/*プラン一覧*/
.plan_list {
  background: #f8f8f7;
}
.plan_list h2 {
  margin-bottom: 30px;
}
.plan_list ul {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0;
}
.plan_list ul li {
  width: 23%;
  height: auto;
  margin: 30px 1%;
  text-align: left;
  background: #fff;
}
.plan_list ul li img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.plan_list ul li .p-plan__desc {
  padding: 10px 20px 20px;
}
.p-plan_cat {
  display: flex;
}
.p-plan_cat p {
  padding: 4px 16px;
  border: 1px solid #999;
  border-radius: 18px;
  margin: 10px 0 20px 20px;
}
.plan_list ul li h3 {
  padding: 20px 20px 10px;
  text-align: left;
  font-size: 18px;
  font-weight: bold;
}
.plan_list ul li .p-plan__img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.plan_list p.pickup_text {
  padding: 0 20px 30px;
}

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
   .plan_list {margin-top: 30px;}
   .plan_list ul {
    padding: 0 0;
  }
   .plan_list ul li {
    width: 100%;
    margin: 0 0 20px;
  }
  .p-plan_cat p {
    padding: 4px 16px;
    border: 1px solid #999;
    border-radius: 18px;
    margin: 10px 0 20px 10px;
  }
}/*END*/

/*PC幅広*/
@media screen and (min-width:1800px) {
  .plan_list ul li {
  margin: 30px 20px;
}
  
.plan_list ul li .p-plan__img img {
  width: 100%;
  height: 320px;
  object-fit: cover;
}
}


/*プラン　シングル*/
.plan_bk {
  background: #f8f8f7;
  padding: 60px 0;
}
.s-plan--box {
  display: flex;
  justify-content: center;
  padding-bottom: 80px;
}
.s-plan--box p.p_description {
  padding-bottom: 40px;
}

.plan_box {
  max-width: 550px;
  background: #fff;
  padding: 0 50px 100px!important;
}
.plan_box_img {
  max-width: 650px;
}
.plan_box_img img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
.plan_box h2 {
  padding: 60px 0 50px;
  text-align: left;
}
.p-plan_cat_g {
  display: flex;
}
.p-plan_cat_g p {
  padding: 4px 16px;
  border: 1px solid #e7e9ed;
  background: #e7e9ed;
  border-radius: 18px;
  margin: 0 0 20px 20px;
  font-size: 1.4rem;
}

.table-plan tr {
	font-size: 1.5rem;
	border-bottom: #999 1px dotted;
  line-height: 1.4;
}
.table-plan tr:first-of-type {
	border-top: #999 1px solid;
}
.table-plan tr:last-of-type {
	border-bottom: #999 1px solid;
  margin-bottom: 60px;
}
.table-plan th {
	width: 160px;
  padding: 20px;
  text-align: left;
}

.table-plan td {
	width: calc(100% - 160px);
  margin-left: 160px;
  margin-top: -15px;
  padding: 20px;
}


/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width: 896px) {
  .plan_bk {
  padding: 3% 0;
}
  .s-plan--box {
  flex-direction: column;
    padding-bottom: 0;
}
  .plan_box {
    padding: 3% 3% 60px!important;
  }
  .plan_box h2 {
    padding: 30px 0 20px;
  }
  .plan_box_img ul li {
    margin-bottom: 10px;
  }
  .plan_box_img img {
    width: 100%;
    height: 240px;
    object-fit: cover;
  }

	.table-plan tr {
		font-size: 1.3rem;
		padding: 20px 4%;
	}
  .table-plan tr:last-of-type {
    margin-bottom: 20px;
}
	.table-plan th {
		width: 100px;
	}
	.table-plan td {
		margin-left: 100px;
    width: 70%;
	}
 .p-plan_cat_g p {
  padding: 2px 8px;
  border: 1px solid #e7e9ed;
  background: #e7e9ed;
  border-radius: 18px;
  font-size: 1.1rem;
  margin: 0 0 20px 10px;
}
}/*END*/
@media screen and (min-width:1800px) {
  .plan_box {
    width: 720px;
    max-width: 720px;
  }
  .plan_box_img {
    width: 820px;
    max-width: 820px;
  }
  .plan_box_img img {
    height: 500px;
  }
}

/* ------------------------------
 テントサイト　room
------------------------------ */

#room h4 {
	font-size: 2.0rem;
	text-align: center;
	margin-bottom: 40px;
	font-weight: 500;
}
.site_image img {
	width: 100%;
  height: auto;
}

#room .pricecard.room {
  width: 31%;
  margin: 0 auto;
}
#room .pricecard.room img {
  width: 100%;
  height: auto;
}
.room_slider {
  margin-top: -100px;
  padding-top: 100px;
	width: 50%;
}
#room .box {
	margin-bottom: 65px;
}
#room .room_bk {
	background:#d3e1f0;
}
#room .inner {
	display: flex;
	justify-content: space-between;
  padding: 20px;
}
#room .txt {
	width: 600px;
  padding-left: 20px;
	/*margin: 0 auto;*/
}
#room .txt p.type {
	color: #3971b5;
	display: inline-block;
	margin-bottom: 20px;
  font-weight: bold;
  font-size: 24px;
}
#room .txt table {
	border-top: 1px solid #3971b5;
	border-bottom: 1px solid #3971b5;
	width: 100%;
}
#room .txt table tr {
	font-size: 1.6rem;
	border-bottom: 1px dotted #3971b5;
  text-align: left;
}



/*#room .txt table th {
  padding: 16px 25px;
  width: 35%;
}
#room .txt table td {
  padding: 16px 25px;
  width: 65%;
}
#room .list_a table {
	border-top: 1px solid #3971b5;
	border-bottom: 1px solid #3971b5;
	width: 100%;
}
#room .list_a table tr {
	font-size: 1.6rem;
	border-bottom: 1px dotted #3971b5;
  text-align: left;
}
#room .list_a table th {
  padding: 16px 25px;
  width: 25%;
}
#room .list_a table td {
  padding: 16px 25px;
  width: 75%;
}*/

.room_slider {
  margin-top: -100px;
  padding-top: 100px;
	width: 50%;
}
#room .box dl{
  display:flex;
  flex-wrap: wrap;
  font-size: 14px;
  padding: 0 2rem 2rem 4rem;
}
#room .box dt{
  background: #b5cee6;
  width: 30%;
  padding: 20px;
  box-sizing: border-box;
  border-bottom: 1px solid #d3e1f0; 
}
#room .box dd{
  padding: 20px;
  margin: 0;
  width: 70%;
  background: #fff;
  box-sizing: border-box;
  border-bottom: 1px solid #d3e1f0; 
}
#room .list_a ul li {
  display: flex;
  padding: 10px 0;
  border-top: 1px solid #dbdcd7;
}

#room .list_a ul li a {
  padding: 10px;
}
#room .list_a ul li img {
  width: 140px;
  height:100px;
  object-fit: cover;
  max-width: none;
}

#room .box .room_other img {
	width: 500px;
  height: 400px;
  object-fit: cover;
}
#room .box .room_other .room_table {
	padding: 2rem;
}
#room .box p.room_other {
	padding: 2rem 2rem 2rem 4rem;
}

#room .box .line_frame {
  border: 1px solid #555;
}
/*PC*/
@media screen and (min-width: 897px) {
  #room .list_a ul {
    display: flex;
    flex-wrap: wrap;
  }
  #room .list_a ul li {
    display: flex;
    padding: 10px 0;
    border-top: 1px solid #dbdcd7;
    width: 49%;
    margin-right: 2%;
  }
  #room .list_a ul li:nth-child(even) {
    margin-right: 0;
  }
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
  #room .map {
      padding: 0;
    }
  #room .inner {
      flex-direction: column;
    }
  #room .txt {
      width: auto;
    padding-left: 0;
    }
  #room .txt table {
	border-top: none;
	border-bottom: none;
}
  #room .txt table tr {
    border-bottom: none;
  }
	.room_slider {
	width: 100%;
}
   #room .box dl{
    flex-flow: column nowrap;
     padding: 0;
  }
   #room .box dt,
   #room .box dd{
      width: 100%;
    }
  #room .box dd{
      margin-bottom: 10px;
      border-bottom: none;
  }
  #room .box .room_other img {
  height: 240px;
}
/*  #room .list_a table th {
    width: 35%;
  }
  #room .list_a table td {
    width: 65%;
    padding: 16px 20px 16px 0;
  }*/
  #room .box p.room_other {
    padding: 2rem 1rem 2rem 1rem;
  }
}/*END*/
@media screen and (min-width:1400px) {
  #room .txt {
    width: 800px;
}
  #room .box .room_slider {
	width: 800px;
}
}
@media screen and (min-width:1800px) {
  #room .txt {
    width: 1000px;
}
  #room .box .room_slider {
	width: 1000px;
}
}

/* ------------------------------
料金
------------------------------ */
.pricecards{
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
        }
.pricecard{
  flex: 0 0 33%;
  text-align: center;
  border: 1px solid #eee;
  padding-bottom: 1rem;
  box-sizing: border-box;
  margin:0 auto 3em;
        }
        .pricecard{
            border: 3px solid #e7c455;
            padding-bottom: 3rem;
            border-radius: 30px;
            background: #fff;
        }
        .pricecard h3{
            background: #e7c455;
            color: #fff;
            padding: 10px;
            margin: 0;
            font-size: 3rem;
            border-radius: 20px 20px 0 0;
        }

        .pricecard.rental {
            border: 3px solid #3971b5;
            padding-bottom: 3rem;
            border-radius: 30px;
        }
        .pricecard.rental h3{
            background: #3971b5;
            color: #fff;
            padding: 10px;
            margin: 0;
            font-size: 2rem;
            border-radius: 20px 20px 0 0;
        }
        .pricecard.hamanoie {
            border: 3px solid #ae8a19;
            padding-bottom: 3rem;
            border-radius: 30px;
        }
        .pricecard.hamanoie h3{
            background: #ae8a19;
            color: #fff;
            padding: 10px;
            margin: 0;
            font-size: 2rem;
            border-radius: 20px 20px 0 0;
        }
        .pricecard h4{
            font-size: 300%;
            margin: 0 auto;
            padding: 20px;
            color: #8b6f14;
        }
        .pricecard p{
            margin: 0;
            padding: 1rem;
            text-align: left;
        }
        .pricecard a{
            padding: 10px 40px;
            background: #eed689;
            text-decoration: none;
            border-radius: 3px;
            display: inline-block;
        }

.fee_top .supplement {
  padding: 20px 16px;
}
.fee_top .supplement p {
  margin-bottom: 10px;
  line-height: 2;
}
.fee_top .supplement a {
  margin-top: 20px;
  color: #3971b5;
}
.fee_top .ttl_area h2, #room .box h4 {
  margin-top:-100px;
  padding-top:100px;
}
.fee_top table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 18px;
}
.fee_top table tr {
  background-color: #fff;
  /*border-bottom: 2px solid #fff;*/
}
.fee_top table tr:nth-child(even){
  background-color: #f0f5fa;
}
.fee_top table tr.high-s {
  background-color: #f8eecd;
}
.fee_top table tr.top-s {
  background-color: #e5be44;
}


.fee_top table th {
  padding: 15px;
  text-align: right;
  width: 25%;
}
.fee_top table td {
  padding: 15px;
  text-align: right;
  /*width: 75%;*/
}
.fee_top table td.w_free {
  width: 100%;
}
.fee_top table thead th {
    padding: 15px;
  font-weight: bold;
}
.fee_top table thead tr{
  background-color: #3971b5;
  color:#fff;
}
.fee_top table tbody th {
  text-align: left;
}
.fee_top .price{
  text-align: right;
  color: #e25233;
  font-weight: bold;
}

.text_box {
  border: 1px solid #9cadad;
  padding: 32px;
  margin-top: 40px;
}
.text_box p {
  text-align: left;
}
.fee_sl {margin: 40px auto 60px;}
.box_fee {
  padding: 60px 0;
  background: #f8f8f7;
}
.slide_box {
  display: flex;
  width: 100%;
}
.slide_box_re {flex-direction: row-reverse;}
.fee_mainimg {
  max-width: 50%;
  width: 50%;
  height: auto;
}
.fee_mainimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fee_txtarea {
  max-width: 50%;
  background: #f8f8f7;
  padding-bottom: 10px;
}
.textarea_p {
  padding: 3rem;
}
.textarea_p h3 {
  padding: 20px 0 20px;
}
.text_box h3 {
  padding: 0 0 10px;
  font-size: 18px;
}
.bk_bar {
  background-color: #e1eaf6;
  padding: 80px 0;
}
.fee_content_main {
  display: flex;
}
.fee_content_main img {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
}
.fee_content_main figcaption {
  padding: 10px;
  font-size: 16px;
  margin-bottom: 20px;
}
.fee_content ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.fee_content ul li {
  width: 32%;
  background: #f8f8f7;
}
.fee_content ul li p {
  font-size: 16px;
}
.fee_content ul li img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.fee_content_text_area {padding: 10px;}


.payment_img {
  display: flex;
  flex-wrap: wrap;
}
.payment_img li {
  padding: 30px 20px 20px;
  
}
.payment_img li img {
  width: auto;
  height: 60px;
}
.fee_m-card .card_img img {
  width: 400px;
  height: 240px;
  object-fit: cover;
}
.card_area {display: flex;}
.card_area p {
  padding: 20px;
}
.card_terms {
  max-width: 1400px;
  height: auto;
}
.card_terms img {
  width: 100%;
  height: auto;
}


/*fee2022*/
.fee_top table tr.value-s {
  background-color: #cef8ee;
}
.fee_top table tr.on-s {
  background-color: #f1dc9a;
}
.fee_top table tr.high2-s {
  background-color: #f8ced8;
}
/*/fee2022*/

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
.profile_card, .profile_cards {
  flex-direction: column;
  -webkit-flex-direction: column;
}
.pricecard {
  border: 1px solid #e7c455;
  border-radius: 0;
  padding-bottom: 10px;
}
.pricecard h3{
  font-size: 14px;
  border-radius: 0 0 0 0;
}
.pricecard a{
  padding: 10px;
}

.pricecard, .card_photo {
  flex: 0 0 auto;
  -webkit-flex: 0 0 auto;
  width: 100%;
}
.pricecard.premium {
  order: 1;
  -webkit-order: 1;
}
.fee_top table {
    border: 0;
    width:100%
  }
 .fee_top table th{
    display: block;
    border-right: none;
  }
  .fee_top table thead.fee_table {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
.fee_top table tr {
    display: block;
    margin-bottom: .625em;
  }
.fee_top table th,
.fee_top table td,
.fee_top table td.w_free {
  width: auto;
}

.fee_top table td {
    border-bottom: 1px dotted #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: 1.5em 1em 1.5em 2em;
    border-right: none;
    background: #fff;
  }
.fee_top table .high-s th {
  background-color: #f8eecd;
  color: #333333;
}
.fee_top table .top-s th {
  background-color: #e5be44;
  color: #333333;
}
.fee_top table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
    color: #000;
  }
.fee_top table td:last-child {
    border-bottom: 0;
  }
.fee_top table tbody th {
    /*color: #fff;*/
    background-color: #eee;
    padding: 1em
}

.fee_top table tr:nth-child(even){
  background-color: #fff;
}
.fee_top .d-none {
  display: none;
}

.slide_box {
  flex-direction: column;
}
.fee_mainimg {
  max-width: 100%;
  width: 100%;
  height: auto;
}
  
.fee_txtarea {
  max-width: 100%;
}
  
.fee_content_main {
  flex-direction: column;
}
.fee_content ul{
  flex-direction: column;
}
.fee_content ul li {
  width: 100%;
}
.card_area {
  flex-direction: column;
  }

}/*END*/


/*fee2022*/
.fee_top table tr.value-s th {
  background-color: #cef8ee;
}
.fee_top table tr.on-s th {
  background-color: #f1dc9a;
}
.fee_top table tr.high2-s th {
  background-color: #f8ced8;
}
/*/fee2022*/


/* ------------------------------
　カレンダー　プラグイン
------------------------------ */
/*
Calendar Year
*/
#calendar-year .xo-months {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 15px;
	row-gap: 5px;
}
#calendar-year .month-event,
#calendar-year .month-event-space {
	display: none;
}
#calendar-year .other-month {
	display:none;
}
#calendar-year table.xo-month .month-dayname td div,
#calendar-year table.xo-month .month-week,
#calendar-year table.xo-month thead {
	line-height: 1.5em;
	height: 1.5em;
}
@media (max-width: 896px) {
	#calendar-year table.xo-month thead tr {
		display: flex;
	}
	#calendar-year table.xo-month thead tr th {
		width: 14.285%;
	}
}

#calendar-year table.xo-month .month-dayname td div {
	padding: 0;
	text-align: center;
	font-size: 1em;
}
#calendar-year .xo-event-calendar table.xo-month .month-dayname td div,
#calendar-year .xo-event-calendar table.xo-month .month-dayname td div.today {
	color: #333;
	font-weight: normal;
}

@media (max-width: 768px) {
	#calendar-year .xo-months {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Calendar caption */
#calendar-year .xo-month .month-header span.calendar-caption {
	font-size: 0;
}
#calendar-year .xo-month .month-header span.calendar-caption:before {
	font-size: 20px;
}
#calendar-year .xo-month-wrap:nth-child(1) table.xo-month .month-header span.calendar-caption:before {
	content: "1月";
}
#calendar-year .xo-month-wrap:nth-child(2) table.xo-month .month-header span.calendar-caption:before {
	content: "2月";
}
#calendar-year .xo-month-wrap:nth-child(3) table.xo-month .month-header span.calendar-caption:before {
	content: "3月";
}
#calendar-year .xo-month-wrap:nth-child(4) table.xo-month .month-header span.calendar-caption:before {
	content: "4月";
}
#calendar-year .xo-month-wrap:nth-child(5) table.xo-month .month-header span.calendar-caption:before {
	content: "5月";
}
#calendar-year .xo-month-wrap:nth-child(6) table.xo-month .month-header span.calendar-caption:before {
	content: "6月";
}
#calendar-year .xo-month-wrap:nth-child(7) table.xo-month .month-header span.calendar-caption:before {
	content: "7月";
}
#calendar-year .xo-month-wrap:nth-child(8) table.xo-month .month-header span.calendar-caption:before {
	content: "8月";
}
#calendar-year .xo-month-wrap:nth-child(9) table.xo-month .month-header span.calendar-caption:before {
	content: "9月";
}
#calendar-year .xo-month-wrap:nth-child(10) table.xo-month .month-header span.calendar-caption:before {
	content: "10月";
}
#calendar-year .xo-month-wrap:nth-child(11) table.xo-month .month-header span.calendar-caption:before {
	content: "11月";
}
#calendar-year .xo-month-wrap:nth-child(12) table.xo-month .month-header span.calendar-caption:before {
	content: "12月";
}




/* ------------------------------
 QandA
------------------------------ */

/*Q&A　archive-qa.php*/
.qa_bk h3 {padding: 60px 0 20px;}
.qa_bk li {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}
.qa_bk li:last-child {
    border-bottom: none;
}
.qa_bk dt {
    padding-bottom: 20px;
}
.qa_bk dd span {
    display: inline-block;
    margin-left: 30px;
    margin-top: 5px;
    line-height: 1.6;
}
.qa_bk dt::before {
    content: "Q";
    display: inline-block;
    font-size: 3rem;
    padding-right: 10px;
    color: #425667;
}
.qa_bk dd::before {
    content: "A";
    display: inline-block;
    font-size: 3rem;
    padding-right: 10px;
    color: #3971b5;
    position: absolute;
}
.qa_li {
  display: flex;
  flex-wrap: wrap;
}
.qa_li a {
  margin: 30px;
}
.qa_li h3 {
  padding: 20px;
  background: #fff;
  border: #39b57d 1px solid;
}


/*QA シングルphp　A回答を見る*/
.answer_box *, .answer_box *:before, .answer_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.answer_box {
	width: auto;
	margin: 2em auto 1em;
}
.answer_box label {
	font-weight: bold;
	position: absolute;
  right: 100px;
	margin: auto;
	padding: 0.3em 1em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	color: #3971b5;
	border: 2px solid #3971b5;
	border-radius: 3px;
}
.answer_box label:hover {
	transition: all 0.3s;
	color: #ffffff;
	background: #3971b5;
}
.answer_box label::after {
	content: '+';
	color: #3971b5;
}
.answer_box label:hover::after {
	color: #ffffff;
}
.answer_box input:checked ~ label::after {
	content: '-';
	color: #3971b5;
}
.answer_box input:checked ~ label:hover::after {
	color: #ffffff;
}
.answer_box input {
	display: none;
}
.answer_box .answer_container {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
	background: rgba(255, 255, 255, 0.5);
}
.answer_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.answer_box input:checked ~ div.answer_container {
	height: auto;
}
.answer_box > input[type="checkbox"]:checked + label {
  display       : none;
}

/*PC*/
@media screen and (min-width: 897px) {
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
.qa_li a {
  margin: 10px;
  width: 100%;
}
.qa_li h3 {
  padding: 20px;
}
  
.answer_box label {
  right: 6%;
}

}/*END*/

/* ------------------------------
 QandA シングルページ記事内リンク
------------------------------ */

a.link_line {
  text-decoration-line: underline;
  color: #39b57d;
}
span.u_line {
  text-decoration-line: underline;
}



/*
.qa_dl {
	font-size: 1.6rem;
	line-height: 1.7em;
	margin-bottom: 50px;
}
.qa_dl dd {
	text-indent: 1em;
}
.qa_q_text {
	color: #3971b5;
	font-size: 2.0rem;
	font-weight: bold;
}
.qa_a_text {
	color: #425667;
	font-size: 2.0rem;
	font-weight: bold;
}
.qa_mb {
	margin-bottom: 20px;
}


@media screen and (max-width:896px) {
.qa_dl dd {
	text-indent: 0;
}
}*/


/* ------------------------------
 with CORONA 感染症対策ページ
------------------------------ */
.corona .box .meal_mainimg {position: relative;}
.corona .box .meal_mainimg p.corona_cap {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.6);
  padding: 10px 40px;
  color: #fff;
}
.corona .box .meal_txtarea {background: #fff;}
.corona .box .inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.corona .box .inner .main_txt {
  width: 50%;
  padding-right: 20px;
  padding-top: 20px;
}
.corona .box .inner .main_image {width: 50%;}
.corona .box .inner .main_image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
h3.check_mark {
  position: relative;
  padding-left: 2rem;/*アイコン分のスペース*/
  line-height: 1.4;
}
h3.check_mark:before {
  font-family: "Font Awesome 5 Free";
  content: "\f111";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1rem;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 28px;/*アイコンの位置*/
  color: #3971b5; /*アイコン色*/
}

.corona .c_point_box {
  width: 100%;
  display: flex;
  -webkit-flex-wrap: wrap;          /* Safari etc. */
  -ms-flex-wrap    : wrap;          /* IE10        */
  flex-wrap        : wrap;
  justify-content: flex-start;
}
.corona .c_point_box .c_point {
  width: 31%;
  padding-right: 3%;
}
.corona .c_point_box .c_point:nth-child(3) {
  width: 31%;
  padding-right: 0;
}
.corona .c_point_box .c_point p {
  padding: 1rem;
  height: auto;
}

.corona .c_point_box .c_point img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.box_frame {
    position: relative;
    margin: 2rem 1rem;
    padding: 5px 1rem;
    border: solid 1px #3971b5;
    border-radius: 8px;
}
.box_frame .box-title {
    position: absolute;
    display: inline-block;
    top: -8px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 15px;
    background: #f0f5fa;
    color: #3971b5;
    font-weight: bold;
}
.box_frame p {
    margin: 0; 
    padding: 0;
}

/*PC*/
@media screen and (min-width: 897px) {
.corona .box .meal_mainimg { width: 50%;}
.corona .box .meal_mainimg img {width: 100%;}
.corona .box .meal_txtarea {width: 50%;}
}/*END*/

/*Smartphone*/
@media screen and (max-width:896px) {
.corona .box .meal_mainimg p.corona_cap {
  padding: 10px 20px;
}
  
.corona .box .inner {
  flex-direction: column;
}
.corona .box .inner .main_txt {
  width: 100%;
  padding-right: 0;
  padding-bottom: 20px;
  padding-top: 0;
}
.corona .box .inner .main_image {width: 100%;}
.corona .box .inner .main_image img {
  height: 240px;
}
.corona .c_point_box .c_point {
  width: 48%;
}
.corona .c_point_box .c_point:nth-child(3) {
  width: 48%;
  padding-right: 3%;
}
.corona .c_point_box .c_point:nth-child(even) {
  width: 48%;
  padding-right: 0;
}
.corona .c_point_box .c_point p {
  padding: 2rem 0 1rem;
  font-size: 14px;
}
.corona .c_point_box .c_point img {
  height: 140px;
}
.box_frame {
    margin: 2rem 0;
}
.box_frame .box-title {
    padding: 0 2px;
}

}/*END*/

@media screen and (min-width:1800px) {
.corona .c_point_box .c_point img {
  height: 400px;
}
}/*END*/


/* ------------------------------
 ご予約の前に　NOTES
------------------------------ */
.notes_top .notes_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.notes_top .notes_link li {
  width: 31%;
}
.notes_top .notes_link li h3 {
  border-radius: 20px;
  padding: 20px;
  margin: 10px 0;
  background: #fff;
  border: #39b57d 1px solid;
}
.c_policy_bk {
  background: #fff;
  padding: 30px 30px;
}

.c_policy_bk p {
  padding-bottom: 30px;
}
p span.u_line {
  text-decoration-line: underline;
}

/*続きを読む*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	content: '続きをよむ';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	background-color: #5b8ecb;
  font-size: 15px;
  padding: 5px;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 250px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	content: '閉じる';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}


/*Smartphone*/
@media screen and (max-width:896px) {
    .notes_top .notes_link li {
      width: 100%;
    }
    .c_policy_bk {
      padding: 0 20px;
    }
}/*END*/

