@charset "utf-8";
/* CSS Document */


/*=================================
   bace
  =================================*/
html{
  font-size: 62.5%;
  scroll-behavior: smooth;	
}
body{
  color: #000000;
  font-size: 1.7rem;
  line-height: 1.6em;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
font-weight: 300;	
}
*{
 box-sizing: border-box;
}
a{
  color: #000000;
}

img{
  max-width: 100%;
  height: auto;
}

header a:hover, footer a:hover {
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
  opacity: 0.6;
}

/*=================================
   common
  =================================*/
/*  flexbox
-------------------------*/
.flexbox {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flexbox959{
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flexbox-w {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flexbox-sp {
  display: -webkit-flex;
  display:    -moz-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.s-between{
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.f-container { 
	justify-content: center; 
}

.h-center{
 align-items: center;
}

/*  float
-------------------------*/
.float-right{
  float: right;
}
.float-right::after{
  clear: both;
}
.float-left{
  float: left;
}
.float-left::after{
  clear: both;
}

@media screen and (max-width:959px){

.flexbox959 {
    display: block;
  }
	
}	
	
/*=================================
 * media (sp)
  =================================*/
@media screen and (max-width:560px){
  /*=================================
     bace (sp)
    =================================*/
  body{
    font-size: 1.7rem;
    line-height: 1.7em;
  }

  /*=================================
     common (sp)
    =================================*/
	
  /*  flexbox
  -------------------------*/
  .flexbox {
    display: block;
  }
	
  }



/*  inner
-------------------------*/
.inner{
width: 90%;
margin: 0 auto;
}

@media screen and (min-width: 1140px) {
.inner{
 width: 1100px;
}	
	
	
}

/*  inner2
-------------------------*/
.inner2{
width: 90%;
margin: 0 auto;
}

/*
@media screen and (min-width: 1260px) {
.inner2{
 width: 1260px;
}	
	
}
*/


/*=================================
   main
  =================================*/
main{
	position: relative;
	top: 80px;
}

@media screen and (max-width: 834px) {
main {
	position: relative;
	top:64px;
}
	
  }


/*=================================
   footer
  =================================*/
footer{
/*position: relative;	footer上でpagetopをストップさせる*/
padding-bottom: 30px;
margin-top: -8px;
background: #d1c2b2;
}

#footer{
	
}



.copyright{
font-size: 1.3rem;
padding: 10px 0 30px;
text-align: center;	
border-top: #fff solid 1px;
}

@media screen and (max-width:560px){

footer{
margin-top: -9px;
}
	
}

/*-----------------------------------------------
page-top
----------------------------------------------- */		
.page-top {
	z-index: 100;
	/*position: fixed;
	bottom: 0px;
	right: 20px;
	*/
	text-align: right;
	margin-top: 80px;
	position: relative;
}

.page-top img{
	width: 60px;height: auto;
}

@media screen and (max-width:560px){
.page-top {

}	
}


/*=================================
   page-top-img(ヘッダ)
  =================================*/

.page-main-img{	
background:#fff;	
}


.page-main-img .page-main-img-inner{
	padding: 1em 0 0;
}

.page-main-img .page-main-img-inner p{
text-align: center;
margin:auto;
padding-bottom: 1em;	
}







/*=================================
   headerここまで
  =================================*/


/*=================================
   見出し
  =================================*/

.common_title h2 {
	font-size: 31px;
    font-weight: 600;
    line-height: 1.4;
}


.common_title01 {
  width: 520px;
  margin: 0 auto;
}	
	
.common_title01 h2 {
  position: relative;
  line-height: 60px;
  height: 60px;
  margin: 10px 50px 1em;
  padding: 0 2rem;
  text-align: center;
  color: #000;
  background: #f3d64f;
	font-size: 28px;
}

/* ▼ リボン三角 */
.common_title01 h2::before,
.common_title01 h2::after {
  position: absolute;
  top: 0;
  content: '';
  border: 30px solid #f3d64f;
}

.common_title01 h2::before {
  left: -40px;
  border-left-width: 15px;
  border-left-color: transparent;
}

.common_title01 h2::after {
  right: -40px;
  border-right-width: 15px;
  border-right-color: transparent;
}

/* ===== 白ライン（内側にずらす）===== */
.common_title01 h2 span {
  position: relative;
  display: block;
}

.common_title01 h2 span::before,
.common_title01 h2 span::after {
  content: "";
  position: absolute;
  left: -60px;
  right: -60px;
  height: 2px;
  background: #fff;
  z-index: 3;
}

/* ▼ 少し内側に */
.common_title01 h2 span::before {
  top: 6px;
}

.common_title01 h2 span::after {
  bottom: 6px;
}


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

.common_title01 {
  width: 100%;
	margin: auto;
	text-align: center;

}
	
.common_title01 h2 {
	font-size: 21px;
	  margin: 10px 30px 1em;	
}
	

	
}


/*=================================
   top-main-images
  =================================*/
.top_main_area{  
	background-image: url("../images/bg_pc.png");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}




.top_main{  
	margin:10px auto;
	padding: 20px;
	text-align: center;
  }
  
.top_main img{  
	max-width: 1100px;
	width: 100%;
  }




.top_text .text_area {
	flex: 1;      /* ← テキストが可変 */
	font-size: 26px;
	line-height: 1.4;
}

.point_icon img {
	flex: 0 0 auto;  /* ← 画像は固定 */
	margin-top: -50px;
	max-width: 190px;
}



@media screen and (max-width:768px){
	
.top_main_area{  
	background-image: url("../images/bg_sp.png");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
	
.top_text .text_area {
	flex: 1;      /* ← テキストが可変 */
	font-size: 21px;
}
	
.point_icon {
	text-align: right;
}	
	
.point_icon img {
	margin-top: -50px;
	max-width: 90px;
}	
	
}


/*=================================
   スマホスライド
  =================================*/
.benefits_area{
  display: none;
}

@media screen and (max-width:560px){

  .benefits_area{
	display: block;  /* ← 表示 */  
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px 0;
    margin-right: calc(50% - 50vw);
    margin-bottom: 20px;
  }

  .benefits_area ul{
    display: flex;
    padding: 0;
    margin:  0;
    list-style: none;
  }

  .benefits_area li{
    flex: 0 0 auto;   /* ← これが重要 */
  }
	
  .benefits_area li:last-child{
    padding-right: 20px;
  }	

  .benefits_area img{
    height: 270px;    /* 高さ固定 */
    width: auto;      /* 横は元サイズ */
    display: block;
  }
	
.benefits_area::-webkit-scrollbar {
  display: none;
}
	

}


/*=================================
   スムーズスクロール位置
  =================================*/
#sec1, #sec2, #sec3, #sec4, #sec5, #sec6, #sec7{
  scroll-margin-top: 100px;
}

@media screen and (max-width: 560px){
	
#sec1, #sec2, #sec3, #sec4, #sec5, #sec6, #sec7{
  scroll-margin-top: 100px;
}
	
}



/*=================================
  予約ボタン(右上)
  =================================*/
 .reserve_icon{
	position: fixed;
	top:100px;
	right: 0%;
	z-index: 10!important;
	display: block;
	 font-weight: 500;
}

.reserve_icon li{
	z-index: 9999;/*ボタンを最前面に*/
	background: #fff;
	
	margin-bottom: 10px;
	width: 55px;

	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;

	display: flex;
	justify-content: center;
	align-items: center;
	color: #6a3906;
	border-radius:  10px 0px 0px 10px;
	color: #6a3906;
border-top: 2px solid #9e8c73;
border-bottom: 2px solid #9e8c73;
border-left: 2px solid #9e8c73;		
}

.reserve_icon li:nth-child(1) {
padding: 0.8em 0.1em 0.8em 0;
font-size: 18px;
vertical-align: middle;
text-align: center;
}

.reserve_icon li:nth-child(2) {
padding: 0.8em 0em 0.8em 0;	
}


.reserve_icon img{
	width: 	27px;
	height: auto;
}

.reserve_icon a{
	color: #6a3906;
}


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

.reserve_icon_sp {
	display: none;
}
	
}


@media screen and (max-width:834px){
	
.reserve_icon_sp {
	position: fixed;
	bottom: 0px;
	z-index: 100;
	width: 100%;
	padding: 0 10px;
	align-items: center;
}
	
.reserve_icon_sp li{
z-index: 9999;/*ボタンを最前面に*/
background: #fff;
margin: 0 5px;
text-align: center;	
padding: 8px 0 3px 0;
height: 50px;
border-radius:  15px 15px 0px 0px;
font-size: 16px;
font-weight: 500;
border-top: 2px solid #9e8c73;
border-left: 2px solid #9e8c73;
border-right: 2px solid #9e8c73;	
}	

.reserve_icon_sp li:nth-child(1){
	flex: 3;
	padding-top: 10px;
}

.reserve_icon_sp li:nth-child(2){
	flex: 1;
	width: 90px;
	
}


.reserve_icon_sp a{
	color: #6a3906;
}

.reserve_icon_sp img{
	width: 	27px;
	height: auto;
	padding-top: 5px;
}	
	
}


/*=================================
メールと電話 共通
  =================================*/
.tel_mail{
	padding: 20px 20px;
	}


/*tel*/
.tel_area{
justify-content: center;
align-items: center;
margin-left: 20px;
color: #6a3906;
font-weight: 600;	
}


.tel-img::before {
    content: url(../images/tel.svg);
    display: inline-block;
    vertical-align: top;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

.tel-img a {
	color: #6a3906;	
	font-weight: 700;
	
}

.tel-img{
	font-size: 3.5rem;
}



@media screen and (max-width:560px){

.tel_area{
	text-align: center;
	margin: auto;
	font-size: 15px;
}
	
.tel-img::before {
    content: url(../images/tel.svg);
    display: inline-block;
    vertical-align: top;
    -webkit-transform: scale(1);
    transform: scale(1);
	margin-top: 2px;
}
	
	
}




/*メール*/

.mail_area a{
background: #6a3906;
border-radius: 50px;
max-width: 580px;
justify-content: center;
align-items: center;
padding: 0.7em 50px;
margin:20px auto;
text-align: center;
font-size: 20px;
display: block;
color: #fff;
line-height: 1.5;
padding-top: 17px;	
}

.mail_area a:hover{
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
  opacity: 0.6;
}

.mail-img::before {
    content: url(../images/mail_r.svg);
    display: inline-block;
    vertical-align:middle;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
	margin-top: 0px;
}



@media screen and (max-width:560px){
	
.mail_area a{
border-radius: 60px;
font-size: 16px;	
}	
	
.mail-img::before {
    content: url(../images/mail_r.svg);
    display: block;
    vertical-align:middle;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
	margin-top: 0px;
}
	
	
}










	
/*=================================
レイアウト
  =================================*/
.btn-area {
position: absolute;	
margin-bottom: 30px;
top: 95%;
left: 50%;
  -ms-transform: translate(-50%,-95%);
  -webkit-transform: translate(-50%,-95%);
  transform: translate(-50%,-95%);
}

@media screen and (max-width: 560px) {
	
.btn-area {
position: initial;	
margin-bottom: 30px;
top: 95%;
left: initial;
  -ms-transform: initial;
  -webkit-transform: initial;
  transform: initial;
}
	
}	

/*=================================
ボタン
  =================================*/
a.link_btn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 320px;
	margin: auto;
	background: #eb681f;
	border-radius: 30px;
	text-align: center;
	padding: 0.6em 1em;
	font-weight: 700;
	font-size: 1.4em;
	transition: 0.5s;
	border: 2px solid #eb681f;
	color: #fff;
}

a.link_btn:hover {
	color: #eb681f!important;
	background: #fff;
	opacity: 1;
}



@media screen and (max-width: 560px) {
	
.link_btn {
	width: 80%;
	margin: auto;
	text-align: center;
}	
	
}	






/*=================================
ここまで
  =================================*/

/*=================================
ボタン
  =================================*/
.top-btn01 {
    position: relative;
    margin: 20px auto 10px;
    display: block;
    width: 250px;
    padding: 10px 0;
    background: #8f1f41;
    color: #FFFFFF;
    text-decoration: none;
	text-align: center;
}


.top-btn01::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 9px;
    height: 9px;
    transform: rotate(45deg);
}

main a:hover{
    opacity: .6;
  -webkit-transition: all .4s ease;
  -o-transition: all .4s ease;
  transition: all .4s ease;
}

/*=================================
   共通 
  =================================*/
.parts_center {text-align: center!important;}
.parts_right {text-align: right!important; }
.parts_left {text-align: left !important;  }
.pc-center{text-align: center;   }

.space-top10{margin-top: 10px;}
.space-top20{margin-top: 20px;}
.space-top50{margin-top: 50px;}

.space-top1{margin-top: 1em;}
.space-top3{margin-top: 3em;}
.space-top5{margin-top: 5em;}

.text-size13{font-size: 13px!important;}
.text-size15{font-size: 15px!important;}

.font-futoji600 {font-weight: 600;}

.text-common{line-height: 2.5em;}

.bg-color{background-color: #d1c2b2;padding: 1.5em;}

.font-red {color: #FF0200;}

.kome{
padding-left:1em;
text-indent:-1em;
}

.clears{clear:both;}

.clearfix { display: inline-block; }

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.display-pc { display: block !important; }
.display-sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 560px) {
.display-pc { display: none !important; }
.display-sp { display: block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.display-pc834 { display: block !important; }
.display-sp834 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 834px) {
.display-pc834 { display: none !important; }
.display-sp834 { display: block !important; }
}

@media only screen and (max-width: 768px){
.pc-center{text-align:left;}
.postWrap{padding:0px 10px;}	
}	

/* pc改行<br class="br-pc">,　sp改行<br class="br-sp">  */
@media screen and (min-width: 768px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 768px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/* pc改行<br class="br-pc560">,　sp改行<br class="br-sp560">  */
@media screen and (min-width: 560px){	
  .br-pc560 { display:block; }
  .br-sp560 { display:none; }
}
@media screen and (max-width: 560px){	
  .br-pc560 { display:none; }
  .br-sp560 { display:block; }
}

@media screen and (max-width: 560px){	
.break-box {
   display: flex;            /*flexコンテナ化 */
   flex-direction: column;  /*縦向きに配置 */
}

.turns1 { order: 1; }   /* 配置順を1番目に */		
.turns2 { order: 2; }   /* 配置順を2番目に */	
	
}


